From owner-p4-projects@FreeBSD.ORG Sun Aug 27 02:22:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4470E16A4E1; Sun, 27 Aug 2006 02:22:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2191016A4DA for ; Sun, 27 Aug 2006 02:22:33 +0000 (UTC) (envelope-from trhodes@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E088E43D46 for ; Sun, 27 Aug 2006 02:22:32 +0000 (GMT) (envelope-from trhodes@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R2MWgd054147 for ; Sun, 27 Aug 2006 02:22:32 GMT (envelope-from trhodes@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R2MWwH054144 for perforce@freebsd.org; Sun, 27 Aug 2006 02:22:32 GMT (envelope-from trhodes@freebsd.org) Date: Sun, 27 Aug 2006 02:22:32 GMT Message-Id: <200608270222.k7R2MWwH054144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trhodes@freebsd.org using -f From: Tom Rhodes To: Perforce Change Reviews Cc: Subject: PERFORCE change 105156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 02:22:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105156 Change 105156 by trhodes@trhodes_local on 2006/08/27 02:21:37 Spelling issues. Noticed by: Daniel Affected files ... .. //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#15 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#15 (text+ko) ==== @@ -34,7 +34,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#14 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#15 $ */ #ifndef _AUDIT_INTERNAL_H @@ -70,9 +70,9 @@ /* * We could determined the header and trailer sizes by defining appropriate - * structures. We hold off that approach until we have a consistant way of + * structures. We hold off that approach until we have a consistent way of * using structures for all tokens. This is not straightforward since these - * token structures may contain pointers of whose contents we dont know the + * token structures may contain pointers of whose contents we do not know the * size (e.g text tokens). */ #define AUDIT_HEADER_SIZE 18 From owner-p4-projects@FreeBSD.ORG Sun Aug 27 04:13:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FFFA16A4E2; Sun, 27 Aug 2006 04:13:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC51D16A4DE for ; Sun, 27 Aug 2006 04:13:55 +0000 (UTC) (envelope-from yuanjue@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B29C43D58 for ; Sun, 27 Aug 2006 04:13:55 +0000 (GMT) (envelope-from yuanjue@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R4DtUJ064160 for ; Sun, 27 Aug 2006 04:13:55 GMT (envelope-from yuanjue@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R4DtTk064157 for perforce@freebsd.org; Sun, 27 Aug 2006 04:13:55 GMT (envelope-from yuanjue@FreeBSD.org) Date: Sun, 27 Aug 2006 04:13:55 GMT Message-Id: <200608270413.k7R4DtTk064157@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to yuanjue@FreeBSD.org using -f From: Jue Yuan To: Perforce Change Reviews Cc: Subject: PERFORCE change 105159 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 04:13:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=105159 Change 105159 by yuanjue@maver-freebsd on 2006/08/27 04:13:38 the config file used for compiling kernel, and a shell script to ease the work. Affected files ... .. //depot/projects/soc2006/yuanjue-xen3/src/sys/i386-xen/conf/XENCONF-INSTALL#1 add .. //depot/projects/soc2006/yuanjue-xen3/src/sys/i386-xen/conf/XENCONF-STD#1 add .. //depot/projects/soc2006/yuanjue-xen3/src/sys/i386-xen/conf/makekernel.sh#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Aug 27 05:39:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D98A16A4DF; Sun, 27 Aug 2006 05:39:48 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 23C9816A4DA for ; Sun, 27 Aug 2006 05:39:48 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B1BDB43D46 for ; Sun, 27 Aug 2006 05:39:43 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R5dhbB076896 for ; Sun, 27 Aug 2006 05:39:43 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R5dhGo076893 for perforce@freebsd.org; Sun, 27 Aug 2006 05:39:43 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 05:39:43 GMT Message-Id: <200608270539.k7R5dhGo076893@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105161 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 05:39:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=105161 Change 105161 by als@als_head on 2006/08/27 05:39:03 whitespace fixes, add assert Affected files ... .. //depot/projects/jail2/sys/kern/kern_descrip.c#5 edit Differences ... ==== //depot/projects/jail2/sys/kern/kern_descrip.c#5 (text+ko) ==== @@ -1350,14 +1350,14 @@ int maxuserfiles = maxfiles - (maxfiles / 20); static struct timeval lastfail; static int curfail; -#ifdef JAIL +#ifdef JAIL struct prison *jail = td->td_ucred->cr_prison; #endif fp = uma_zalloc(file_zone, M_WAITOK | M_ZERO); sx_xlock(&filelist_lock); -#ifdef JAIL +#ifdef JAIL if ((openfiles >= maxuserfiles && suser_cred(td->td_ucred, SUSER_RUID) != 0) || !JAIL_CAN_OPENFILE(jail) || openfiles >= maxfiles) { #else @@ -2187,10 +2187,11 @@ fdrop_locked(struct file *fp, struct thread *td) { int error; -#ifdef JAIL +#ifdef JAIL struct prison *jail = fp->f_cred->cr_prison; + + KASSERT(td->td_ucred->cr_prison == jail, ("File closed at different context!")); #endif - FILE_LOCK_ASSERT(fp, MA_OWNED); if (--fp->f_count > 0) { @@ -2210,7 +2211,7 @@ LIST_REMOVE(fp, f_list); openfiles--; sx_xunlock(&filelist_lock); -#ifdef JAIL +#ifdef JAIL JAIL_CLOSEFILE(jail); #endif crfree(fp->f_cred); @@ -2459,7 +2460,6 @@ struct file *fp; struct proc *p; int error, n; - /* * Note: because the number of file descriptors is calculated * in different ways for sizing vs returning the data, @@ -2614,7 +2614,7 @@ struct prison *jail = req->td->td_ucred->cr_prison; int error; int32_t maxfile = JAIL_FILE_GETLIMIT(jail); - + if (maxfile == 0) { maxfile = maxfiles; } @@ -2623,7 +2623,7 @@ return (error); if (jail != &jail_0) return (EPERM); - + /* Read in and verify the new value. */ error = SYSCTL_IN(req, &maxfile, sizeof(int)); if (error) @@ -2631,8 +2631,8 @@ if (maxfile <= 0) return (EINVAL); maxfiles = maxfile; + return (0); - } SYSCTL_PROC(_kern, OID_AUTO, maxfiles, CTLTYPE_INT | CTLFLAG_RW, @@ -2644,7 +2644,7 @@ { struct prison *jail = req->td->td_ucred->cr_prison; uint32_t fdcount = JAIL_FILE_GETCOUNT(jail); - + return SYSCTL_OUT(req, &fdcount, sizeof(int)); } @@ -2658,7 +2658,7 @@ SYSCTL_INT(_kern, OID_AUTO, openfiles, CTLFLAG_RD, &openfiles, 0, "System-wide number of open files"); - + #endif /* ARGSUSED*/ From owner-p4-projects@FreeBSD.ORG Sun Aug 27 07:16:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F385E16A4E7; Sun, 27 Aug 2006 07:16:47 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF6BE16A4DF for ; Sun, 27 Aug 2006 07:16:47 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61CB143D5A for ; Sun, 27 Aug 2006 07:16:47 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R7GluG083877 for ; Sun, 27 Aug 2006 07:16:47 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R7GlUJ083874 for perforce@freebsd.org; Sun, 27 Aug 2006 07:16:47 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 07:16:47 GMT Message-Id: <200608270716.k7R7GlUJ083874@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105162 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 07:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=105162 Change 105162 by als@als_head on 2006/08/27 07:16:10 fix assert - nfsd call closef() without any thread specificated. Affected files ... .. //depot/projects/jail2/sys/kern/kern_descrip.c#6 edit Differences ... ==== //depot/projects/jail2/sys/kern/kern_descrip.c#6 (text+ko) ==== @@ -2190,7 +2190,7 @@ #ifdef JAIL struct prison *jail = fp->f_cred->cr_prison; - KASSERT(td->td_ucred->cr_prison == jail, ("File closed at different context!")); + KASSERT((td == NULL || td->td_ucred->cr_prison == jail), ("File closed at different context!")); #endif FILE_LOCK_ASSERT(fp, MA_OWNED); From owner-p4-projects@FreeBSD.ORG Sun Aug 27 08:14:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C85616A4E1; Sun, 27 Aug 2006 08:14:00 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D2F6B16A4DA for ; Sun, 27 Aug 2006 08:13:59 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1FC943D77 for ; Sun, 27 Aug 2006 08:13:59 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R8DxkC091498 for ; Sun, 27 Aug 2006 08:13:59 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R8DxFN091495 for perforce@freebsd.org; Sun, 27 Aug 2006 08:13:59 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 08:13:59 GMT Message-Id: <200608270813.k7R8DxFN091495@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105164 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 08:14:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=105164 Change 105164 by als@als_head on 2006/08/27 08:13:41 temporary disable assert because files curently don`t migrate between context with task. Affected files ... .. //depot/projects/jail2/sys/kern/kern_descrip.c#7 edit Differences ... ==== //depot/projects/jail2/sys/kern/kern_descrip.c#7 (text+ko) ==== @@ -2190,7 +2190,7 @@ #ifdef JAIL struct prison *jail = fp->f_cred->cr_prison; - KASSERT((td == NULL || td->td_ucred->cr_prison == jail), ("File closed at different context!")); +// KASSERT((td == NULL || td->td_ucred->cr_prison == jail), ("File closed at different context!")); #endif FILE_LOCK_ASSERT(fp, MA_OWNED); From owner-p4-projects@FreeBSD.ORG Sun Aug 27 08:44:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D266E16A4E1; Sun, 27 Aug 2006 08:44:40 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94B7116A4DA for ; Sun, 27 Aug 2006 08:44:40 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77AAF43D60 for ; Sun, 27 Aug 2006 08:44:39 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R8idQ5093558 for ; Sun, 27 Aug 2006 08:44:39 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R8idXR093555 for perforce@freebsd.org; Sun, 27 Aug 2006 08:44:39 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 08:44:39 GMT Message-Id: <200608270844.k7R8idXR093555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105165 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 08:44:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=105165 Change 105165 by als@als_head on 2006/08/27 08:44:04 kill duplicate code Affected files ... .. //depot/projects/jail2/sys/sys/jail2_task.h#2 edit Differences ... ==== //depot/projects/jail2/sys/sys/jail2_task.h#2 (text+ko) ==== @@ -11,7 +11,7 @@ struct jail_tasks { uint32_t jt_count; /* (p) total process count */ uint32_t jt_limit; /* (p) limits process in jail */ -/* */ +/* */ uint32_t jt_hcpu_limit; /* (a) hard cpu usage limit */ uint32_t jt_qcpu_limit; /* (a) quarantee cpu usage limit */ uint32_t jt_cpu_used; /* (a) total cpu usage in context */ @@ -32,11 +32,11 @@ (pr)->pr_tasks.jt_next_timer = 0; \ } -#define JAIL_NPROCS(prison) ((prison)->pr_tasks.jt_count) -#define JAIL_MAXPROC(prison) ((prison)->pr_tasks.jt_limit) +#define JAIL_NPROCS(prison) ((prison)->pr_tasks.jt_count) +#define JAIL_MAXPROC(prison) ((prison)->pr_tasks.jt_limit) -#define JAIL_CAN_FORK(prison) (JAIL_STARTED(prison) && \ - (!JAIL_HAVE_PROCLIMIT(prison) || \ +#define JAIL_CAN_FORK(prison) (JAIL_STARTED(prison) && \ + (!JAIL_HAVE_PROCLIMIT(prison) || \ (JAIL_HAVE_PROCLIMIT(prison) && (JAIL_NPROCS(prison) <= JAIL_MAXPROC(prison))))) static inline void @@ -45,7 +45,7 @@ jt->jt_count++; } -static inline void +static inline void jail_task_del(struct jail_tasks *jt, struct proc *p) { jt->jt_count--; @@ -53,58 +53,4 @@ #endif /* _KERNEL */ #endif /* !_SYS_JAIL_TASKS_H_ */ -#ifndef _SYS_JAIL_TASKS_H_ - -#define _SYS_JAIL_TASKS_H_ - -#if defined(_KERNEL) || defined(_WANT_PRISON) - -/* - * (p) under allproclock or atomic - * (a) atomic - */ -struct jail_tasks { - uint32_t jt_count; /* (p) total process count */ - uint32_t jt_limit; /* (p) limits process in jail */ -/* */ - uint32_t jt_hcpu_limit; /* (a) hard cpu usage limit */ - uint32_t jt_qcpu_limit; /* (a) quarantee cpu usage limit */ - uint32_t jt_cpu_used; /* (a) total cpu usage in context */ - uint32_t jt_prio; /* (a) priority beetwen contexts */ - uint64_t jt_next_timer; /* (a) time end of limit */ -}; -#endif -#ifdef _KERNEL -#include - -#define JAIL_TASKS_INIT(pr) {(pr)->pr_tasks.jt_count = 0; \ - (pr)->pr_tasks.jt_limit = 0; \ - (pr)->pr_tasks.jt_hcpu_limit = 0; \ - (pr)->pr_tasks.jt_qcpu_limit = 0; \ - (pr)->pr_tasks.jt_cpu_used = 0; \ - (pr)->pr_tasks.jt_prio = 0; \ - (pr)->pr_tasks.jt_next_timer = 0; \ - } - -#define JAIL_NPROCS(prison) ((prison)->pr_tasks.jt_count) -#define JAIL_MAXPROC(prison) ((prison)->pr_tasks.jt_limit) - -#define JAIL_CAN_FORK(prison) (JAIL_STARTED(prison) && \ - (!JAIL_HAVE_PROCLIMIT(prison) || \ - (JAIL_HAVE_PROCLIMIT(prison) && (JAIL_NPROCS(prison) <= JAIL_MAXPROC(prison))))) - -static inline void -jail_task_add(struct jail_tasks *jt, struct proc *p) -{ - jt->jt_count++; -} - -static inline void -jail_task_del(struct jail_tasks *jt, struct proc *p) -{ - jt->jt_count--; -} -#endif /* _KERNEL */ - -#endif /* !_SYS_JAIL_TASKS_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Aug 27 08:58:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29F2F16A4DF; Sun, 27 Aug 2006 08:58:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E276816A4DD for ; Sun, 27 Aug 2006 08:58:58 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B237B43D46 for ; Sun, 27 Aug 2006 08:58:58 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R8wwNU002264 for ; Sun, 27 Aug 2006 08:58:58 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R8wwer002261 for perforce@freebsd.org; Sun, 27 Aug 2006 08:58:58 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 08:58:58 GMT Message-Id: <200608270858.k7R8wwer002261@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 08:58:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=105167 Change 105167 by als@als_head on 2006/08/27 08:58:34 kill duplicate code Affected files ... .. //depot/projects/jail2/sys/sys/jail2_network.h#2 edit Differences ... ==== //depot/projects/jail2/sys/sys/jail2_network.h#2 (text+ko) ==== @@ -13,18 +13,3 @@ #endif /* !_KERNEL */ #endif /* !_SYS_JAIL_NETWORK_H_ */ -#ifndef _SYS_JAIL_NETWORK_H_ -#define _SYS_JAIL_NETWORK_H_ - -struct jail2_ipv4addr { - uint32_t addr; - uint32_t mask; -}; - -#if defined(_KERNEL) || defined(_WANT_PRISON) -struct jail_network { - uint32_t pr_ip; /* (c) ip addr host */ -}; - -#endif /* !_KERNEL */ -#endif /* !_SYS_JAIL_NETWORK_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Aug 27 09:20:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1273716A4DF; Sun, 27 Aug 2006 09:20:46 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C637016A4DD for ; Sun, 27 Aug 2006 09:20:45 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7AE7C43D45 for ; Sun, 27 Aug 2006 09:20:45 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R9KjTA004624 for ; Sun, 27 Aug 2006 09:20:45 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R9KjoI004620 for perforce@freebsd.org; Sun, 27 Aug 2006 09:20:45 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 09:20:45 GMT Message-Id: <200608270920.k7R9KjoI004620@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105170 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 09:20:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105170 Change 105170 by als@als_head on 2006/08/27 09:20:22 export task count limit Affected files ... .. //depot/projects/jail2/j2_tools/jctl/jctl.c#3 edit .. //depot/projects/jail2/sys/kern/kern_jail2_common.c#2 edit .. //depot/projects/jail2/sys/sys/jail2.h#4 edit Differences ... ==== //depot/projects/jail2/j2_tools/jctl/jctl.c#3 (text+ko) ==== @@ -74,7 +74,7 @@ printf("CPU limits\t%u:%u\n", jst->cpulow, jst->cpuhigh); printf("CPU usage\t%u\n", jst->cpuusage); printf("\t\tallocate limit\n"); - printf("Task count %u \n", jst->taskcount); + printf("Tasks %u %u\n", jst->taskcount, jst->tasklimit); printf("Message queue %u %u\n", jst->msq_count, jst->msq_limit); printf("Semaphore %u %u\n", jst->sem_count, jst->sem_limit); printf("Shared segments %u %u\n", jst->shm_count, jst->shm_limit); ==== //depot/projects/jail2/sys/kern/kern_jail2_common.c#2 (text+ko) ==== @@ -46,9 +46,9 @@ { struct prison *pr = NULL; int ret = 0; - + jprint("jail2_command %d ctx: %d \n", JAIL2_CMD(j->cmd), j->ctx_id); - + if (JAIL2_CMD(j->cmd) != J_CREATE) { mtx_lock(&allprison_mtx); pr = prison_find(j->ctx_id); @@ -58,7 +58,7 @@ return (ESRCH); } } - + switch(JAIL2_CMD(j->cmd)) { case J_CREATE: { @@ -102,23 +102,25 @@ case J_SETFLAGS: { uint32_t flags; - + ret = copyin(j->data, &flags, sizeof(flags)); if (ret) return (ret); - + JAIL_SET_FLAGS(pr, flags); break; } case J_STATS: { struct jail2_stats st; - + memset(&st,0,sizeof(st)); st.version = JAIL2_STATS_VER; st.id = pr->pr_id; st.v1.flags = JAIL_GET_FLAGS(pr); + /* */ st.v1.taskcount = JAIL_NPROCS(pr); + st.v1.tasklimit = JAIL_MAXPROC(pr); /* */ st.v1.msq_count = JAIL_IPC_MSG_GETCOUNT(pr); st.v1.msq_limit = JAIL_IPC_MSG_GETLIMIT(pr); @@ -128,167 +130,20 @@ st.v1.shm_limit = JAIL_IPC_SHM_GETLIMIT(pr); /* */ st.v1.fdcount = JAIL_FILE_GETCOUNT(pr); - st.v1.fdlimit = JAIL_FILE_GETLIMIT(pr); + st.v1.fdlimit = JAIL_FILE_GETLIMIT(pr); ret = copyout(&st,j->data,sizeof(st)); - + break; } default: ret = EOPNOTSUPP; break; } - + /* remove refs from find/create */ if (pr!=NULL) - prison_free(pr); - jprint("jail2_command return %d\n", ret); - return (ret); -} -/* - * Copyright (c) 2004 Alex Lyashkov - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#define jprint(a...) -/* printf(a) */ - -int jail2_common(struct thread *td, struct jail_2 *j) -{ - struct prison *pr = NULL; - int ret = 0; - - jprint("jail2_command %d ctx: %d \n", JAIL2_CMD(j->cmd), j->ctx_id); - - if (JAIL2_CMD(j->cmd) != J_CREATE) { - mtx_lock(&allprison_mtx); - pr = prison_find(j->ctx_id); - mtx_unlock(&allprison_mtx); - if (pr == NULL) { - printf("Prison not found for command %x\n", j->cmd); - return (ESRCH); - } - } - - switch(JAIL2_CMD(j->cmd)) { - case J_CREATE: - { - /* not found - create */ - pr = prison_alloc(j->ctx_id); - jprint("prison_alloc return %p\n",pr); - if (pr == NULL) { - ret = ENOMEM; - break; - } - prison_hold(pr); - break; - } - case J_DESTROY: - { - /* remove hold */ prison_free(pr); - break; - } - case J_ENTER: - { - ret = suser(td); - if (ret) { - ret = EPERM; - break; - } - - ret = jail_migrate(td, pr); - break; - } - case J_START: - { - JAIL_SET_STARTED(pr); - break; - } - case J_STOP: - { - JAIL_CLEAR_STARTED(pr); - break; - } - case J_SETFLAGS: - { - uint32_t flags; - - ret = copyin(j->data, &flags, sizeof(flags)); - if (ret) - return (ret); - - JAIL_SET_FLAGS(pr, flags); - break; - } - case J_STATS: - { - struct jail2_stats st; - - memset(&st,0,sizeof(st)); - st.version = JAIL2_STATS_VER; - st.id = pr->pr_id; - st.v1.flags = JAIL_GET_FLAGS(pr); - st.v1.taskcount = JAIL_NPROCS(pr); - /* */ - st.v1.msq_count = JAIL_IPC_MSG_GETCOUNT(pr); - st.v1.msq_limit = JAIL_IPC_MSG_GETLIMIT(pr); - st.v1.sem_count = JAIL_IPC_SEM_GETCOUNT(pr); - st.v1.sem_limit = JAIL_IPC_SEM_GETLIMIT(pr); - st.v1.shm_count = JAIL_IPC_SHM_GETCOUNT(pr); - st.v1.shm_limit = JAIL_IPC_SHM_GETLIMIT(pr); - /* */ - st.v1.fdcount = JAIL_FILE_GETCOUNT(pr); - st.v1.fdlimit = JAIL_FILE_GETLIMIT(pr); - - ret = copyout(&st,j->data,sizeof(st)); - - break; - } - default: - ret = EOPNOTSUPP; - break; - } - - /* remove refs from find/create */ - if (pr!=NULL) - prison_free(pr); jprint("jail2_command return %d\n", ret); return (ret); } ==== //depot/projects/jail2/sys/sys/jail2.h#4 (text+ko) ==== @@ -12,6 +12,7 @@ uint32_t flags; /* Task & CPU */ uint32_t taskcount; + uint32_t tasklimit; uint32_t cpulow; uint32_t cpuhigh; uint32_t cpuusage; From owner-p4-projects@FreeBSD.ORG Sun Aug 27 09:44:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78C7E16A4E8; Sun, 27 Aug 2006 09:44:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 548A116A4E6 for ; Sun, 27 Aug 2006 09:44:16 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59FEC43D5D for ; Sun, 27 Aug 2006 09:44:15 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7R9iFE9005803 for ; Sun, 27 Aug 2006 09:44:15 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7R9iFdg005800 for perforce@freebsd.org; Sun, 27 Aug 2006 09:44:15 GMT (envelope-from als@FreeBSD.org) Date: Sun, 27 Aug 2006 09:44:15 GMT Message-Id: <200608270944.k7R9iFdg005800@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105171 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 09:44:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=105171 Change 105171 by als@als_head on 2006/08/27 09:43:48 fix task count accounting while task migrate bettwen contexts. Affected files ... .. //depot/projects/jail2/sys/kern/kern_jail.c#4 edit Differences ... ==== //depot/projects/jail2/sys/kern/kern_jail.c#4 (text+ko) ==== @@ -273,6 +273,8 @@ newcred = crget(); PROC_LOCK(p); oldcred = p->p_ucred; + jail_task_del(&oldcred->cr_prison->pr_tasks, p); + jail_task_add(&pr->pr_tasks, p); setsugid(p); crcopy(newcred, oldcred); newcred->cr_prison = pr; From owner-p4-projects@FreeBSD.ORG Sun Aug 27 13:12:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D724C16A551; Sun, 27 Aug 2006 13:12:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B2AF16A52F for ; Sun, 27 Aug 2006 13:12:32 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD990443DB for ; Sun, 27 Aug 2006 12:08:17 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RC8H4T016393 for ; Sun, 27 Aug 2006 12:08:17 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RC8H7Q016390 for perforce@freebsd.org; Sun, 27 Aug 2006 12:08:17 GMT (envelope-from piso@freebsd.org) Date: Sun, 27 Aug 2006 12:08:17 GMT Message-Id: <200608271208.k7RC8H7Q016390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105174 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 13:12:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105174 Change 105174 by piso@piso_longino on 2006/08/27 12:07:59 Be coherent with the rest of the libalias API: rename attach_handler()/detach_handler() to LibAliasAttachHandlers()/LibAliasDetachHandlers() Affected files ... .. //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#12 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_cuseeme.c#9 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_dummy.c#9 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#9 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#10 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.c#19 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.h#20 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_nbt.c#10 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_pptp.c#8 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_skinny.c#8 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#9 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#3 (text+ko) ==== @@ -25,8 +25,8 @@ LibAliasCheckNewLink \ LibAliasInternetChecksum \ LibAliasUnaliasOut \ - attach_handler \ - detach_handler + LibAliasAttachHandlers \ + LibAliasDetachHandlers CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#12 (text+ko) ==== @@ -1553,7 +1553,7 @@ return (EINVAL); } - attach_handlers(m); + LibAliasAttachHandlers(m); return (0); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_cuseeme.c#9 (text+ko) ==== @@ -120,11 +120,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_dummy.c#9 (text+ko) ==== @@ -126,11 +126,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#9 (text+ko) ==== @@ -145,11 +145,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#10 (text+ko) ==== @@ -129,11 +129,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.c#19 (text+ko) ==== @@ -204,7 +204,7 @@ } int -attach_handlers(struct proto_handler *_p) { +LibAliasAttachHandlers(struct proto_handler *_p) { int i, error = -1; LIBALIAS_WLOCK(); @@ -220,7 +220,7 @@ } int -detach_handlers(struct proto_handler *_p) { +LibAliasDetachHandlers(struct proto_handler *_p) { int i, error = -1; LIBALIAS_WLOCK(); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.h#20 (text+ko) ==== @@ -97,8 +97,8 @@ void handler_chain_init(void); void handler_chain_destroy(void); -int attach_handlers(struct proto_handler *); -int detach_handlers(struct proto_handler *); +int LibAliasAttachHandlers(struct proto_handler *); +int LibAliasDetachHandlers(struct proto_handler *); int detach_handler(struct proto_handler *); int find_handler(int8_t, int8_t, struct libalias *, struct ip *, struct alias_data *); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_nbt.c#10 (text+ko) ==== @@ -165,11 +165,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_pptp.c#8 (text+ko) ==== @@ -185,11 +185,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_skinny.c#8 (text+ko) ==== @@ -104,11 +104,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#9 (text+ko) ==== @@ -180,11 +180,11 @@ switch (type) { case MOD_LOAD: error = 0; - attach_handlers(handlers); + LibAliasAttachHandlers(handlers); break; case MOD_UNLOAD: error = 0; - detach_handlers(handlers); + LibAliasDetachHandlers(handlers); break; default: error = EINVAL; From owner-p4-projects@FreeBSD.ORG Sun Aug 27 17:14:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 92C7716A4FD; Sun, 27 Aug 2006 17:14:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 58CD016A4F5 for ; Sun, 27 Aug 2006 17:14:28 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C524544540 for ; Sun, 27 Aug 2006 15:57:08 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RFv8DA055437 for ; Sun, 27 Aug 2006 15:57:08 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RFv8o8055434 for perforce@freebsd.org; Sun, 27 Aug 2006 15:57:08 GMT (envelope-from piso@freebsd.org) Date: Sun, 27 Aug 2006 15:57:08 GMT Message-Id: <200608271557.k7RFv8o8055434@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105181 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 17:14:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=105181 Change 105181 by piso@piso_newluxor on 2006/08/27 15:57:05 Compilation. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#10 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#10 (text+ko) ==== @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include @@ -231,7 +232,7 @@ for (; iih_event != NULL) return (ppc->ih_event); } From owner-p4-projects@FreeBSD.ORG Sun Aug 27 17:14:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 862DB16A4E2; Sun, 27 Aug 2006 17:14:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 48BC016A4DA for ; Sun, 27 Aug 2006 17:14:29 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C3BDB44650 for ; Sun, 27 Aug 2006 16:01:14 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RG1Ewr055655 for ; Sun, 27 Aug 2006 16:01:14 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RG1EPj055652 for perforce@freebsd.org; Sun, 27 Aug 2006 16:01:14 GMT (envelope-from piso@freebsd.org) Date: Sun, 27 Aug 2006 16:01:14 GMT Message-Id: <200608271601.k7RG1EPj055652@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 17:14:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105182 Change 105182 by piso@piso_newluxor on 2006/08/27 16:00:42 error is checked only after an ithread was scheduled. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#11 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#11 (text+ko) ==== @@ -276,11 +276,11 @@ // XXX eoi & mask intr not verified. /* Schedule a heavyweight interrupt process. */ - if (thread & FILTER_SCHEDULE_THREAD) + if (thread & FILTER_SCHEDULE_THREAD) { error = intr_event_schedule_thread(ie); - - if (error == EINVAL) - intr_stray_handler(ppc_ih); + if (error == EINVAL) + intr_stray_handler(ppc_ih); + } } static void From owner-p4-projects@FreeBSD.ORG Sun Aug 27 17:15:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FF9C16A518; Sun, 27 Aug 2006 17:15:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E76516A4E8 for ; Sun, 27 Aug 2006 17:15:20 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C392443B4 for ; Sun, 27 Aug 2006 15:54:04 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RFs4dQ055231 for ; Sun, 27 Aug 2006 15:54:04 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RFs4As055228 for perforce@freebsd.org; Sun, 27 Aug 2006 15:54:04 GMT (envelope-from piso@freebsd.org) Date: Sun, 27 Aug 2006 15:54:04 GMT Message-Id: <200608271554.k7RFs4As055228@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105180 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 17:15:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105180 Change 105180 by piso@piso_newluxor on 2006/08/27 15:54:00 This one crept in during an IFC. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#9 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#9 (text+ko) ==== @@ -208,9 +208,6 @@ error = intr_event_add_handler(event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); - if (!IS_FAST(filter, handler) || error) - intr_setup(irq, sched_ithd, ih, flags); - if (error) return (error); From owner-p4-projects@FreeBSD.ORG Sun Aug 27 22:24:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 108E816A4E1; Sun, 27 Aug 2006 22:24:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C7AEA16A4DA for ; Sun, 27 Aug 2006 22:24:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F1D243D4C for ; Sun, 27 Aug 2006 22:24:28 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RMOSDA007766 for ; Sun, 27 Aug 2006 22:24:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RMORav007763 for perforce@freebsd.org; Sun, 27 Aug 2006 22:24:27 GMT (envelope-from jb@freebsd.org) Date: Sun, 27 Aug 2006 22:24:27 GMT Message-Id: <200608272224.k7RMORav007763@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 105194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 22:24:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=105194 Change 105194 by jb@jb_freebsd2 on 2006/08/27 22:23:39 IFlibbsdelf Affected files ... .. //depot/projects/dtrace/src/lib/libelf/Makefile#11 integrate .. //depot/projects/dtrace/src/lib/libelf/_libelf.h#7 integrate .. //depot/projects/dtrace/src/lib/libelf/elf.3#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_begin.c#4 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_errmsg.3#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_errmsg.c#8 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_flag.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_flagdata.3#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getdata.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_getscn.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_memory.c#5 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_scn.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_getehdr.3#5 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_getphdr.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_getshdr.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_newehdr.3#6 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_newphdr.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_phdr.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_update.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_update_ehdr.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_xlatetof.3#3 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf.h#7 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_phdr.c#1 branch Differences ... ==== //depot/projects/dtrace/src/lib/libelf/Makefile#11 (text+ko) ==== @@ -8,8 +8,7 @@ elf_dump_argv.c \ elf_end.c elf_errmsg.c elf_errno.c \ elf_fill.c \ - elf_flagelf.c \ - elf_getarhdr.c \ + elf_flag.c \ elf_getbase.c \ elf_getdata.c \ elf_getident.c \ @@ -25,27 +24,20 @@ elf_rand.c \ elf_rawdata.c \ elf_rawfile.c \ - elf_strptr.c \ - elf_update.c \ + elf_scn.c \ elf_version.c \ gelf_fsize.c \ gelf_getclass.c \ + gelf_getshdr.c \ gelf_ehdr.c \ - gelf_getphdr.c \ - gelf_getshdr.c \ - gelf_getsym.c \ - gelf_newphdr.c \ - gelf_rel.c \ - gelf_rela.c \ - gelf_update_ehdr.c \ - gelf_update_phdr.c \ - gelf_update_shdr.c \ - gelf_update_sym.c \ + gelf_phdr.c \ + gelf_update.c \ gelf_xlate.c \ libelf.c \ libelf_allocate.c \ libelf_ar.c \ - libelf_ehdr.c + libelf_ehdr.c \ + libelf_phdr.c INCS= libelf.h gelf.h DPSRCS+= libelf_fsize.c libelf_msize.c libelf_convert.c @@ -67,7 +59,9 @@ elf_getarhdr.3 \ elf_getarsym.3 \ elf_getbase.3 \ + elf_getdata.3 \ elf_getident.3 \ + elf_getscn.3 \ elf_hash.3 \ elf_kind.3 \ elf_memory.3 \ @@ -77,67 +71,56 @@ elf_version.3 \ gelf.3 \ gelf_fsize.3 \ + gelf_getclass.3 \ gelf_getehdr.3 \ + gelf_getphdr.3 \ + gelf_getshdr.3 \ gelf_newehdr.3 \ - gelf_getclass.3 \ + gelf_newphdr.3 \ + gelf_update_ehdr.3 \ gelf_xlatetof.3 -MLINKS+= \ - gelf.3 gelf_checksum.3 \ - gelf.3 gelf_getdyn.3 \ - gelf.3 gelf_getmove.3 \ - gelf.3 gelf_getphdr.3 \ - gelf.3 gelf_getrel.3 \ - gelf.3 gelf_getrela.3 \ - gelf.3 gelf_getshdr.3 \ - gelf.3 gelf_getsym.3 \ - gelf.3 gelf_getsyminfo.3 \ - gelf.3 gelf_update_dyn.3 \ - gelf.3 gelf_update_ehr.3 \ - gelf.3 gelf_update_move.3 \ - gelf.3 gelf_update_rela.3 \ - gelf.3 gelf_update_shdr.3 \ - gelf.3 gelf_update_sym.3 \ - gelf.3 gelf_update_syminfo.3 \ +MLINKS+= \ + gelf.3 gelf_checksum.3 \ + gelf.3 gelf_getdyn.3 \ + gelf.3 gelf_getmove.3 \ + gelf.3 gelf_getrel.3 \ + gelf.3 gelf_getrela.3 \ + gelf.3 gelf_getsym.3 \ + gelf.3 gelf_getsyminfo.3 \ + gelf_update_ehdr.3 gelf_update_phdr.3 \ + gelf_update_ehdr.3 gelf_update_shdr.3 \ + gelf.3 gelf_update_move.3 \ + gelf.3 gelf_update_rela.3 \ + gelf.3 gelf_update_sym.3 \ + gelf.3 gelf_update_syminfo.3 \ gelf_xlatetof.3 gelf_xlatetom.3 MLINKS+= \ - gelf_fsize.3 elf32_fsize.3 \ - gelf_fsize.3 elf64_fsize.3 \ - gelf_getehdr.3 elf32_getehdr.3 \ - gelf_getehdr.3 elf64_getehdr.3 \ - gelf_newehdr.3 elf32_newehdr.3 \ - gelf_newehdr.3 elf64_newehdr.3 - - -MLINKS+= \ - elf_flagdata.3 elf_flagehdr.3 \ - elf_flagdata.3 elf_flagelf.3 \ - elf_flagdata.3 elf_flagphdr.3 \ - elf_flagdata.3 elf_flagscn.3 \ - elf_flagdata.3 elf_flagshdr.3 \ - elf.3 elf_getdata.3 \ - elf.3 elf_getscn.3 \ - elf.3 elf_ndxscn.3 \ - elf.3 elf_newdata.3 \ - elf.3 elf_newscn.3 \ - elf.3 elf_nextscn.3 \ - elf.3 elf_rawdata.3 \ - elf.3 elf_strptr.3 \ + elf_errmsg.3 elf_errno.3 \ + elf_flagdata.3 elf_flagehdr.3 \ + elf_flagdata.3 elf_flagelf.3 \ + elf_flagdata.3 elf_flagphdr.3 \ + elf_flagdata.3 elf_flagscn.3 \ + elf_flagdata.3 elf_flagshdr.3 \ + elf_getdata.3 elf_newdata.3 \ + elf_getdata.3 elf_rawdata.3 \ + elf_getscn.3 elf_ndxscn.3 \ + elf_getscn.3 elf_newscn.3 \ + elf_getscn.3 elf_nextscn.3 \ + elf.3 elf_strptr.3 \ elf.3 elf_update.3 -MLINKS+= \ - elf_errmsg.3 elf_errno.3 - .for E in 32 64 MLINKS+= \ - elf.3 elf${E}_checksum.3 \ - elf.3 elf${E}_getphdr.3 \ - elf.3 elf${E}_getshdr.3 \ - elf.3 elf${E}_newphdr.3 \ - gelf_getehdr.3 elf${E}_getehdr.3 \ - gelf_newehdr.3 elf${E}_newehdr.3 \ - gelf_xlatetof.3 elf${E}_xlatetof.3 \ + elf.3 elf${E}_checksum.3 \ + gelf_fsize.3 elf${E}_fsize.3 \ + gelf_getehdr.3 elf${E}_getehdr.3 \ + gelf_getphdr.3 elf${E}_getphdr.3 \ + gelf_getshdr.3 elf${E}_getshdr.3 \ + gelf_newehdr.3 elf${E}_newehdr.3 \ + gelf_newphdr.3 elf${E}_newphdr.3 \ + gelf_xlatetof.3 elf${E}_xlatetof.3 \ gelf_xlatetof.3 elf${E}_xlatetom.3 .endfor ==== //depot/projects/dtrace/src/lib/libelf/_libelf.h#7 (text+ko) ==== @@ -59,7 +59,7 @@ #define LIBELF_OS_ERROR_SHIFT 8 #define LIBELF_SET_ERROR(E, O) do { \ - LIBELF_PRIVATE(error) = ((ELF_E_##E & LIBELF_ELF_ERROR_MASK)| \ + LIBELF_PRIVATE(error) = ((ELF_E_##E & LIBELF_ELF_ERROR_MASK)| \ ((O) << LIBELF_OS_ERROR_SHIFT)); \ } while (0) @@ -69,10 +69,12 @@ * Flags for library internal use. These use the upper 16 bits of a * flags field. */ +#define LIBELF_F_ALLOCED 0x010000 /* whether e_rawfile is malloc'ed */ +#define LIBELF_F_MMAP 0x020000 /* whether e_rawfile was mmap'ed */ +#define LIBELF_F_EHDR_DIRTY 0x040000 /* TODO: check if these 3 can be */ +#define LIBELF_F_PHDR_DIRTY 0x080000 /* folded into one flag. */ +#define LIBELF_F_SHDR_DIRTY 0x100000 -#define LIBELF_F_ALLOCED 0x10000 /* whether e_rawfile is malloc'ed */ -#define LIBELF_F_MMAP 0x20000 /* whether e_rawfile was mmap'ed by us */ - struct _Elf { int e_activations; /* activation count */ unsigned int e_byteorder; /* ELFDATA* */ @@ -106,14 +108,24 @@ Elf32_Phdr *e_phdr32; Elf64_Phdr *e_phdr64; } e_phdr; - union { - Elf32_Phdr *e_shdr32; - Elf64_Phdr *e_shdr64; - } e_shdr; + STAILQ_HEAD(, _Elf_Scn) e_scn; /* section list */ } e_elf; } e_u; }; +struct _Elf_Scn { + STAILQ_HEAD(, _Elf_Scn) s_data; /* list of Elf_Data descriptors */ + struct _Elf *s_elf; /* parent ELF descriptor */ + unsigned int s_flags; /* flags for the section as a whole */ + size_t s_ndx; /* index# for this section */ + STAILQ_ENTRY(_Elf_Scn) s_next; + union { + Elf32_Shdr s_shdr32; + Elf64_Shdr s_shdr64; + } s_shdr; +}; + + enum { ELF_TOFILE, ELF_TOMEMORY @@ -124,6 +136,7 @@ */ Elf *_libelf_allocate_elf(void); +Elf *_libelf_ar_open(Elf *_e); int _libelf_dump32(Elf *_elf, const char *_name, const char *_outfile, unsigned int _flags); int _libelf_dump64(Elf *_elf, const char *_name, const char *_outfile, @@ -131,9 +144,11 @@ void *_libelf_ehdr(Elf *_e, int _elfclass, int _allocate); void (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) (char *_dst, char *_src, int _cnt, int _byteswap); +void *_libelf_getphdr(Elf *_e, int _elfclass); +void _libelf_init_elf(Elf *_e, Elf_Kind _kind); int _libelf_malign(Elf_Type _t, int _elfclass); size_t _libelf_msize(Elf_Type _t, int _elfclass, unsigned int _version); -Elf *_libelf_ar_open(Elf *_e); +void *_libelf_newphdr(Elf *_e, int _elfclass, size_t _count); void _libelf_release_elf(Elf *_e); #endif /* __LIBELF_H_ */ ==== //depot/projects/dtrace/src/lib/libelf/elf.3#3 (text+ko) ==== @@ -42,8 +42,11 @@ . \" (natively ordered data structures getting translated to . \" file representation at update() time. Describe the ELF_F_DIRTY . \" bit. +. \" Describe the ELF_F_LAYOUT bit. . \" Memory management discipline: Note that no ELF data structure should . \" be explicitly free()'ed by the application. All free'ing happens when . \" an elf_end() is done, after which pointers go stale. . \" Describe all prefixes used by the library and namespace use by . \" and (in gelf.3). +. \" Describe the members of the Elf_Data and the rules governing their +. \" use. ==== //depot/projects/dtrace/src/lib/libelf/elf_begin.c#4 (text+ko) ==== @@ -153,9 +153,9 @@ } if ((e = _libelf_allocate_elf()) != NULL) { + _libelf_init_elf(e, ELF_K_ELF); e->e_byteorder = LIBELF_PRIVATE(byteorder); e->e_fd = fd; - e->e_kind = ELF_K_ELF; e->e_cmd = c; } return (e); ==== //depot/projects/dtrace/src/lib/libelf/elf_errmsg.3#2 (text+ko) ==== @@ -27,7 +27,7 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf_errmsg +.Nm elf_errmsg , .Nm elf_errno .Nd ELF library error message handling .Sh LIBRARY ==== //depot/projects/dtrace/src/lib/libelf/elf_errmsg.c#8 (text+ko) ==== @@ -46,7 +46,9 @@ DEFINE_ERROR(HEADER, "Missing or malformed ELF header"), DEFINE_ERROR(MMAP, "File mapping failed"), DEFINE_ERROR(MODE, "Incorrect ELF descriptor mode"), + DEFINE_ERROR(RANGE, "Value out of range of target"), DEFINE_ERROR(RESOURCE, "Resource exhaustion"), + DEFINE_ERROR(SECTION, "Section descriptor was invalid"), DEFINE_ERROR(SEQUENCE, "API calls out of sequence"), DEFINE_ERROR(STAT, "Cannot determine file parameters"), DEFINE_ERROR(TRUNCATE, "File truncation failed"), ==== //depot/projects/dtrace/src/lib/libelf/elf_flagdata.3#2 (text+ko) ==== @@ -27,11 +27,11 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf_flagdata -.Nm elf_flagehdr -.Nm elf_flagelf -.Nm elf_flagphdr -.Nm elf_flagscn +.Nm elf_flagdata , +.Nm elf_flagehdr , +.Nm elf_flagelf , +.Nm elf_flagphdr , +.Nm elf_flagscn , .Nm elf_flagshdr .Nd manipulate flags associated with ELF(3) data structures .Sh LIBRARY @@ -47,7 +47,7 @@ .Ft "unsigned int" .Fn elf_flagphdr "Elf *elf" "Elf_Cmd cmd" "unsigned int flags" .Ft "unsigned int" -.Fn elf_flagscn "Elf *elf" "Elf_Cmd cmd" "unsigned int flags" +.Fn elf_flagscn "Elf_Scn *scn" "Elf_Cmd cmd" "unsigned int flags" .Ft "unsigned int" .Fn elf_flagshdr "Elf_Scn *scn" "Elf_Cmd cmd" "unsigned int flags" .Sh DESCRIPTION @@ -68,13 +68,13 @@ may have the following values: .Bl -tag -width ELF_C_SET .It Dv ELF_C_CLR -The non-zero bits in argument +The argument .Ar flags -are to be cleared. +specifies the bits to be cleared. .It Dv ELF_C_SET -The non-zero bits in arguments +The argument .Ar flags -are to be set. +specifies the bits to be set. .El .Pp The argument @@ -93,24 +93,46 @@ .It Dv ELF_F_LAYOUT This flag is only valid with the .Fn elf_flagelf -API, and for ELF descriptors opened for writing. +API. It informs the library that the application will take responsibility for the layout of the file and that the library is not to insert any padding in between sections. .El +.Pp +Marking a given data structure as +.Dq dirty +affects all of its contained elements. +Thus marking an ELF descriptor +.Ar elf +with +.Fn elf_flagelf "elf" "ELF_C_SET" "ELF_F_DIRTY" +means that the entire contents of the descriptor are +.Dq dirty . .Sh RETURN VALUES -These functions return the updated bits is succesful, and zero +These functions return the updated bits is successful, and zero if an error is detected. .Sh ERRORS +These functions may fail with the following errors: .Bl -tag -width "[ELF_E_RESOURCE]" .It Bq Er ELF_E_ARGUMENT -An supported value was used the +An unsupported value was used for the .Ar cmd argument. .It Bq Er ELF_E_ARGUMENT Argument .Ar flags -had an unknown flag bit set. +was zero or had unsupported flag bits set. +.It Bq Er ELF_E_ARGUMENT +The descriptors +.Ar data , +.Ar elf , +or +.Ar scn +were not opened for writing. +.It Bq Er ELF_E_ARGUMENT +The argument +.Ar elf +was not a descriptor for an ELF object. .El .Sh SEE ALSO .Xr elf 3 , ==== //depot/projects/dtrace/src/lib/libelf/elf_memory.c#5 (text+ko) ==== @@ -49,10 +49,8 @@ return (NULL); } - if ((e = _libelf_allocate_elf()) == NULL) { - LIBELF_SET_ERROR(RESOURCE, 0); + if ((e = _libelf_allocate_elf()) == NULL) return (NULL); - } e->e_cmd = ELF_C_READ; e->e_rawfile = image; @@ -64,7 +62,7 @@ (P)[EI_MAG3] == ELFMAG3) if (sz > EI_NIDENT && LIBELF_IS_ELF(image)) { - e->e_kind = ELF_K_ELF; + _libelf_init_elf(e, ELF_K_ELF); e->e_class = image[EI_CLASS]; e->e_byteorder = image[EI_DATA]; e->e_version = image[EI_VERSION]; @@ -74,10 +72,11 @@ LIBELF_SET_ERROR(VERSION, 0); return (NULL); } - } else if (sz >= SARMAG && strncmp(image, ARMAG, SARMAG) == 0) + } else if (sz >= SARMAG && strncmp(image, ARMAG, SARMAG) == 0) { + _libelf_init_elf(e, ELF_K_AR); e = _libelf_ar_open(e); - else - e->e_kind = ELF_K_NONE; + } else + _libelf_init_elf(e, ELF_K_NONE); return (e); } ==== //depot/projects/dtrace/src/lib/libelf/gelf_getehdr.3#5 (text+ko) ==== @@ -27,8 +27,8 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf32_getehdr -.Nm elf64_getehdr +.Nm elf32_getehdr , +.Nm elf64_getehdr , .Nm gelf_getehdr .Nd retrieve the object file header .Sh LIBRARY @@ -111,6 +111,7 @@ .Sh SEE ALSO .Xr elf 3 , .Xr elf_getident 3 , +.Xr elf_flagehdr 3 , .Xr elf32_newehdr 3 , .Xr elf64_newehdr 3 , .Xr gelf 3 , ==== //depot/projects/dtrace/src/lib/libelf/gelf_newehdr.3#6 (text+ko) ==== @@ -27,8 +27,8 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf32_newehdr -.Nm elf64_newehdr +.Nm elf32_newehdr , +.Nm elf64_newehdr , .Nm gelf_newehdr .Nd retrieve or allocate the object file header .Sh LIBRARY ==== //depot/projects/dtrace/src/lib/libelf/gelf_xlatetof.3#3 (text+ko) ==== @@ -27,8 +27,8 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf32_xlate -.Nm elf64_xlate +.Nm elf32_xlate , +.Nm elf64_xlate , .Nm gelf_xlate .Nd translate data between files and memory .Sh LIBRARY ==== //depot/projects/dtrace/src/lib/libelf/libelf.h#7 (text+ko) ==== @@ -32,10 +32,11 @@ #include #include #include +#include /* Library private data structures */ typedef struct _Elf Elf; -typedef struct _ElfScn Elf_Scn; +typedef struct _Elf_Scn Elf_Scn; /* File types */ typedef enum { @@ -99,13 +100,16 @@ * An `Elf_Data' structure describes data in an * ELF section. */ -typedef struct { +typedef struct _Elf_Data { void *d_buf; off_t d_off; size_t d_align; size_t d_size; Elf_Type d_type; unsigned int d_version; + + Elf_Scn *d_scn; /* containing section */ + STAILQ_ENTRY(_Elf_Data) d_next; } Elf_Data; /* @@ -141,11 +145,13 @@ ELF_E_ARCHIVE, /* Malformed ar(1) archive */ ELF_E_ARGUMENT, /* Invalid argument */ ELF_E_CLASS, /* Mismatched ELF class */ - ELF_E_DATA, /* Invalid data buffer descriptor */ + ELF_E_DATA, /* Invalid data descriptor */ ELF_E_HEADER, /* Missing or malformed ELF header */ ELF_E_MMAP, /* File mapping failed */ ELF_E_MODE, /* Wrong mode for ELF descriptor */ + ELF_E_RANGE, /* Value out of range */ ELF_E_RESOURCE, /* Resource exhaustion */ + ELF_E_SECTION, /* Invalid section descriptor */ ELF_E_SEQUENCE, /* API calls out of sequence */ ELF_E_STAT, /* Cannot determine file parameters */ ELF_E_TRUNCATE, /* File truncation failed */ ==== //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#3 (text+ko) ==== @@ -64,9 +64,24 @@ (void) memset(&e->e_u, 0, sizeof(e->e_u)); - /* TODO: Initialize the rest of the structure. */ + return (e); +} + +void +_libelf_init_elf(Elf *e, Elf_Kind kind) +{ + assert(e != NULL); + assert(e->e_kind == ELF_K_NONE); + + e->e_kind = kind; - return (e); + switch (kind) { + case ELF_K_ELF: + STAILQ_INIT(&e->e_u.e_elf.e_scn); + break; + default: + break; + } } #define FREE(P) do { \ @@ -83,6 +98,19 @@ FREE(e->e_u.e_ar.e_symtab); break; + case ELF_K_ELF: + switch (e->e_class) { + case ELFCLASS32: + FREE(e->e_u.e_elf.e_ehdr.e_ehdr32); + FREE(e->e_u.e_elf.e_phdr.e_phdr32); + break; + case ELFCLASS64: + FREE(e->e_u.e_elf.e_ehdr.e_ehdr64); + FREE(e->e_u.e_elf.e_phdr.e_phdr64); + break; + } + break; + default: break; } From owner-p4-projects@FreeBSD.ORG Sun Aug 27 22:26:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15ED716A4E0; Sun, 27 Aug 2006 22:26:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B82B116A4DA for ; Sun, 27 Aug 2006 22:26:31 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E0A843D45 for ; Sun, 27 Aug 2006 22:26:31 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RMQVmj007936 for ; Sun, 27 Aug 2006 22:26:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RMQVSx007920 for perforce@freebsd.org; Sun, 27 Aug 2006 22:26:31 GMT (envelope-from jb@freebsd.org) Date: Sun, 27 Aug 2006 22:26:31 GMT Message-Id: <200608272226.k7RMQVSx007920@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 105195 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 22:26:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=105195 Change 105195 by jb@jb_freebsd2 on 2006/08/27 22:25:51 IFopensolaris Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#15 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#21 integrate Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#15 (text) ==== @@ -24,7 +24,7 @@ * Use is subject to license terms. */ -#pragma ident "@(#)dt_open.c 1.30 06/04/03 SMI" +#pragma ident "@(#)dt_open.c 1.31 06/08/07 SMI" #include #if defined(sun) @@ -215,6 +215,8 @@ &dt_idops_func, "void(int)" }, { "epid", DT_IDENT_SCALAR, 0, DIF_VAR_EPID, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uint_t" }, +{ "errno", DT_IDENT_SCALAR, 0, DIF_VAR_ERRNO, DT_ATTR_STABCMN, DT_VERS_1_0, + &dt_idops_type, "int" }, { "execname", DT_IDENT_SCALAR, 0, DIF_VAR_EXECNAME, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "string" }, { "exit", DT_IDENT_ACTFUNC, 0, DT_ACT_EXIT, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -231,6 +233,8 @@ { "getminor", DT_IDENT_FUNC, 0, DIF_SUBR_GETMINOR, DT_ATTR_EVOLCMN, DT_VERS_1_0, &dt_idops_func, "genunix`minor_t(genunix`dev_t)" }, +{ "gid", DT_IDENT_SCALAR, 0, DIF_VAR_GID, DT_ATTR_STABCMN, DT_VERS_1_0, + &dt_idops_type, "gid_t" }, { "id", DT_IDENT_SCALAR, 0, DIF_VAR_ID, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uint_t" }, { "index", DT_IDENT_FUNC, 0, DIF_SUBR_INDEX, DT_ATTR_STABCMN, DT_VERS_1_1, @@ -274,6 +278,8 @@ &dt_idops_func, "void()" }, { "pid", DT_IDENT_SCALAR, 0, DIF_VAR_PID, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "pid_t" }, +{ "ppid", DT_IDENT_SCALAR, 0, DIF_VAR_PPID, DT_ATTR_STABCMN, DT_VERS_1_0, + &dt_idops_type, "pid_t" }, { "printa", DT_IDENT_ACTFUNC, 0, DT_ACT_PRINTA, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_func, "void(@, ...)" }, { "printf", DT_IDENT_ACTFUNC, 0, DT_ACT_PRINTF, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -364,6 +370,8 @@ DT_VERS_1_2, &dt_idops_type, "uint64_t" }, { "ufunc", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, +{ "uid", DT_IDENT_SCALAR, 0, DIF_VAR_UID, DT_ATTR_STABCMN, DT_VERS_1_0, + &dt_idops_type, "uid_t" }, { "umod", DT_IDENT_ACTFUNC, 0, DT_ACT_UMOD, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, { "uregs", DT_IDENT_ARRAY, 0, DIF_VAR_UREGS, DT_ATTR_STABCMN, DT_VERS_1_0, ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#21 (text) ==== @@ -28,7 +28,7 @@ #define _SYS_DTRACE_H #if defined(sun) -#pragma ident "@(#)dtrace.h 1.31 06/06/12 SMI" +#pragma ident "@(#)dtrace.h 1.32 06/08/07 SMI" #endif #ifdef __cplusplus @@ -252,6 +252,10 @@ #define DIF_VAR_WALLTIMESTAMP 0x011a /* wall-clock timestamp */ #define DIF_VAR_USTACKDEPTH 0x011b /* user-land stack depth */ #define DIF_VAR_UCALLER 0x011c /* user-level caller */ +#define DIF_VAR_PPID 0x011d /* parent process ID */ +#define DIF_VAR_UID 0x011e /* process user ID */ +#define DIF_VAR_GID 0x011f /* process group ID */ +#define DIF_VAR_ERRNO 0x0120 /* thread errno */ #define DIF_SUBR_RAND 0 #define DIF_SUBR_MUTEX_OWNED 1 @@ -1279,7 +1283,11 @@ * curthread <= Current kthread_t pointer * tid <= Current thread identifier * pid <= Current process identifier + * ppid <= Parent process identifier + * uid <= Current user ID + * gid <= Current group ID * execname <= Current executable name + * zonename <= Current zone name * * Helper actions may not manipulate or allocate dynamic variables, but they * may have clause-local and statically-allocated global variables. The From owner-p4-projects@FreeBSD.ORG Sun Aug 27 22:55:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D810B16A4EB; Sun, 27 Aug 2006 22:55:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 978BE16A4E6 for ; Sun, 27 Aug 2006 22:55:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4056B43D4C for ; Sun, 27 Aug 2006 22:55:13 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RMtDSA009608 for ; Sun, 27 Aug 2006 22:55:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RMt6Qc009577 for perforce@freebsd.org; Sun, 27 Aug 2006 22:55:06 GMT (envelope-from jb@freebsd.org) Date: Sun, 27 Aug 2006 22:55:06 GMT Message-Id: <200608272255.k7RMt6Qc009577@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 105196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 22:55:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=105196 Change 105196 by jb@jb_freebsd2 on 2006/08/27 22:54:09 IFC This integration is going to cause some grief because of scheduler changes. Ugh. Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mail/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#21 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/boot/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/printing/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/disks/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/l10n/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/serialcomms/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#8 integrate .. //depot/projects/dtrace/ports/MOVED#14 integrate .. //depot/projects/dtrace/ports/Mk/bsd.ruby.mk#4 integrate .. //depot/projects/dtrace/ports/UPDATING#12 integrate .. //depot/projects/dtrace/src/bin/cp/cp.1#3 integrate .. //depot/projects/dtrace/src/bin/cp/cp.c#4 integrate .. //depot/projects/dtrace/src/bin/cp/extern.h#3 integrate .. //depot/projects/dtrace/src/bin/cp/utils.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/ansidecl.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/builtins.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-common.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-common.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-decl.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-objc-common.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-pch.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/c-typeck.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cfgcleanup.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/combine.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config.gcc#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config.host#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config.in#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/alpha/alpha.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/alpha/alpha.md#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/arm/arm-protos.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/arm/arm.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/arm/arm.md#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/host-linux.c#1 branch .. //depot/projects/dtrace/src/contrib/gcc/config/host-solaris.c#1 branch .. //depot/projects/dtrace/src/contrib/gcc/config/i386/i386.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/i386/i386.md#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/ia64/hpux.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/aix51.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/host-darwin.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/linux64.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/rs6000-protos.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/rs6000.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/rs6000.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/rs6000.md#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/rs6000/sysv4.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/sparc/gmon-sol2.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/sparc/sol2-gas-bi.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/sparc/sol2.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/sparc/sparc.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/sparc/sparc.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/x-linux#1 branch .. //depot/projects/dtrace/src/contrib/gcc/config/x-solaris#1 branch .. //depot/projects/dtrace/src/contrib/gcc/configure#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/configure.ac#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/coverage.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/call.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/class.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/cp-tree.def#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/cp-tree.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/cvt.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/decl.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/decl2.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/error.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/init.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/lex.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/method.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/name-lookup.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/name-lookup.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/parser.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/pt.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/search.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/semantics.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cp/typeck.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cppfiles.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cpphash.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cppinit.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/cse.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/doc/contrib.texi#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/doc/hostconfig.texi#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/doc/include/gcc-common.texi#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/doc/invoke.texi#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/expmed.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/f/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/f/g77.texi#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/f/g77spec.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/flow.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/fold-const.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/gcc.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/gcov-dump.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/gcov.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/gcse.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/ggc-common.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/global.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/hooks.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/hooks.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/hosthooks-def.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/hosthooks.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/local-alloc.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/longlong.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/loop.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/md5.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/md5.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/mips-tdump.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/mips-tfile.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/mklibgcc.in#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/optabs.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/pretty-print.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/reg-stack.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/regrename.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/regs.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/rtl.h#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/sched-rgn.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/simplify-rtx.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/stmt.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/toplev.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/tree.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/unroll.c#3 integrate .. //depot/projects/dtrace/src/contrib/gcc/version.c#3 integrate .. //depot/projects/dtrace/src/contrib/libf2c/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/libobjc/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/libobjc/README#3 integrate .. //depot/projects/dtrace/src/contrib/libstdc++/ChangeLog#3 integrate .. //depot/projects/dtrace/src/contrib/libstdc++/include/bits/c++config#3 integrate .. //depot/projects/dtrace/src/contrib/libstdc++/include/bits/fstream.tcc#3 integrate .. //depot/projects/dtrace/src/contrib/libstdc++/include/c_std/std_cmath.h#3 integrate .. //depot/projects/dtrace/src/contrib/libstdc++/include/ext/hashtable.h#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/FREEBSD-upgrade#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/HISTORY#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/README#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/VERSION#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bin/auditd/auditd.c#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bin/auditfilterd/auditfilterd.c#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bin/auditfilterd/auditfilterd.h#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/audit.h#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/audit_filter.h#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/audit_internal.h#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/audit_kevents.h#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/audit_record.h#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/bsm/libbsm.h#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/config/config.h#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/config/config.h.in#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/configure#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/configure.ac#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/etc/audit_event#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/libbsm/au_token.3#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/libbsm/bsm_audit.c#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/libbsm/bsm_event.c#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/libbsm/bsm_io.c#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/libbsm/bsm_token.c#4 integrate .. //depot/projects/dtrace/src/contrib/openbsm/man/audit.log.5#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/test/bsm/generate.c#3 integrate .. //depot/projects/dtrace/src/contrib/openbsm/tools/Makefile.am#2 integrate .. //depot/projects/dtrace/src/contrib/openbsm/tools/Makefile.in#2 integrate .. //depot/projects/dtrace/src/etc/defaults/periodic.conf#4 integrate .. //depot/projects/dtrace/src/etc/etc.alpha/ttys#3 delete .. //depot/projects/dtrace/src/etc/periodic/security/410.logincheck#1 branch .. //depot/projects/dtrace/src/etc/periodic/security/Makefile#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/powerd#3 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#1 branch .. //depot/projects/dtrace/src/lib/libc/sys/kqueue.2#3 integrate .. //depot/projects/dtrace/src/lib/libsdp/sdp.h#3 integrate .. //depot/projects/dtrace/src/lib/libsdp/util.c#3 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#17 integrate .. //depot/projects/dtrace/src/sbin/restore/tape.c#3 integrate .. //depot/projects/dtrace/src/share/man/man4/auditpipe.4#2 integrate .. //depot/projects/dtrace/src/share/man/man4/dummynet.4#3 integrate .. //depot/projects/dtrace/src/share/man/man9/VFS_ROOT.9#3 integrate .. //depot/projects/dtrace/src/share/man/man9/ithread.9#3 integrate .. //depot/projects/dtrace/src/share/mk/bsd.lib.mk#6 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_proto.h#8 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_syscall.h#8 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysent.c#8 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/syscalls.master#8 integrate .. //depot/projects/dtrace/src/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/arm/cpufunc.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/dtrace/src/sys/arm/arm/identcpu.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/dtrace/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/dtrace/src/sys/arm/include/armreg.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/include/cpuconf.h#4 integrate .. //depot/projects/dtrace/src/sys/arm/include/cpufunc.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/include/elf.h#4 integrate .. //depot/projects/dtrace/src/sys/arm/include/vmparam.h#4 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321_intr.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321_pci.c#5 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321reg.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321var.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq31244_machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq80321.c#6 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq80321reg.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/dtrace/src/sys/bsm/audit.h#3 integrate .. //depot/projects/dtrace/src/sys/bsm/audit_internal.h#3 integrate .. //depot/projects/dtrace/src/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/dtrace/src/sys/bsm/audit_record.h#4 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#16 integrate .. //depot/projects/dtrace/src/sys/conf/files.powerpc#6 integrate .. //depot/projects/dtrace/src/sys/conf/options.arm#6 integrate .. //depot/projects/dtrace/src/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-raid.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/fb/creator.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/dtrace/src/sys/dev/ispfw/ispfw.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_proto.h#9 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_syscall.h#9 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_sysent.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#9 integrate .. //depot/projects/dtrace/src/sys/ia64/include/vmparam.h#3 integrate .. //depot/projects/dtrace/src/sys/kern/init_main.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thr.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_umtx.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/sched_core.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#9 integrate .. //depot/projects/dtrace/src/sys/modules/ispfw/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/dtrace/src/sys/net/if_bridge.c#11 integrate .. //depot/projects/dtrace/src/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/dtrace/src/sys/net/if_vlan.c#8 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/vmparam.h#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_ioctl.h#3 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_pipe.c#4 integrate .. //depot/projects/dtrace/src/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/dtrace/src/sys/sys/kobj.h#3 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/sched.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/umtx.h#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm_contig.c#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#13 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.h#4 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageq.c#7 integrate .. //depot/projects/dtrace/www/en/platforms/xbox.sgml#4 integrate .. //depot/projects/dtrace/www/en/projects/busdma/index.sgml#7 integrate .. //depot/projects/dtrace/www/en/projects/ideas/index.sgml#14 integrate .. //depot/projects/dtrace/www/en/snapshots/index.sgml#9 integrate .. //depot/projects/dtrace/www/share/sgml/commercial.isp.xml#2 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#8 (text+ko) ==== @@ -10,7 +10,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.785 2006/07/15 12:12:47 joel Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.786 2006/08/27 18:29:57 blackend Exp $ 1995 @@ -1884,7 +1884,7 @@ Then type boot, and your system should boot correctly. - To make this change permanent (ie so you do not + To make this change permanent (i.e, so you do not have to do this every time you reboot or turn on your FreeBSD machine), put the line root_disk_unit="disk_number" @@ -2022,7 +2022,7 @@ - Because your world and kernel are out of synch. This + Because your world and kernel are out of sync. This is not supported. Be sure you use make buildworld and make buildkernel to update your kernel. @@ -3350,7 +3350,7 @@ this with the kern.maxproc tunable. If this tunable needs adjustion it needs to be defined in in /boot/loader.conf. The tunable - will not get adjusted untill the system is rebooted. For + will not get adjusted until the system is rebooted. For more information about tuning tunables, you should see the &man.loader.conf.5; and &man.sysctl.conf.5; manual pages. If these processes are being run by a single user, you will @@ -4093,7 +4093,7 @@ This error does not mean that the &man.touch.1; utility is - missing. The error is instead propably due to the dates of the + missing. The error is instead probably due to the dates of the files being set sometime in the future. If your CMOS-clock is set to local time you need to run the command adjkerntz -i to adjust the kernel clock @@ -4126,11 +4126,11 @@ The open-source OpenOffice office + url="http://www.openoffice.org">OpenOffice.org office suite works natively on FreeBSD. The &linux; version of StarOffice, - the value-added closed-source version of OpenOffice, also + the value-added closed-source version of OpenOffice.org, also works on FreeBSD. FreeBSD also includes a variety of text editors, ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -174,9 +174,9 @@ - FreeBSD unleashed, published by - Sams, 2002. - ISBN: 0672324563 + FreeBSD 6 Unleashed, published by + Sams, 2006. + ISBN: 0672328755 ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1200,12 +1200,25 @@ way. Disks with certain ISO 9660 extensions might behave oddly, however. For example, Joliet disks store all filenames in two-byte Unicode characters. The FreeBSD kernel does not - speak Unicode (yet!), so non-English characters show up as - question marks. (The FreeBSD - CD9660 driver includes hooks to load an appropriate Unicode - conversion table on the fly. Modules for some of the common - encodings are available via the - sysutils/cd9660_unicode port.) + speak Unicode, but the &os; CD9660 driver is able to convert + Unicode characters on the fly. If some non-English characters + show up as question marks you will need to specify the local + charset you use with the option. For more + information, consult the &man.mount.cd9660.8; manual + page. + + + To be able to do this character conversion with the help + of the option, the kernel will require + the cd9660_iconv.ko module to be + loaded. This can be done either by adding this line to + loader.conf: + + cd9660_iconv_load="YES" + + and then rebooting the machine, or by directly loading the + module with &man.kldload.8;. + Occasionally, you might get Device not configured when trying to mount a CDROM. This ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2241,10 +2241,67 @@ firewall_type="open" - Or load custom rules by setting the following variable to the - file containing them: + Available values for this setting are: + + + + open — pass all traffic. + + + client — will protect only this + machine. + + + simple — protect the whole + network. + + + closed — entirely disables IP + traffic except for the loopback interface. + + + UNKNOWN — disables the loading + of firewall rules. + + + filename — absolute path of + file containing firewall rules. + + + + It is possible to use two different ways to load custom + rules for ipfw firewall. One is + by setting firewall_type variable to absolute + path of file, which contains firewall rules + without any command-line options for &man.ipfw.8; itself. A + simple examble of ruleset file can be following: + + add block in all +add block out all + + On the other hand, it is possible to set + firewall_script variable to absolute path of + executable script that includes ipfw commands + being executed at system boot time. A valid ruleset script that + would be equivalent to the ruleset file shown above would + be following: + + #!/bin/sh + +ipfw -q flush + +ipfw add block in all +ipfw add block out all - firewall_script="/etc/ipfw.rules" + + If firewall_type is set to either + client or simple, the + default rules found in /etc/rc.firewall + should be reviewed to fit to the configuration of the given + machine. Also note that the examples used in this chapter + expect that the firewall_script is set to + /etc/ipfw.rules. + Enable logging: ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mail/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1335,17 +1335,7 @@ via &man.m4.1; preprocessing, where the actual configuration occurs on a higher abstraction level. The &man.m4.1; configuration files can be found under - /usr/src/usr.sbin/sendmail/cf. - - If you did not install your system with full sources, the - sendmail configuration set has been broken out into a separate source - distribution tarball. Assuming you have your FreeBSD source code - CDROM mounted, do: - - &prompt.root; cd /cdrom/src -&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail - - This extracts to only a few hundred kilobytes. The file + /usr/share/sendmail/cf. The file README in the cf directory can serve as a basic introduction to &man.m4.1; configuration. @@ -1356,13 +1346,13 @@ First, you have to create your .mc file. The directory - /usr/src/usr.sbin/sendmail/cf/cf contains a + /usr/share/sendmail/cf/cf contains a few examples. Assuming you have named your file foo.mc, all you need to do in order to convert it into a valid sendmail.cf is: - &prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf + &prompt.root; cd /etc/mail &prompt.root; make foo.cf &prompt.root; cp foo.cf /etc/mail/sendmail.cf ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4091,9 +4091,38 @@ To gain support for PHP5 for the Apache web server, begin by installing the - www/mod_php5 + lang/php5 port. + If the lang/php5 port + is being installed for the first time, available + OPTIONS will be displayed automatically. + If a menu is not displayed, i.e. because the lang/php5 port has been installed + some time in the past, it is always possible to bring the + options dialog up again by running: + + &prompt.root; make config + + in the port directory. + + In the options dialog, check the + APACHE option to build + mod_php5 as a loadable module for + the Apache web server. + + + A lot of sites are still using PHP4 + for various reasons (i.e. compatibility issues or already + deployed web applications). If the + mod_php4 is needed instead of + mod_php5, then please use the + lang/php4 port. The + lang/php4 port supports + many of the configuration and build-time options of the + lang/php5 port. + + This will install and configure the modules required to support dynamic PHP applications. Check to ensure the following sections have been added to @@ -4117,6 +4146,11 @@ &prompt.root; apachectl graceful + For future upgrades of PHP, the + make config command will not be required; + the selected OPTIONS are saved + automatically by the &os; Ports framework. + The PHP support in &os; is extremely modular so the base install is very limited. It is very easy to add support using the ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#5 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1069,7 +1069,7 @@ one-time passwords - By default, &os; includes suppor for OPIE (One-time Passwords + By default, &os; includes support for OPIE (One-time Passwords In Everything), which uses the MD5 hash by default. There are three different sorts of passwords which we will discuss ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#21 (text+ko) ==== @@ -1,7 +1,7 @@ PREFIX. Some ports lump everything and put it in the subdirectory with the port's name, which is incorrect. Also, many ports put everything except binaries, header files and manual - pages in the a subdirectory of lib, which does + pages in a subdirectory of lib, which does not work well with the BSD paradigm. Many of the files should be moved to one of the following: etc (setup/configuration files), libexec @@ -9920,7 +9920,7 @@ BROKEN is reserved for ports that currently do not compile, install, or deinstall correctly. - It should be used for ports where the the problem is + It should be used for ports where the problem is believed to be temporary. If instructed, the build cluster will still attempt to @@ -9979,7 +9979,7 @@ IGNORE is reserved for ports that should not be built for some other reason. - It should be used for ports where the the problem is + It should be used for ports where the problem is believed to be structural. The build cluster will not, under any @@ -10027,7 +10027,7 @@ - If a port sould be marked IGNORE + If a port should be marked IGNORE only on certain architectures, there are two other convenience variables that will automatically set IGNORE for you: @@ -10123,7 +10123,7 @@ It is a common mistake to use .error for this purpose. The problem with this is that many automated tools that work with the ports tree will fail in - this situation. The most common occurence of this is seen + this situation. The most common occurrence of this is seen when trying to build /usr/ports/INDEX (see ). However, even more trivial commands such as make -V maintainer @@ -10158,7 +10158,7 @@ Usage of &man.sysctl.8; should always be done with the SYSCTL variable, as it contains the - fully qualified path and can be overriden, if one has such a + fully qualified path and can be overridden, if one has such a special need. ==== //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml#3 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -902,8 +902,7 @@ class="directory">/tmp. Dit kan geautomatiseerd worden met de tmpmfs-gerelateerde variabelen van &man.rc.conf.5; (of met een regel in - /etc/fstab). Zie &man.mdmfs.8; - (of &man.mfs.8; voor &os; 4.X). + /etc/fstab). Zie &man.mdmfs.8;. @@ -1302,9 +1301,8 @@ en het terugzetten van de gebackupte data. - &os; 4.4 en latere versies hebben &man.growfs.8;, - waarmee de grootte van het bestandssysteem is aan te passen - terwijl het draait. + &os; heeft &man.growfs.8; waarmee de grootte van het + bestandssysteem is aan te passen terwijl het draait. @@ -2549,25 +2547,9 @@ Als een nieuw apparaat wordt toegevoegd aan een systeem of als ondersteuning voor extra apparaten wordt gecompileerd, dan - moeten misschien één of meer apparaatnodes voor - het nieuwe apparaat gemaakt worden. + moeten er misschien nieuwe apparaat nodes aangemaakt worden. - Het MAKEDEV script - - Op systemen zonder DEVFS (dit is het - geval voor alle &os; versies vóór 5.0) worden - apparaatnodes gemaakt door het script &man.MAKEDEV.8; zoals - hieronder wordt aangegeven: - - &prompt.root; cd /dev -&prompt.root; sh MAKEDEV ad1 - - Dit voorbeeld maakt de juiste apparaatnode voor de tweede - IDE drive wanneer die geïnstalleerd is. - - - <literal>DEVFS</literal> (apparaatbestandssysteem - DEVice File System) @@ -2578,9 +2560,6 @@ DEVFS dit. In &man.devfs.5; staat meer informatie. - - DEVFS wordt standaard gebruikt in - &os; 5.0 en verder. ==== //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 (text+ko) ==== @@ -1,8 +1,8 @@ @@ -409,9 +409,16 @@ + Spinellis, Diomidis. Code + Quality: The Open Source Perspective. + Addison-Wesley, 2006. ISBN 0-321-16607-8 + + + Stevens, W. Richard. Advanced Programming in the UNIX Environment. Reading, Mass. : - Addison-Wesley, 1992. ISBN 0-201-56317-7 + Addison-Wesley, 2005. ISBN 0-201-43307-9 ==== //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/boot/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -196,7 +196,7 @@ /boot/boot0. Het programma boot0 is erg eenvoudig, omdat MBR maar 446 bytes lang mag zijn vanwege de - slicetabel en de 0x55AA identificatie aan het einde van de + slicetabel en de 0x55AA identificatie aan het einde van de MBR. Als de &os; MBR is geïnstalleerd en er staan andere besturingssystemen op een harde schijf, dan is bij het opstarten een scherm zien dat er ongeveer zo uitziet: @@ -269,7 +269,7 @@ echter altijd samen geïnstalleerd. Ze worden gekopieerd uit het gecombineerde bestand /boot/boot door het installatieprogramma - of disklabel (zie + of bsdlabel (zie verderop). Ze staan buiten bestandssystemen in de eerste track van de @@ -282,7 +282,7 @@ boot1 is erg simpel omdat dit slechts 512 bytes groot kan zijn en net genoeg weet over het &os; - disklabel, dat informatie bevat over de + bsdlabel, dat informatie bevat over de slice om boot2 te vinden en te starten. @@ -300,15 +300,15 @@ <filename>boot2</filename> schermafbeelding >> &os;/i386 BOOT -Default: 0:ad(0,a)/kernel +Default: 0:ad(0,a)/boot/loader boot: Als ooit eens de geïnstalleerde boot1 en boot2 - vervangen moeten worden kan dat met &man.disklabel.8;: + vervangen moeten worden kan dat met &man.bsdlabel.8;: - &prompt.root; disklabel -B schijfslice + &prompt.root; bsdlabel -B schijfslice In het voorbeeld hierboven is schijfslice de schijf en slice @@ -320,10 +320,10 @@ Als alleen een schijfnaam als ad0 gebruikt wordt in - &man.disklabel.8; wordt er een een gevaarlijk toegewijde + &man.bsdlabel.8; wordt er een een gevaarlijk toegewijde schijf zonder slices gemaakt. Dit is niet aan te raden en daarom wordt aangeraden voor het uivoeren van - &man.disklabel.8; de commandoregel nog een keer te + &man.bsdlabel.8; de commandoregel nog een keer te controleren voordat er op Return wordt gedrukt. @@ -891,8 +891,7 @@ Voor energiebeheer is &man.acpi.4; ondersteuning in de - kernel nodig. Deze kan ook als module geladen worden voor - &os; 5.X. Voor &os; 4.X is dit &man.apm.4;. + kernel nodig of via een module die ingeladen moet worden. ==== //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml#3 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -205,7 +205,7 @@ Mozilla Mozilla is een moderne en - stabiele browser die volledig geschikt gemaatks is voor + stabiele browser die volledig geschikt gemaakt is voor &os;. De HTML-weergave engine voldoet in grote mate aan de standaarden. Er worden een mail- en nieuwslezer bijleverd en het pakket bevat zelfs een @@ -257,60 +257,66 @@ &prompt.user; mozilla -mail + + Firefox + + Firefox + + + Firefox is de volgende generatie + browser die gebaseerd is op Mozilla. + Mozilla is een compleet pakket aan + applicaties, waaronder een browser, een email client, een chat + client en nog veel meer. Firefox is + alleen een browser waardoor deze simpeler en sneller is. + + Installeer het pakket door het volgende te typen: + + &prompt.root; pkg_add -r firefox + + De Portscollectie kan ook gebruikt worden als je liever + vanuit de broncode installeert. + + &prompt.root; cd /usr/ports/www/firefox +&prompt.root; make install clean + + - - - - Tom - Rhodes - Bijgedragen door - - - + Firefox, Mozilla en &java; plugin - Mozilla en &java; plugin + + In deze en de volgende sectie wordt er vanuit gegaan + dat Firefox of + Mozilla reeds geïnstalleerd + is. + - Mozilla installeren is - eenvoudig, maar helaas neemt Mozilla >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 27 23:57:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B93CF16A4E1; Sun, 27 Aug 2006 23:57:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9677216A4DA for ; Sun, 27 Aug 2006 23:57:33 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3647043D45 for ; Sun, 27 Aug 2006 23:57:33 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7RNvX49016002 for ; Sun, 27 Aug 2006 23:57:33 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7RNvW4A015999 for perforce@freebsd.org; Sun, 27 Aug 2006 23:57:32 GMT (envelope-from cognet@freebsd.org) Date: Sun, 27 Aug 2006 23:57:32 GMT Message-Id: <200608272357.k7RNvW4A015999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 105197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Aug 2006 23:57:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=105197 Change 105197 by cognet@cognet on 2006/08/27 23:56:45 Fix the timecounter by using the timestamp timer instead of the general purpose timer. The rational behind this is that we set up the general purpose timer to tick, so to reset back to 0, every hz, while the MI timecounter code expects it to reach 0xffffffff, as we provide a counter_mask of 0xffffffff. We could hack the countermask to fit the max value, or use the second general purpose timer to do so, but I think it doesn't worth the trouble. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#2 (text+ko) ==== @@ -79,10 +79,6 @@ static struct ixpclk_softc *ixpclk_sc = NULL; -#define GET_TIMER_VALUE(sc) (bus_space_read_4((sc)->sc_iot, \ - (sc)->sc_ioh, \ - IXP425_OST_TIM0)) - #define GET_TS_VALUE(sc) (*(volatile u_int32_t *) \ (IXP425_TIMER_VBASE + IXP425_OST_TS)) @@ -138,10 +134,9 @@ static unsigned ixp425_timer_get_timecount(struct timecounter *tc) { - struct ixpclk_softc* sc = ixpclk_sc; uint32_t ret; - ret = GET_TIMER_VALUE(sc); + ret = GET_TS_VALUE(sc); return (ret); } From owner-p4-projects@FreeBSD.ORG Mon Aug 28 00:53:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 827FC16A4E1; Mon, 28 Aug 2006 00:53:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 43B6816A4DD for ; Mon, 28 Aug 2006 00:53:02 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D576E43D45 for ; Mon, 28 Aug 2006 00:53:01 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S0r1Vc027762 for ; Mon, 28 Aug 2006 00:53:01 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S0qv4K027747 for perforce@freebsd.org; Mon, 28 Aug 2006 00:52:57 GMT (envelope-from piso@freebsd.org) Date: Mon, 28 Aug 2006 00:52:57 GMT Message-Id: <200608280052.k7S0qv4K027747@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 00:53:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=105198 Change 105198 by piso@piso_newluxor on 2006/08/28 00:52:53 IFC Affected files ... .. //depot/projects/soc2005/libalias/bin/cp/cp.1#2 integrate .. //depot/projects/soc2005/libalias/bin/cp/cp.c#3 integrate .. //depot/projects/soc2005/libalias/bin/cp/extern.h#2 integrate .. //depot/projects/soc2005/libalias/bin/cp/utils.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/ansidecl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/builtins.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-common.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-common.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-decl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-objc-common.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-pch.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/c-typeck.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cfgcleanup.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/combine.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config.gcc#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config.host#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/alpha/alpha.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/alpha/alpha.md#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/arm/arm-protos.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/arm/arm.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/arm/arm.md#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/host-linux.c#1 branch .. //depot/projects/soc2005/libalias/contrib/gcc/config/host-solaris.c#1 branch .. //depot/projects/soc2005/libalias/contrib/gcc/config/i386/i386.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/i386/i386.md#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/ia64/hpux.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/aix51.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/host-darwin.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/linux64.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/rs6000-protos.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/rs6000.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/rs6000.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/rs6000.md#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/rs6000/sysv4.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/sparc/gmon-sol2.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/sparc/sol2-gas-bi.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/sparc/sol2.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/sparc/sparc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/sparc/sparc.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/config/x-linux#1 branch .. //depot/projects/soc2005/libalias/contrib/gcc/config/x-solaris#1 branch .. //depot/projects/soc2005/libalias/contrib/gcc/configure#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/configure.ac#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/coverage.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/call.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/class.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/cp-tree.def#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/cp-tree.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/cvt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/decl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/decl2.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/error.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/init.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/lex.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/method.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/name-lookup.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/name-lookup.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/parser.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/pt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/search.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/semantics.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cp/typeck.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cppfiles.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cpphash.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cppinit.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/cse.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/doc/contrib.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/doc/hostconfig.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/doc/include/gcc-common.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/doc/invoke.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/expmed.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/f/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/f/g77.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/f/g77spec.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/flow.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/fold-const.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/gcc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/gcov-dump.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/gcov.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/gcse.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/ggc-common.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/global.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/hooks.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/hooks.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/hosthooks-def.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/hosthooks.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/local-alloc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/longlong.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/loop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/md5.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/md5.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/mips-tdump.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/mips-tfile.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/mklibgcc.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/optabs.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/pretty-print.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/reg-stack.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/regrename.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/regs.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/rtl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/sched-rgn.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/simplify-rtx.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/stmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/toplev.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/tree.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/unroll.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libf2c/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/libobjc/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/libobjc/README#2 integrate .. //depot/projects/soc2005/libalias/contrib/libstdc++/ChangeLog#2 integrate .. //depot/projects/soc2005/libalias/contrib/libstdc++/include/bits/c++config#2 integrate .. //depot/projects/soc2005/libalias/contrib/libstdc++/include/bits/fstream.tcc#2 integrate .. //depot/projects/soc2005/libalias/contrib/libstdc++/include/c_std/std_cmath.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/libstdc++/include/ext/hashtable.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/FREEBSD-upgrade#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/HISTORY#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/README#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/VERSION#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditfilterd/auditfilterd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditfilterd/auditfilterd.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_filter.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_internal.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_kevents.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_record.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/libbsm.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/config/config.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/config/config.h.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/configure#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/configure.ac#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/etc/audit_event#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_token.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_audit.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_event.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_token.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit.log.5#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/bsm/generate.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/tools/Makefile.am#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/tools/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/etc/defaults/periodic.conf#2 integrate .. //depot/projects/soc2005/libalias/etc/etc.alpha/ttys#2 delete .. //depot/projects/soc2005/libalias/etc/periodic/security/410.logincheck#1 branch .. //depot/projects/soc2005/libalias/etc/periodic/security/Makefile#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/powerd#2 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#4 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/Makefile#3 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#1 branch .. //depot/projects/soc2005/libalias/lib/libc/sys/kqueue.2#2 integrate .. //depot/projects/soc2005/libalias/lib/libsdp/sdp.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libsdp/util.c#2 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#6 integrate .. //depot/projects/soc2005/libalias/sbin/restore/tape.c#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/auditpipe.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/dummynet.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/VFS_ROOT.9#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/ithread.9#2 integrate .. //depot/projects/soc2005/libalias/share/mk/bsd.lib.mk#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_dummy.c#3 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/if_ate.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/EP80219#1 branch .. //depot/projects/soc2005/libalias/sys/arm/include/armreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/include/cpuconf.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/include/cpufunc.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/include/elf.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/include/vmparam.h#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/iq80321.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/soc2005/libalias/sys/bsm/audit.h#2 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_kevents.h#3 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_record.h#3 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#6 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.powerpc#4 integrate .. //depot/projects/soc2005/libalias/sys/conf/options.arm#4 integrate .. //depot/projects/soc2005/libalias/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/fb/creator.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/ispfw/ispfw.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_dummy.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/soc2005/libalias/sys/ia64/include/vmparam.h#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_main.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_core.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_ule.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_witness.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/net/if_bridge.c#7 integrate .. //depot/projects/soc2005/libalias/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net/if_vlan.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_subr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_token.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_ioctl.h#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_pipe.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/kobj.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/proc.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/sched.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/umtx.h#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_contig.c#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_page.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_page.h#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_pageq.c#3 integrate Differences ... ==== //depot/projects/soc2005/libalias/bin/cp/cp.1#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.33 2005/02/25 00:40:46 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.35 2006/08/25 09:58:13 ru Exp $ .\" -.Dd February 23, 2005 +.Dd August 24, 2006 .Dt CP 1 .Os .Sh NAME @@ -45,7 +45,7 @@ .Op Fl H | Fl L | Fl P .Oc .Op Fl f | i | n -.Op Fl pv +.Op Fl lpv .Ar source_file target_file .Nm .Oo @@ -53,7 +53,7 @@ .Op Fl H | Fl L | Fl P .Oc .Op Fl f | i | n -.Op Fl pv +.Op Fl lpv .Ar source_file ... target_directory .Sh DESCRIPTION In the first synopsis form, the @@ -144,6 +144,8 @@ or .Fl n options.) +.It Fl l +Create hard links to regular files in a hierarchy instead of copying. .It Fl n Do not overwrite an existing file. (The ==== //depot/projects/soc2005/libalias/bin/cp/cp.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.53 2006/07/04 20:52:36 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.54 2006/08/24 20:45:38 julian Exp $"); /* * Cp copies source files to target files. @@ -83,7 +83,7 @@ PATH_T to = { to.p_path, emptystring, "" }; -int fflag, iflag, nflag, pflag, vflag; +int fflag, iflag, lflag, nflag, pflag, vflag; static int Rflag, rflag; volatile sig_atomic_t info; @@ -102,7 +102,7 @@ char *target; Hflag = Lflag = Pflag = 0; - while ((ch = getopt(argc, argv, "HLPRfinprv")) != -1) + while ((ch = getopt(argc, argv, "HLPRfinprvl")) != -1) switch (ch) { case 'H': Hflag = 1; @@ -140,6 +140,9 @@ case 'v': vflag = 1; break; + case 'l': + lflag = 1; + break; default: usage(); break; @@ -457,6 +460,9 @@ badcp = rval = 1; } break; + case S_IFSOCK: + warnx("%s is a socket (not copied).", + curr->fts_path); case S_IFIFO: if (Rflag) { if (copy_fifo(curr->fts_statp, !dne)) ==== //depot/projects/soc2005/libalias/bin/cp/extern.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.2 (Berkeley) 4/1/94 - * $FreeBSD: src/bin/cp/extern.h,v 1.20 2005/09/05 04:36:08 csjp Exp $ + * $FreeBSD: src/bin/cp/extern.h,v 1.21 2006/08/24 20:45:38 julian Exp $ */ typedef struct { @@ -37,7 +37,7 @@ } PATH_T; extern PATH_T to; -extern int fflag, iflag, nflag, pflag, vflag; +extern int fflag, iflag, lflag, nflag, pflag, vflag; extern volatile sig_atomic_t info; __BEGIN_DECLS ==== //depot/projects/soc2005/libalias/bin/cp/utils.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.46 2005/09/05 04:36:08 csjp Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.49 2006/08/25 09:58:13 ru Exp $"); #include #include @@ -61,7 +61,7 @@ { static char buf[MAXBSIZE]; struct stat *fs; - int ch, checkch, from_fd, rcount, rval, to_fd; + int ch, checkch, from_fd = 0, rcount, rval, to_fd = 0; ssize_t wcount; size_t wresid; size_t wtotal; @@ -109,15 +109,20 @@ /* remove existing destination file name, * create a new file */ (void)unlink(to.p_path); - to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, - fs->st_mode & ~(S_ISUID | S_ISGID)); - } else - /* overwrite existing destination file name */ - to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0); - } else - to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, - fs->st_mode & ~(S_ISUID | S_ISGID)); - + if (!lflag) + to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, + fs->st_mode & ~(S_ISUID | S_ISGID)); + } else { + if (!lflag) + /* overwrite existing destination file name */ + to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0); + } + } else { + if (!lflag) + to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, + fs->st_mode & ~(S_ISUID | S_ISGID)); + } + if (to_fd == -1) { warn("%s", to.p_path); (void)close(from_fd); @@ -126,77 +131,85 @@ rval = 0; - /* - * Mmap and write if less than 8M (the limit is so we don't totally - * trash memory on big files. This is really a minor hack, but it - * wins some CPU back. - */ + if (!lflag) { + /* + * Mmap and write if less than 8M (the limit is so we don't totally + * trash memory on big files. This is really a minor hack, but it + * wins some CPU back. + */ #ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED - if (S_ISREG(fs->st_mode) && fs->st_size > 0 && - fs->st_size <= 8 * 1048576) { - if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ, - MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) { - warn("%s", entp->fts_path); - rval = 1; - } else { - wtotal = 0; - for (bufp = p, wresid = fs->st_size; ; - bufp += wcount, wresid -= (size_t)wcount) { - wcount = write(to_fd, bufp, wresid); - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); - - } - if (wcount >= (ssize_t)wresid || wcount <= 0) - break; - } - if (wcount != (ssize_t)wresid) { - warn("%s", to.p_path); - rval = 1; - } - /* Some systems don't unmap on close(2). */ - if (munmap(p, fs->st_size) < 0) { + if (S_ISREG(fs->st_mode) && fs->st_size > 0 && + fs->st_size <= 8 * 1048576) { + if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ, + MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) { warn("%s", entp->fts_path); rval = 1; + } else { + wtotal = 0; + for (bufp = p, wresid = fs->st_size; ; + bufp += wcount, wresid -= (size_t)wcount) { + wcount = write(to_fd, bufp, wresid); + wtotal += wcount; + if (info) { + info = 0; + (void)fprintf(stderr, + "%s -> %s %3d%%\n", + entp->fts_path, to.p_path, + cp_pct(wtotal, fs->st_size)); + + } + if (wcount >= (ssize_t)wresid || wcount <= 0) + break; + } + if (wcount != (ssize_t)wresid) { + warn("%s", to.p_path); + rval = 1; + } + /* Some systems don't unmap on close(2). */ + if (munmap(p, fs->st_size) < 0) { + warn("%s", entp->fts_path); + rval = 1; + } } - } - } else + } else #endif - { - wtotal = 0; - while ((rcount = read(from_fd, buf, MAXBSIZE)) > 0) { - for (bufp = buf, wresid = rcount; ; - bufp += wcount, wresid -= wcount) { - wcount = write(to_fd, bufp, wresid); - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); - + { + wtotal = 0; + while ((rcount = read(from_fd, buf, MAXBSIZE)) > 0) { + for (bufp = buf, wresid = rcount; ; + bufp += wcount, wresid -= wcount) { + wcount = write(to_fd, bufp, wresid); + wtotal += wcount; + if (info) { + info = 0; + (void)fprintf(stderr, + "%s -> %s %3d%%\n", + entp->fts_path, to.p_path, + cp_pct(wtotal, fs->st_size)); + + } + if (wcount >= (ssize_t)wresid || wcount <= 0) + break; } - if (wcount >= (ssize_t)wresid || wcount <= 0) + if (wcount != (ssize_t)wresid) { + warn("%s", to.p_path); + rval = 1; break; + } } - if (wcount != (ssize_t)wresid) { - warn("%s", to.p_path); + if (rcount < 0) { + warn("%s", entp->fts_path); rval = 1; - break; } } - if (rcount < 0) { - warn("%s", entp->fts_path); + } else { + if (link(entp->fts_path, to.p_path)) { + warn("%s", to.p_path); rval = 1; } } - + (void)close(from_fd); + /* * Don't remove the target even after an error. The target might * not be a regular file, or its attributes might be important, @@ -204,14 +217,16 @@ * to remove it if we created it and its length is 0. */ - if (pflag && setfile(fs, to_fd)) - rval = 1; - if (pflag && preserve_fd_acls(from_fd, to_fd) != 0) - rval = 1; - (void)close(from_fd); - if (close(to_fd)) { - warn("%s", to.p_path); - rval = 1; + if (!lflag) { + if (pflag && setfile(fs, to_fd)) + rval = 1; + if (pflag && preserve_fd_acls(from_fd, to_fd) != 0) + rval = 1; + (void)close(from_fd); + if (close(to_fd)) { + warn("%s", to.p_path); + rval = 1; + } } return (rval); } @@ -411,8 +426,8 @@ { (void)fprintf(stderr, "%s\n%s\n", -"usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file target_file", -" cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file ... " +"usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] source_file target_file", +" cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] source_file ... " "target_directory"); exit(EX_USAGE); } ==== //depot/projects/soc2005/libalias/contrib/gcc/ChangeLog#2 (text+ko) ==== @@ -1,3 +1,822 @@ +2006-04-25 Nick Clifton + + * config/m32r/m32r.c (gen_compare): Fix reg/smallconst equal code, + the patch for which was accidentally omitted from the previous + commit. + +2006-04-04 Kazuhiro Inaoka + + PR target/26775 + PR target/26776 + * config/m32r/m32r.c (m32r_output_function_epilogue): Case for + a large stack frame at epilogue. Use fp to recover a stack + pointer for alloca function at epilogue. + + PR target/36276 + * config/m32r/m32r.c (gen_compare): Removed a rule addsi3 codes + to avoid a miss optimizing at simplify_relational_operation(). + * config/m32r/m32r.md (seq): Ditto. Changed reg_or_eq_int16_operand + to reg_or_uint16_operand because seq_insn has not used addsi3 already. + (seq_insn): Ditto. Removed operand check mode "P". Changed + reg_or_eq_int16_operand to reg_or_uint16_operand. + +2006-03-05 Release Manager + + * GCC 3.4.6 released. + +2006-03-01 Gabriel Dos Reis + + Backport + 2005-11-03 James E Wilson + + PR preprocessor/24202 + * cppfiles.c (_cpp_pop_file_buffer): Set buffer_valid to false. + +2006-03-01 Alan Modra + + PR target/21616 + Revert most of 2004-03-10 changes, apply mainline 2005-01-07. + * config/rs6000/rs6000.c (invalid_gpr_mem): Delete. + (base_reg_operand): Delete. + (legitimate_offset_address_p): Revert 2004-03-10 changes. + (secondary_reload_class): Likewise. + (rs6000_legitimize_reload_address): Convert non-word aligned + offset address using ld/std into indirect address. + * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Define. + (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Delete. + (PREDICATE_CODES): Delete invalid_gpr_mem and base_reg_operand. + * config/rs6000/rs6000-protos.h (secondary_reload_class): Update. + * config/rs6000/rs6000.md (movdf_hardfloat64): Remove m->b + alternative and split. + (movdi_internal64): Likewise. + (reload_outdf, reload_indf, reload_outdi, reload_indi): Delete. + +2006-02-28 Gabriel Dos Reis + + Backport + 2004-04-28 Serge Belyshev <1319@bot.ru> + + PR 14944 + * coverage.c (read_counts_file): Fix usage of warning () call. + * pretty-print.c (pp_base_format_text): Fix typo in the comment. + +2006-02-18 Olivier Hainque + + PR ada/13408 + * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. + +2006-02-13 Kaveh R. Ghazi + + Backport: + 2006-02-01 Steve Ellcey + + PR middle-end/24901 + * fold-const.c (fold_checksum_tree): Change type of buf. + +2006-02-11 Kaveh R. Ghazi + + * doc/contrib.texi: Update my entry. + +2006-02-09 Eric Botcazou + + * config/sparc/sparc.c (tls_call_delay): Fix oversight. + +2006-02-07 John David Anglin + + PR target/26109 + * pa.c (attr_length_indirect_call): Don't return length 8 for distances + >= 240000 when generating code for SOM runtime. + (output_indirect_call): Don't use "b,l" instruction for indirect calls + to $$dyncall when generating code for SOM runtime.. + +2006-02-02 Nick Clifton + + PR 24376 + * sched-rgn.c (add_branch_dependences): For cc0 targets extend + the dependencies inside a block back to the very first cc0 setter + in the block. + +2006-01-21 Joseph S. Myers + + * gcc.c (process_command), gcov.c (print_version), gcov-dump.c + (print_version), mips-tdump.c (main), mips-tfile.c (main): Update + copyright notice dates. + +2006-01-12 Kaz Kojima + + PR target/25613 + * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version. + +2005-12-30 Roger Sayle + + PR target/25213 + Backport from mainline + 2005-09-06 Jakub Jelinek + + PR rtl-optimization/23098 + * cse.c (fold_rtx_mem): Call delegitimize_address target hook. + * simplify-rtx.c (constant_pool_reference_p): New function. + * rtl.h (constant_pool_reference_p): New prototype. + * config/i386/i386.md (pushf split, mov[sdx]f split): Use + constant_pool_reference_p in condition and + avoid_constant_pool_reference in preparation statements. + +2005-12-30 John David Anglin + + PR fortran/25586 + * pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point + store patterns. + +2005-12-29 Alan Modra + + PR target/25572 + * config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live. + +2005-12-17 Steven Bosscher + + PR rtl-optimization/23837 + * optabs.c (expand_binop): For a multi-word rotate, never emit + a REG_NO_CONFLICT block. + +2005-12-16 John David Anglin + + Backport from mainline: + 2004-11-01 Mike Stump + + * inclhack.def (stdio_va_list): Break out clients from here... + (stdio_va_list_clients): ...to here. Also, don't fix if stdarg.h is + included or ifdef va_start. + * fixincl.x: Regenerate. + +2005-12-13 Alan Modra + + * config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define. + +2005-12-10 John David Anglin + + PR target/25258 + * pa.c (som_text_section_asm_op): Use .NSUBSPA directive when changing + to the text subspace to output debugging information. + +2005-12-06 Alan Modra + + PR other/13873 + * longlong.h: Merge PPC tests from upstream. + +2005-12-03 Kaveh R. Ghazi + + PR middle-end/25022 + * builtins.c (expand_builtin_fputs, expand_builtin_printf, + expand_builtin_fprintf): Lookup the explicit replacement functions + for any unlocked stdio builtin transformations. + + * builtins.c (expand_builtin_fputs): Defer check for missing + replacement functions. + +2005-12-02 Volker Reichelt + + PR c++/24103 + Backport: + 2002-08-22 Diego Novillo + + * tree.c (simple_cst_equal): Call simple_cst_list_equal to compare + CONSTRUCTOR_ELTS pointers. + +2005-12-01 Gabriel Dos Reis + + * version.c: Bump version number. + * doc/include/gcc-common.texi: Likewise. + +2005-11-30 Release Manager + + * GCC 3.4.5 released. + +2005-11-23 Alan Modra + + PR middle-end/24950 + * expmed.c (store_bit_field): Don't attempt to insv a field + larger than the reg. + + Merge from trunk + 2005-11-14 Dale Johannesen + * expmed.c (store_bit_field): Add offset unconditionally for + memory targets. + (extract_bit_field): Don't force extzv or extv operand into + a register if field is too big. + 2004-12-01 Richard Henderson + * expmed.c (store_bit_field): Use simplify_gen_subreg instead + of gen_rtx_SUBREG directly. + +2005-11-16 Steve Ellcey + + PR target/24718 + * mklibgcc.in: Create dummy object for libgcc_eh.a + * config/ia64/hpux.h (LIBGCC_SPEC): Remove. + +2005-11-13 Andreas Jaeger + + * fixinc/check.tpl: Handle CVS additionally. + +2005-11-10 Uros Bizjak + + PR target/24315 + * config/i386/i386.md (*pushdi2_rex64 splitter) + (*movdi_1_rex64 splitter): Delay splitting after + flow2 pass only when (optimize > 0 && flag_peephole2). + +2005-11-10 Uros Bizjak + + PR target/19340 + * reg-stack.c (reg_to_stack): Update register liveness also + for flag_sched2_use_traces. + +2005-11-09 Per Bothner + Uros Bizjak + + PR c/24101 + * toplev.c (process_options): Initialize debug_hooks early + in case lang_hooks.post_options ends up calling a debug_hook. + * cppinit.c (read_original_filename): Temporarily set + state.in_directive before calling _cpp_lex_direct for + CPP_HASH tokens. + +2005-11-07 Steve Ellcey + + PR bootstrap/24688 + * fixinc/inclhack.def (sco_math): Add bypass. + * fixinc/fixincl.x: Regenerate. + +2005-11-07 James E Wilson + + PR preprocessor/15220 + * cppfiles.c (_cpp_find_file): New parameter angle_brackets. Fix all + callers. Pass to open_file_failed. + (open_file_failed): New parameter angle_brackets. Fix + all callers. use in print_dep assignment. + * cpphash.h (_cpp_find_file): Add new parm to declaration. + * cppinit.c (cpp_read_main_file): Pass another arg to _cpp_find_file. + +2005-11-05 Andreas Jaeger + + * fixinc/check.tpl: Adopt for move to subversion. + +2005-11-03 Richard Guenther + + PR middle-end/24470 + * fold-const.c (fold): Avoid running in circles if we + got some un-folded subtree. + +2005-10-30 Alan Modra + + PR target/23070 + * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to + stdarg functions, set/clear the fp marker even when no variable + args are passed. + * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Describe + -mprototype and -mno-prototype. + +2005-10-21 Alan Modra + + PR target/24465 + * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always + use r2 for 64-bit tls .got access. + +2005-10-19 Paolo Bonzini + + * dojump.c (do_jump): Revert the last patch as it breaks Ada. + +2005-10-19 Paolo Bonzini + + PR #19672 + * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR + like TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, if the branch cost + is low enough. + +2005-10-09 Eric Botcazou + + * config/sparc/gmon-sol2.c (internal_mcount): Mark as used. + +2005-10-08 Janis Johnson + + PR debug/24267 + Partial backport from mainline + 2004-05-04 Paolo Bonzini + Richard Henderson + * tree.c (make_or_reuse_type): New. + (build_common_tree_nodes): Use it. + + PR target/18583 + Partial backport from mainline + 2004-05-04 Paolo Bonzini + Richard Henderson + * c-common.c (vector_types_convertible_p): New function. + * c-common.h: Declare it. + * c-typeck.c (digest_init): Use it. + +2005-10-07 James E Wilson + + PR target/23644 + * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from + -mtune-arch. + +2005-10-01 Richard Earnshaw + + PR target/23985 + Back-port 2004-08-19 Richard Henderson + * config/arm/arm.c (arm_gen_load_multiple): Use + adjust_automodify_address. Take base memory and offset instead + of unchanging/struct/scalar bits. + (arm_gen_store_multiple): Likewise. + (arm_gen_movstrqi): Use adjust_automodify_address. + * config/arm/arm-protos.h: Update decls. + * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call. + (store_multiple): Similarly. + +2005-09-29 Alan Modra + + PR target/24102 + * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range + check for numbers that need no bit twiddle. + +2005-09-09 Richard Guenther + + PR c/20239 + * cppinit.c (cpp_read_main_file): Avoid segfaulting on + NULL pfile->map. + +2005-09-09 Richard Guenther + + PR c++/23624 + * fold-const.c (fold): Check truth_value_p before calling + invert_truthvalue. + +2005-09-08 Craig Rodrigues + + Backport from mainline + 2005-09-01 Craig Rodrigues + + * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls, + do not issue warning for a variable definition following + a declaration. + +2005-09-02 Richard Sandiford + + PR c/22061 + * c-decl.c (push_parm_decl): Push and pop x_dont_save_pending_sizes_p + around the call to grokdeclarator. Call grokdeclarator with the + field set to 0. + (store_parm_decls): Always store the pending_sizes in cfun. + (c_expand_body_1): Call put_pending_sizes. + * c-objc-common.c (c_cannot_inline_tree_fn): Always check + pending_sizes. + +2005-09-01 Jakub Jelinek + + PR rtl-optimization/23478 + * regs.h (reg_info): Add throw_calls_crossed. + (REG_N_THROWING_CALLS_CROSSED): Define. + * flow.c (allocate_reg_life_data): Initialize + REG_N_THROWING_CALLS_CROSSED. + (propagate_one_insn, attempt_auto_inc): Update + REG_N_THROWING_CALLS_CROSSED. + * local-alloc.c (struct qty): Add n_throwing_calls_crossed field. + (alloc_qty): Initialize it. + (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED. + (combine_regs): Combine also n_throwing_calls_crossed fields. + (find_free_reg): Don't attempt to caller-save pseudos crossing + calls that might throw. + * global.c (struct allocno): Add throwing_calls_crossed field. + (global_alloc): Initialize throwing_calls_crossed. + (find_reg): Don't attempt to caller-save pseudos crossing calls that + might throw. + +2005-09-01 Richard Earnshaw + + PR rtl-optimization/17810 target/15342 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 28 04:29:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84C2F16A4E5; Mon, 28 Aug 2006 04:29:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5F60016A4DD for ; Mon, 28 Aug 2006 04:29:37 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F8B243D45 for ; Mon, 28 Aug 2006 04:29:37 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S4TaRd050182 for ; Mon, 28 Aug 2006 04:29:36 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S4Taah050179 for perforce@freebsd.org; Mon, 28 Aug 2006 04:29:36 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 28 Aug 2006 04:29:36 GMT Message-Id: <200608280429.k7S4Taah050179@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105204 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 04:29:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=105204 Change 105204 by mjacob@newisp on 2006/08/28 04:28:56 Don't do debug printouts on non-2400 platforms. Affected files ... .. //depot/projects/newisp/dev/isp/isp_pci.c#4 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp_pci.c#4 (text+ko) ==== @@ -1182,7 +1182,7 @@ ispsoftc_t *isp = arg; uint32_t isr, sema, mbox; -printf("#"); +if (IS_24XX(isp)) printf("#"); ISP_LOCK(isp); isp->isp_intcnt++; if (ISP_READ_ISR(isp, &isr, &sema, &mbox) == 0) { From owner-p4-projects@FreeBSD.ORG Mon Aug 28 04:34:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49B1E16A4DF; Mon, 28 Aug 2006 04:34:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8B2116A4DA for ; Mon, 28 Aug 2006 04:34:44 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CEF243D49 for ; Mon, 28 Aug 2006 04:34:44 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S4Yimw050572 for ; Mon, 28 Aug 2006 04:34:44 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S4YiJa050569 for perforce@freebsd.org; Mon, 28 Aug 2006 04:34:44 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 28 Aug 2006 04:34:44 GMT Message-Id: <200608280434.k7S4YiJa050569@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105206 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 04:34:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=105206 Change 105206 by mjacob@newisp on 2006/08/28 04:34:23 Remove some debugging code that kept us from using ZIO mode. Add some more debugging in. Fix a weird botch in usage of '% 4d' in formats. Fix isp_mark_portdb to leave things probational for CHANGED, PENDING_VALID, VALID and PROBATIONAL entries, but to clear to NIL all other entries. This makes sure that 'new' entries that we start to evaluate get reset if we have to restart port database evaluations again. Clean out 'new_roles' and 'new_portid' entries in isp_pdb_sync. Check to make sure that when we are scanning a loop and we get a successful return from isp_get_pdb that the port database entry makes sense. The QLogic 2400 will return success and the PortID (AL_PA, actually) of 'old' entries, but will have null WWPN and WWNN and role entries. Make sure we log out of fabric devices before we log back into them again- it's just a lot cleaner and breaks stale associations. Try some more attempts to figure out what happened to interrupts for the 24XX- that's really the last big problem. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#3 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#3 (text+ko) ==== @@ -67,9 +67,6 @@ static const char fconf[] = "portdb[%d] confusion: 0x%x,0x%x 0x%x,0x%x, 0x%08x%08x/0x%08x%08x, " "0x%08x%08x/0x%08x%08x"; -static const char dbe[] = - "% 4d: state %d al %d tgt %d role 0x%x PortID 0x%06x nr %x np 0x%06x " - "WWNN 0x%08x%08x WWPN 0x%08x%08x"; static const char notresp[] = "Not RESPONSE in RESPONSE Queue (type 0x%x) @ idx %d (next %d) nlooked %d"; static const char xact1[] = @@ -1874,11 +1871,10 @@ break; } -#if 0 switch (icbp->icb_fwoptions2 & ICB2400_OPT2_TIMER_MASK) { case ICB2400_OPT2_ZIO: case ICB2400_OPT2_ZIO1: - icbp->icb_idelaytimer = 10; + icbp->icb_idelaytimer = 0; break; case 0: break; @@ -1888,9 +1884,6 @@ icbp->icb_fwoptions2 &= ~ICB2400_OPT2_TIMER_MASK; break; } -#else - icbp->icb_fwoptions2 &= ~ICB2400_OPT2_TIMER_MASK; -#endif icbp->icb_fwoptions3 = fcp->isp_zfwoptions; icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_AUTO; @@ -1955,7 +1948,7 @@ icbp->icb_respaddr[RQRSP_ADDR3247] = DMA_WD2(isp->isp_result_dma); icbp->icb_respaddr[RQRSP_ADDR4863] = DMA_WD3(isp->isp_result_dma); - isp_prt(isp, ISP_LOGDEBUG0, + isp_prt(isp, /* ISP_LOGDEBUG0 */ ISP_LOGALL, "isp_fibre_init_2400: fwopt1 0x%x fwopt2 0x%x fwopt3 0x%x", icbp->icb_fwoptions1, icbp->icb_fwoptions2, icbp->icb_fwoptions3); isp_prt(isp, ISP_LOGDEBUG0, @@ -2047,7 +2040,9 @@ if (lp->state == FC_PORTDB_STATE_NIL) { continue; } - isp_prt(isp, ISP_LOGALL, dbe, i, lp->state, lp->autologin, + isp_prt(isp, ISP_LOGALL, "%d: state %d al %d tgt %d role 0x%x" + " PortID 0x%06x nr %x np 0x%06x WWNN 0x%08x%08x WWPN " + "0x%08x%08x", i, lp->state, lp->autologin, ((int) lp->ini_map_idx) - 1, lp->roles, lp->portid, lp->new_roles, lp->new_portid, (uint32_t) (lp->node_wwn >> 32), @@ -2067,8 +2062,22 @@ fcp->isp_ini_map[i] = 0; if (onprobation == 0) { MEMZERO(&fcp->portdb[i], sizeof (fcportdb_t)); - } else if (fcp->portdb[i].state != FC_PORTDB_STATE_NIL) { - fcp->portdb[i].state = FC_PORTDB_STATE_PROBATIONAL; + } else { + switch (fcp->portdb[i].state) { + case FC_PORTDB_STATE_CHANGED: + case FC_PORTDB_STATE_PENDING_VALID: + case FC_PORTDB_STATE_VALID: + case FC_PORTDB_STATE_PROBATIONAL: + fcp->portdb[i].state = + FC_PORTDB_STATE_PROBATIONAL; + break; + case FC_PORTDB_STATE_NIL: + default: + MEMZERO(&fcp->portdb[i], sizeof (fcportdb_t)); + fcp->portdb[i].state = + FC_PORTDB_STATE_NIL; + break; + } } } } @@ -2237,7 +2246,7 @@ break; case MBOX_LOOP_ID_USED: - isp_prt(isp, ISP_LOGERR, + isp_prt(isp, ISP_LOGDEBUG0, "isp_port_login: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2694,6 +2703,8 @@ } else { lp->autologin = 0; } + lp->new_roles = 0; + lp->new_portid = 0; break; case FC_PORTDB_STATE_NEW: /* @@ -2725,6 +2736,8 @@ } } isp_async(isp, ISPASYNC_DEV_ARRIVED, lp); + lp->new_roles = 0; + lp->new_portid = 0; break; case FC_PORTDB_STATE_CHANGED: lp->portid = lp->new_portid; @@ -2735,6 +2748,8 @@ fcp->isp_ini_map[t] = dbidx + 1; } isp_async(isp, ISPASYNC_DEV_CHANGED, lp); + lp->new_roles = 0; + lp->new_portid = 0; break; case FC_PORTDB_STATE_PENDING_VALID: lp->portid = lp->new_portid; @@ -2745,6 +2760,8 @@ fcp->isp_ini_map[t] = dbidx + 1; } isp_async(isp, ISPASYNC_DEV_STAYED, lp); + lp->new_roles = 0; + lp->new_portid = 0; break; } } @@ -2828,6 +2845,7 @@ */ if (isp_getpdb(isp, dbidx, &pdb, 1) != 0) { if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) { + isp_mark_portdb(isp, 1); return (-1); } continue; @@ -2847,6 +2865,7 @@ if (IS_2100(isp) && pdb.handle != dbidx) { isp_prt(isp, ISP_LOGWARN, "giving up on synchronizing the port database"); + isp_mark_portdb(isp, 1); return (-1); } @@ -2860,6 +2879,18 @@ tmp.handle = pdb.handle; /* + * Check to make sure it's still a valid entry. The 24XX seems + * to return a portid but not a WWPN/WWNN or role for devices + * which shift on a loop. + */ + if (tmp.node_wwn == 0 || tmp.port_wwn == 0 || tmp.portid == 0) { + isp_prt(isp, ISP_LOGWARN, + "bad pdb entry at loop %d", dbidx); + isp_dump_portdb(isp); + continue; + } + + /* * Now search the entire port database * for the same Port and Node WWN. Start * from where we currently are at and @@ -2888,7 +2919,7 @@ } /* - * Okay- we've found an old entry. + * Okay- we've found a non-nil entry that matches. * Check to make sure it's probational. */ if (lp->state != FC_PORTDB_STATE_PROBATIONAL) { @@ -2962,6 +2993,8 @@ lp->autologin = 1; lp->state = FC_PORTDB_STATE_NEW; + lp->portid = 0; + lp->roles = 0; lp->new_portid = tmp.portid; lp->new_roles = tmp.roles; lp->handle = tmp.handle; @@ -3472,6 +3505,20 @@ } /* + * Try and log out of the device first. + */ + if (IS_24XX(isp)) { + logval = 0; + isp_plogx_24xx(isp, handle, portid, &logval); + } else { + isp_port_logout(isp, handle, portid); + } + if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { + FC_SCRATCH_RELEASE(isp); + isp_mark_portdb(isp, 1); + return (-1); + } + /* * Try and log into the device. */ if (IS_24XX(isp)) { @@ -3482,6 +3529,7 @@ } if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { FC_SCRATCH_RELEASE(isp); + isp_mark_portdb(isp, 1); return (-1); } if (logval == 0) { @@ -3524,8 +3572,9 @@ if (pdb.handle != handle || pdb.portid != portid) { isp_prt(isp, ISP_LOGERR, "newly logged in device changed already"); -isp_prt(isp, ISP_LOGALL, "handle %x portid %x pdb.handle %x pdb.portid %x", -handle, portid, pdb.handle, pdb.portid); + isp_prt(isp, ISP_LOGERR, + "handle %x portid %x pdb.handle %x pdb.portid %x", + handle, portid, pdb.handle, pdb.portid); if (IS_24XX(isp)) { isp_plogx_24xx(isp, pdb.handle, pdb.portid, NULL); @@ -3705,6 +3754,8 @@ } i = fcp->isp_ini_map[XS_TGT(xs)]; + isp_prt(isp, ISP_LOGDEBUG1, "XS_TGT(xs)=%d- handle value %d", + XS_TGT(xs), i); if (i < 1 || i >= MAX_FC_TARG) { XS_SETERR(xs, HBA_SELTIMEOUT); return (CMD_COMPLETE); @@ -3894,6 +3945,9 @@ (long) XS_XFRLEN(xs)); ISP_ADD_REQUEST(isp, nxti); isp->isp_nactive++; + if (IS_24XX(isp) || IS_23XX(isp)) { + isp_intr(isp, 0, 0, 0); + } return (CMD_QUEUED); } @@ -4341,7 +4395,7 @@ MEMZERO(hp, QENTRY_LEN); /* PERF */ continue; } else if (etype == RQSTYPE_MARKER) { -isp_prt(isp, ISP_LOGALL, "MARKER"); + isp_prt(isp, ISP_LOGDEBUG0, "MARKER"); MEMZERO(hp, QENTRY_LEN); /* PERF */ continue; } else { From owner-p4-projects@FreeBSD.ORG Mon Aug 28 05:20:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E4F716A4E0; Mon, 28 Aug 2006 05:20:45 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2EB7616A4DE for ; Mon, 28 Aug 2006 05:20:45 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C32DE43D45 for ; Mon, 28 Aug 2006 05:20:44 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S5Kidc061787 for ; Mon, 28 Aug 2006 05:20:44 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S5KgWu061783 for perforce@freebsd.org; Mon, 28 Aug 2006 05:20:42 GMT (envelope-from als@FreeBSD.org) Date: Mon, 28 Aug 2006 05:20:42 GMT Message-Id: <200608280520.k7S5KgWu061783@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 05:20:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=105207 Change 105207 by als@als_head on 2006/08/28 05:20:33 update to last HEAD Affected files ... .. //depot/projects/jail2/sys/amd64/amd64/support.S#3 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/jail2/sys/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/jail2/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/elf_trampoline.c#4 integrate .. //depot/projects/jail2/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/jail2/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/jail2/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/jail2/sys/arm/conf/EP80219#1 branch .. //depot/projects/jail2/sys/arm/include/armreg.h#2 integrate .. //depot/projects/jail2/sys/arm/include/cpuconf.h#2 integrate .. //depot/projects/jail2/sys/arm/include/cpufunc.h#2 integrate .. //depot/projects/jail2/sys/arm/include/elf.h#2 integrate .. //depot/projects/jail2/sys/arm/include/vmparam.h#3 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/jail2/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/jail2/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/jail2/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/iq80321.c#3 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/jail2/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/jail2/sys/bsm/audit.h#2 integrate .. //depot/projects/jail2/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/jail2/sys/bsm/audit_kevents.h#3 integrate .. //depot/projects/jail2/sys/bsm/audit_record.h#3 integrate .. //depot/projects/jail2/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/jail2/sys/cam/scsi/scsi_all.h#2 integrate .. //depot/projects/jail2/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/jail2/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/jail2/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/jail2/sys/conf/NOTES#5 integrate .. //depot/projects/jail2/sys/conf/files.powerpc#3 integrate .. //depot/projects/jail2/sys/conf/options.arm#3 integrate .. //depot/projects/jail2/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/jail2/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/jail2/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/jail2/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/jail2/sys/dev/em/if_em.c#3 integrate .. //depot/projects/jail2/sys/dev/fb/creator.c#2 integrate .. //depot/projects/jail2/sys/dev/iicbus/if_ic.c#2 integrate .. //depot/projects/jail2/sys/dev/iicbus/iicbb.c#2 integrate .. //depot/projects/jail2/sys/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/jail2/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/jail2/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/jail2/sys/dev/ispfw/ispfw.c#3 integrate .. //depot/projects/jail2/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/jail2/sys/i386/i386/support.s#3 integrate .. //depot/projects/jail2/sys/i386/linux/linux_dummy.c#4 integrate .. //depot/projects/jail2/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/jail2/sys/i386/linux/linux_proto.h#4 integrate .. //depot/projects/jail2/sys/i386/linux/linux_syscall.h#4 integrate .. //depot/projects/jail2/sys/i386/linux/linux_sysent.c#4 integrate .. //depot/projects/jail2/sys/i386/linux/syscalls.master#4 integrate .. //depot/projects/jail2/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/jail2/sys/ia64/include/vmparam.h#2 integrate .. //depot/projects/jail2/sys/kern/init_main.c#3 integrate .. //depot/projects/jail2/sys/kern/init_sysent.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_thr.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_thread.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/jail2/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/jail2/sys/kern/sched_core.c#3 integrate .. //depot/projects/jail2/sys/kern/sched_ule.c#2 integrate .. //depot/projects/jail2/sys/kern/subr_witness.c#2 integrate .. //depot/projects/jail2/sys/kern/syscalls.c#3 integrate .. //depot/projects/jail2/sys/kern/syscalls.master#3 integrate .. //depot/projects/jail2/sys/kern/systrace_args.c#2 integrate .. //depot/projects/jail2/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/jail2/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/jail2/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/jail2/sys/net/if_bridge.c#4 integrate .. //depot/projects/jail2/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/jail2/sys/net/if_spppsubr.c#3 integrate .. //depot/projects/jail2/sys/net/if_vlan.c#4 integrate .. //depot/projects/jail2/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#3 integrate .. //depot/projects/jail2/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate .. //depot/projects/jail2/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/jail2/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/jail2/sys/netsmb/smb_crypt.c#2 integrate .. //depot/projects/jail2/sys/netsmb/smb_iod.c#2 integrate .. //depot/projects/jail2/sys/netsmb/smb_rq.c#2 integrate .. //depot/projects/jail2/sys/netsmb/smb_rq.h#2 integrate .. //depot/projects/jail2/sys/pci/agp_amd64.c#2 integrate .. //depot/projects/jail2/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/jail2/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/jail2/sys/security/audit/audit_bsm.c#3 integrate .. //depot/projects/jail2/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/jail2/sys/security/audit/audit_ioctl.h#2 integrate .. //depot/projects/jail2/sys/security/audit/audit_pipe.c#2 integrate .. //depot/projects/jail2/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/jail2/sys/sys/kobj.h#2 integrate .. //depot/projects/jail2/sys/sys/proc.h#2 integrate .. //depot/projects/jail2/sys/sys/sched.h#2 integrate .. //depot/projects/jail2/sys/sys/syscall.h#3 integrate .. //depot/projects/jail2/sys/sys/syscall.mk#3 integrate .. //depot/projects/jail2/sys/sys/sysctl.h#3 integrate .. //depot/projects/jail2/sys/sys/sysproto.h#3 integrate .. //depot/projects/jail2/sys/sys/systm.h#4 integrate .. //depot/projects/jail2/sys/sys/umtx.h#2 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/jail2/sys/vm/vm_contig.c#2 integrate .. //depot/projects/jail2/sys/vm/vm_object.c#4 integrate .. //depot/projects/jail2/sys/vm/vm_page.c#4 integrate .. //depot/projects/jail2/sys/vm/vm_page.h#3 integrate .. //depot/projects/jail2/sys/vm/vm_pageq.c#3 integrate .. //depot/projects/jail2/sys/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/jail2/sys/amd64/amd64/support.S#3 (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/support.S,v 1.119 2006/08/16 22:22:28 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.120 2006/08/28 02:28:14 davidxu Exp $ */ #include "opt_ddb.h" @@ -314,6 +314,34 @@ ret /* + * casuword32. Compare and set user integer. Returns -1 or the current value. + * dst = %rdi, old = %rsi, new = %rdx + */ +ENTRY(casuword32) + movq PCPU(CURPCB),%rcx + movq $fusufault,PCB_ONFAULT(%rcx) + + movq $VM_MAXUSER_ADDRESS-4,%rax + cmpq %rax,%rdi /* verify address is valid */ + ja fusufault + + movl %esi,%eax /* old */ +#ifdef SMP + lock +#endif + cmpxchgl %edx,(%rdi) /* new = %edx */ + + /* + * The old value is in %eax. If the store succeeded it will be the + * value we expected (old) from before the store, otherwise it will + * be the current value. + */ + + movq PCPU(CURPCB),%rcx + movq $0,PCB_ONFAULT(%rcx) + ret + +/* * casuptr. Compare and set user pointer. Returns -1 or the current value. * dst = %rdi, old = %rsi, new = %rdx */ ==== //depot/projects/jail2/sys/amd64/linux32/linux32_dummy.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.4 2006/08/15 12:54:29 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $"); #include #include @@ -77,7 +77,6 @@ DUMMY(timer_gettime); DUMMY(timer_getoverrun); DUMMY(timer_delete); -DUMMY(statfs64); DUMMY(fstatfs64); DUMMY(utimes); DUMMY(fadvise64_64); ==== //depot/projects/jail2/sys/amd64/linux32/linux32_machdep.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.14 2006/08/16 18:54:50 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.16 2006/08/25 11:59:56 netchild Exp $"); #include #include @@ -60,6 +60,7 @@ #include #include #include +#include struct l_old_select_argv { l_int nfds; @@ -211,6 +212,14 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); + if (error == 0) + /* linux process can exec fbsd one, dont attempt + * to create emuldata for such process using + * linux_proc_init, this leads to a panic on KASSERT + * because such process has p->p_emuldata == NULL + */ + if (td->td_proc->p_sysent == &elf_linux_sysvec) + error = linux_proc_init(td, 0, 0); return (error); } @@ -452,6 +461,10 @@ if (td->td_retval[1] == 1) td->td_retval[0] = 0; + error = linux_proc_init(td, td->td_retval[0], 0); + if (error) + return (error); + return (0); } @@ -459,17 +472,31 @@ linux_vfork(struct thread *td, struct linux_vfork_args *args) { int error; + struct proc *p2; #ifdef DEBUG if (ldebug(vfork)) printf(ARGS(vfork, "")); #endif - if ((error = vfork(td, (struct vfork_args *)args)) != 0) + /* exclude RFPPWAIT */ + if ((error = fork1(td, RFFDG | RFPROC | RFMEM, 0, &p2)) != 0) return (error); + if (error == 0) { + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; + } /* Are we the child? */ if (td->td_retval[1] == 1) td->td_retval[0] = 0; + error = linux_proc_init(td, td->td_retval[0], 0); + if (error) + return (error); + /* wait for the children to exit, ie. emulate vfork */ + PROC_LOCK(p2); + while (p2->p_flag & P_PPWAIT) + msleep(td->td_proc, &p2->p_mtx, PWAIT, "ppwait", 0); + PROC_UNLOCK(p2); return (0); } @@ -480,12 +507,14 @@ struct proc *p2; struct thread *td2; int exit_signal; + struct linux_emuldata *em; #ifdef DEBUG if (ldebug(clone)) { - printf(ARGS(clone, "flags %x, stack %x"), - (unsigned int)(uintptr_t)args->flags, - (unsigned int)(uintptr_t)args->stack); + printf(ARGS(clone, "flags %x, stack %x, parent tid: %x, child tid: %x"), + (unsigned int)args->flags, (unsigned int)(uintptr_t)args->stack, + (unsigned int)(uintptr_t)args->parent_tidptr, + (unsigned int)(uintptr_t)args->child_tidptr); } #endif @@ -503,11 +532,75 @@ if (!(args->flags & CLONE_FILES)) ff |= RFFDG; + /* + * Attempt to detect when linux_clone(2) is used for creating + * kernel threads. Unfortunately despite the existence of the + * CLONE_THREAD flag, version of linuxthreads package used in + * most popular distros as of beginning of 2005 doesn't make + * any use of it. Therefore, this detection relay fully on + * empirical observation that linuxthreads sets certain + * combination of flags, so that we can make more or less + * precise detection and notify the FreeBSD kernel that several + * processes are in fact part of the same threading group, so + * that special treatment is necessary for signal delivery + * between those processes and fd locking. + */ + if ((args->flags & 0xffffff00) == THREADING_FLAGS) + ff |= RFTHREAD; + error = fork1(td, ff, 0, &p2); if (error) return (error); + /* create the emuldata */ + error = linux_proc_init(td, p2->p_pid, args->flags); + /* reference it - no need to check this */ + em = em_find(p2, EMUL_UNLOCKED); + KASSERT(em != NULL, ("clone: emuldata not found.\n")); + /* and adjust it */ + if (args->flags & CLONE_PARENT_SETTID) { + if (args->parent_tidptr == NULL) { + EMUL_UNLOCK(&emul_lock); + return (EINVAL); + } + error = copyout(&p2->p_pid, args->parent_tidptr, sizeof(p2->p_pid)); + if (error) { + EMUL_UNLOCK(&emul_lock); + return (error); + } + } + if (args->flags & CLONE_PARENT) { +#ifdef DEBUG + printf("linux_clone: CLONE_PARENT\n"); +#endif + } + + if (args->flags & CLONE_THREAD) { + /* XXX: linux mangles pgrp and pptr somehow + * I think it might be this but I am not sure. + */ +#ifdef notyet + p2->p_pgrp = td->td_proc->p_pgrp; + p2->p_pptr = td->td_proc->p_pptr; +#endif + exit_signal = 0; +#ifdef DEBUG + printf("linux_clone: CLONE_THREADS\n"); +#endif + } + + if (args->flags & CLONE_CHILD_SETTID) + em->child_set_tid = args->child_tidptr; + else + em->child_set_tid = NULL; + + if (args->flags & CLONE_CHILD_CLEARTID) + em->child_clear_tid = args->child_tidptr; + else + em->child_clear_tid = NULL; + EMUL_UNLOCK(&emul_lock); + PROC_LOCK(p2); p2->p_sigparent = exit_signal; PROC_UNLOCK(p2); @@ -519,6 +612,10 @@ if (args->stack) td2->td_frame->tf_rsp = PTROUT(args->stack); + if (args->flags & CLONE_SETTLS) { + /* XXX: todo */ + } + #ifdef DEBUG if (ldebug(clone)) printf(LMSG("clone: successful rfork to %ld, stack %p sig = %d"), ==== //depot/projects/jail2/sys/amd64/linux32/linux32_proto.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -782,7 +782,8 @@ char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; }; struct linux_statfs64_args { - register_t dummy; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { register_t dummy; ==== //depot/projects/jail2/sys/amd64/linux32/linux32_syscall.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/jail2/sys/amd64/linux32/linux32_sysent.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #include @@ -288,7 +288,7 @@ { AS(linux_clock_gettime_args), (sy_call_t *)linux_clock_gettime, AUE_NULL, NULL, 0, 0 }, /* 265 = linux_clock_gettime */ { AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, AUE_NULL, NULL, 0, 0 }, /* 266 = linux_clock_getres */ { AS(linux_clock_nanosleep_args), (sy_call_t *)linux_clock_nanosleep, AUE_NULL, NULL, 0, 0 }, /* 267 = linux_clock_nanosleep */ - { 0, (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ + { AS(linux_statfs64_args), (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ { 0, (sy_call_t *)linux_fstatfs64, AUE_NULL, NULL, 0, 0 }, /* 269 = linux_fstatfs64 */ { AS(linux_tgkill_args), (sy_call_t *)linux_tgkill, AUE_NULL, NULL, 0, 0 }, /* 270 = linux_tgkill */ { 0, (sy_call_t *)linux_utimes, AUE_NULL, NULL, 0, 0 }, /* 271 = linux_utimes */ ==== //depot/projects/jail2/sys/amd64/linux32/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -430,7 +430,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_NULL STD { int linux_statfs64(void); } +268 AUE_NULL STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } 269 AUE_NULL STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_NULL STD { int linux_utimes(void); } ==== //depot/projects/jail2/sys/arm/arm/busdma_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.26 2006/05/31 15:50:33 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.27 2006/08/25 15:10:45 cognet Exp $"); /* * MacPPC bus dma support routines @@ -346,6 +346,7 @@ } *mapp = newmap; newmap->dmat = dmat; + newmap->allocbuffer = NULL; dmat->map_count++; CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", ==== //depot/projects/jail2/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.10 2006/04/09 23:07:31 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.11 2006/08/24 23:51:27 cognet Exp $"); #include @@ -71,7 +71,7 @@ #include #endif -#ifdef CPU_XSCALE_80321 +#if defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219) #include #include #endif @@ -81,7 +81,8 @@ #include #endif -#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) +#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_80219) #include #endif @@ -511,7 +512,9 @@ #endif /* CPU_IXP12X0 */ #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) + struct cpu_functions xscale_cpufuncs = { /* CPU functions */ @@ -567,7 +570,8 @@ xscale_setup /* cpu setup */ }; #endif -/* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 */ +/* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 + CPU_XSCALE_80219 */ /* * Global constants also used by locore.s @@ -578,9 +582,11 @@ u_int cpu_reset_needs_v4_MMU_disable; /* flag used in locore.s */ #if defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \ - defined (CPU_ARM10) || \ - defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) + defined (CPU_ARM10) || \ + defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) + static void get_cachetype_cp15(void); /* Additional cache information local to this file. Log2 of some of the @@ -888,9 +894,10 @@ return 0; } #endif /* CPU_XSCALE_80200 */ -#ifdef CPU_XSCALE_80321 +#if defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219) if (cputype == CPU_ID_80321_400 || cputype == CPU_ID_80321_600 || - cputype == CPU_ID_80321_400_B0 || cputype == CPU_ID_80321_600_B0) { + cputype == CPU_ID_80321_400_B0 || cputype == CPU_ID_80321_600_B0 || + cputype == CPU_ID_80219_400 || cputype == CPU_ID_80219_600) { /* * Reset the Performance Monitoring Unit to a @@ -915,6 +922,7 @@ return 0; } #endif /* CPU_XSCALE_80321 */ + #ifdef CPU_XSCALE_PXA2X0 /* ignore core revision to test PXA2xx CPUs */ if ((cputype & ~CPU_ID_XSCALE_COREREV_MASK) == CPU_ID_PXA250 || @@ -1318,9 +1326,10 @@ */ #if defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined (CPU_ARM9) || \ - defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \ - defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) + defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \ + defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) #define IGN 0 #define OR 1 @@ -1365,7 +1374,7 @@ } return(cpuctrl); } -#endif /* CPU_ARM7TDMI || CPU_ARM8 || CPU_SA110 */ +#endif /* CPU_ARM7TDMI || CPU_ARM8 || CPU_SA110 || XSCALE*/ #if defined(CPU_ARM7TDMI) || defined(CPU_ARM8) struct cpu_option arm678_options[] = { @@ -1787,7 +1796,8 @@ #endif /* CPU_IXP12X0 */ #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) struct cpu_option xscale_options[] = { #ifdef COMPAT_12 { "branchpredict", BIC, OR, CPU_CONTROL_BPRD_ENABLE }, @@ -1864,4 +1874,5 @@ __asm __volatile("mcr p15, 0, %0, c1, c0, 1" : : "r" (auxctl)); } -#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 */ +#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 + CPU_XSCALE_80219 */ ==== //depot/projects/jail2/sys/arm/arm/elf_trampoline.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.12 2006/08/15 18:11:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.13 2006/08/24 23:51:27 cognet Exp $"); #include #include #include @@ -64,7 +64,8 @@ defined(CPU_IXP12X0) #define cpu_idcache_wbinv_all sa1_cache_purgeID #elif defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) #define cpu_idcache_wbinv_all xscale_cache_purgeID #endif ==== //depot/projects/jail2/sys/arm/arm/fusu.S#2 (text+ko) ==== @@ -37,7 +37,7 @@ #include #include #include "assym.s" -__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.7 2005/04/23 16:45:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.8 2006/08/28 02:28:14 davidxu Exp $"); #ifdef MULTIPROCESSOR .Lcpu_info: @@ -52,6 +52,7 @@ * Fetch an int from the user's address space. */ +ALTENTRY(casuword32) ENTRY(casuptr) #ifdef MULTIPROCESSOR /* XXX Probably not appropriate for non-Hydra SMPs */ ==== //depot/projects/jail2/sys/arm/arm/identcpu.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.7 2006/02/03 06:39:57 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.8 2006/08/24 23:51:27 cognet Exp $"); #include #include #include @@ -229,6 +229,12 @@ { CPU_ID_80321_600_B0, CPU_CLASS_XSCALE, "i80321 600MHz", i80321_steppings }, + { CPU_ID_80219_400, CPU_CLASS_XSCALE, "i80219 400MHz", + xscale_steppings }, + + { CPU_ID_80219_600, CPU_CLASS_XSCALE, "i80219 600MHz", + xscale_steppings }, + { CPU_ID_PXA250A, CPU_CLASS_XSCALE, "PXA250", pxa2x0_steppings }, { CPU_ID_PXA210A, CPU_CLASS_XSCALE, "PXA210", ==== //depot/projects/jail2/sys/arm/at91/if_ate.c#4 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.9 2006/07/17 21:36:08 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.10 2006/08/25 13:38:42 cognet Exp $"); #include #include @@ -352,11 +352,6 @@ busdma_lock_mutex, &sc->sc_mtx, &sc->rxtag); if (err != 0) goto errout; - for (i = 0; i < ATE_MAX_RX_BUFFERS; i++) { - err = bus_dmamap_create(sc->rxtag, 0, &sc->rx_map[i]); - if (err != 0) - goto errout; - } /* Dma TAG and MAP for the rx descriptors. */ err = bus_dma_tag_create(NULL, sizeof(eth_rx_desc_t), 0, ==== //depot/projects/jail2/sys/arm/include/armreg.h#2 (text+ko) ==== @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/armreg.h,v 1.3 2005/11/21 19:06:25 cognet Exp $ + * $FreeBSD: src/sys/arm/include/armreg.h,v 1.4 2006/08/24 23:51:28 cognet Exp $ */ #ifndef MACHINE_ARMREG_H @@ -155,6 +155,8 @@ #define CPU_ID_80321_600 0x69052430 #define CPU_ID_80321_400_B0 0x69052c20 #define CPU_ID_80321_600_B0 0x69052c30 +#define CPU_ID_80219_400 0x69052e20 /* A0 stepping/revision. */ +#define CPU_ID_80219_600 0x69052e30 /* A0 stepping/revision. */ #define CPU_ID_IXP425_533 0x690541c0 #define CPU_ID_IXP425_400 0x690541d0 #define CPU_ID_IXP425_266 0x690541f0 ==== //depot/projects/jail2/sys/arm/include/cpuconf.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.7 2006/06/02 09:39:06 cognet Exp $ + * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.8 2006/08/24 23:51:28 cognet Exp $ * */ @@ -64,7 +64,7 @@ #define ARM_ARCH_4 0 #endif -#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ +#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219) || \ defined(CPU_XSCALE_PXA2X0)) || defined(CPU_ARM10) #define ARM_ARCH_5 1 #else @@ -112,7 +112,8 @@ #endif #if(defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)) + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219)) #define ARM_MMU_XSCALE 1 #else #define ARM_MMU_XSCALE 0 @@ -130,7 +131,8 @@ * ARM_XSCALE_PMU Performance Monitoring Unit on 80200 and 80321 */ -#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321)) +#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_80219)) #define ARM_XSCALE_PMU 1 #else #define ARM_XSCALE_PMU 0 ==== //depot/projects/jail2/sys/arm/include/cpufunc.h#2 (text+ko) ==== @@ -38,7 +38,7 @@ * * Prototypes for cpu, mmu and tlb related functions. * - * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.8 2006/06/01 16:17:44 cognet Exp $ + * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.9 2006/08/24 23:51:28 cognet Exp $ */ #ifndef _MACHINE_CPUFUNC_H_ @@ -371,10 +371,11 @@ #endif #if defined(CPU_ARM9) || defined(CPU_ARM10) || defined(CPU_SA110) || \ - defined(CPU_SA1100) || defined(CPU_SA1110) || \ - defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) - + defined(CPU_SA1100) || defined(CPU_SA1110) || \ + defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) + void armv4_tlb_flushID (void); void armv4_tlb_flushI (void); void armv4_tlb_flushD (void); @@ -389,8 +390,9 @@ void ixp12x0_setup (char *string); #endif -#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) +#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_XSCALE_80219) void xscale_cpwait (void); void xscale_cpu_sleep (int mode); @@ -428,7 +430,8 @@ void xscale_context_switch (void); void xscale_setup (char *string); -#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 */ +#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 + CPU_XSCALE_80219 */ #define tlb_flush cpu_tlb_flushID #define setttb cpu_setttb ==== //depot/projects/jail2/sys/arm/include/elf.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/elf.h,v 1.6 2005/11/24 02:27:55 cognet Exp $ + * $FreeBSD: src/sys/arm/include/elf.h,v 1.7 2006/08/24 23:00:03 cognet Exp $ */ #ifndef _MACHINE_ELF_H_ @@ -121,7 +121,11 @@ /* Define "machine" characteristics */ #define ELF_TARG_CLASS ELFCLASS32 +#ifdef __ARMEB__ +#define ELF_TARG_DATA ELFDATA2MSB +#else #define ELF_TARG_DATA ELFDATA2LSB +#endif #define ELF_TARG_MACH EM_ARM #define ELF_TARG_VER 1 ==== //depot/projects/jail2/sys/arm/include/vmparam.h#3 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.6 2006/08/08 20:59:38 cognet Exp $ + * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.7 2006/08/25 23:51:10 alc Exp $ */ #ifndef _MACHINE_VMPARAM_H_ @@ -50,15 +50,6 @@ /* * Override the default pager_map size, there's not enough KVA. */ -/* - * Size of User Raw I/O map - */ - -#define USRIOSIZE 300 - -/* virtual sizes (bytes) for various kernel submaps */ - -#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) /* * max number of non-contig chunks of physical RAM you can have ==== //depot/projects/jail2/sys/arm/xscale/i80321/i80321_intr.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/i80321/i80321_intr.h,v 1.2 2005/01/05 21:58:49 imp Exp $ + * $FreeBSD: src/sys/arm/xscale/i80321/i80321_intr.h,v 1.3 2006/08/24 23:51:28 cognet Exp $ * */ @@ -73,9 +73,21 @@ : "r" (intr_steer & ICU_INT_HWMASK)); } +#if defined ( CPU_XSCALE_80219 ) +#define INT_SWMASK \ + ((1U << ICU_INT_bit26) | \ + (1U << ICU_INT_bit25) | \ + (1U << ICU_INT_bit23) | \ + (1U << ICU_INT_bit22) | \ + (1U << ICU_INT_bit7) | \ + (1U << ICU_INT_bit6) | \ + (1U << ICU_INT_bit5) | \ + (1U << ICU_INT_bit4)) +#else #define INT_SWMASK \ ((1U << ICU_INT_bit26) | (1U << ICU_INT_bit22) | \ (1U << ICU_INT_bit5) | (1U << ICU_INT_bit4)) +#endif #if 0 static __inline void __attribute__((__unused__)) ==== //depot/projects/jail2/sys/arm/xscale/i80321/i80321_pci.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.8 2006/04/20 04:12:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.9 2006/08/24 23:51:28 cognet Exp $"); #include #include @@ -68,20 +68,6 @@ #include extern struct i80321_softc *i80321_softc; -struct i80321_pci_softc { - device_t sc_dev; - bus_space_tag_t sc_st; - bus_space_handle_t sc_atu_sh; - bus_space_tag_t sc_pciio; - bus_space_tag_t sc_pcimem; - int sc_busno; - struct rman sc_mem_rman; - struct rman sc_io_rman; - struct rman sc_irq_rman; - uint32_t sc_mem; - uint32_t sc_io; -}; - static int i80321_pci_probe(device_t dev) { @@ -260,62 +246,6 @@ } static int -i80321_pci_route_interrupt(device_t pcib, device_t dev, int pin) -{ - int bus; - int device; - int func; - uint32_t busno; - struct i80321_pci_softc *sc = device_get_softc(pcib); - bus = pci_get_bus(dev); - device = pci_get_slot(dev); - func = pci_get_function(dev); - busno = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, ATU_PCIXSR); - busno = PCIXSR_BUSNO(busno); - if (busno == 0xff) - busno = 0; - if (bus != busno) - goto no_mapping; - switch (device) { - /* IQ31244 PCI */ - case 1: /* PCIX-PCIX bridge */ - /* - * The S-ATA chips are behind the bridge, and all of - * the S-ATA interrupts are wired together. - */ - return (ICU_INT_XINT(2)); - case 2: /* PCI slot */ - /* All pins are wired together. */ - return (ICU_INT_XINT(3)); - case 3: /* i82546 dual Gig-E */ - if (pin == 1 || pin == 2) - return (ICU_INT_XINT(0)); - goto no_mapping; - /* IQ80321 PCI */ - case 4: /* i82544 Gig-E */ - case 8: /* - * Apparently you can set the device for the ethernet adapter - * to 8 with a jumper, so handle that as well - */ - if (pin == 1) - return (ICU_INT_XINT(0)); - goto no_mapping; - case 6: /* S-PCI-X slot */ - if (pin == 1) - return (ICU_INT_XINT(2)); - if (pin == 2) - return (ICU_INT_XINT(3)); - goto no_mapping; - default: -no_mapping: - printf("No mapping for %d/%d/%d/%c\n", bus, device, func, pin); - - } - return (0); - -} - -static int i80321_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { struct i80321_pci_softc *sc = device_get_softc(dev); @@ -453,7 +383,7 @@ DEVMETHOD(pcib_maxslots, i80321_pci_maxslots), DEVMETHOD(pcib_read_config, i80321_pci_read_config), DEVMETHOD(pcib_write_config, i80321_pci_write_config), - DEVMETHOD(pcib_route_interrupt, i80321_pci_route_interrupt), + DEVMETHOD(pcib_route_interrupt, machdep_pci_route_interrupt), {0, 0} }; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 28 06:58:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4F5316A4E0; Mon, 28 Aug 2006 06:58:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 955AC16A4DD for ; Mon, 28 Aug 2006 06:58:49 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1809D43D46 for ; Mon, 28 Aug 2006 06:58:49 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S6wmPB070698 for ; Mon, 28 Aug 2006 06:58:48 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S6wmt1070695 for perforce@freebsd.org; Mon, 28 Aug 2006 06:58:48 GMT (envelope-from imp@freebsd.org) Date: Mon, 28 Aug 2006 06:58:48 GMT Message-Id: <200608280658.k7S6wmt1070695@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 105211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 06:58:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=105211 Change 105211 by imp@imp_paco-paco on 2006/08/28 06:58:25 -f Affected files ... .. //depot/projects/arm/src/Makefile.inc1#10 edit Differences ... ==== //depot/projects/arm/src/Makefile.inc1#10 (text+ko) ==== @@ -1281,7 +1281,7 @@ _xi-links: ${_+_}cd ${XDDESTDIR}/usr/bin; \ for i in *; do \ - ln -s ../../${XDTP}/usr/bin/$$i \ + ln -sf ../../${XDTP}/usr/bin/$$i \ ../../../../usr/bin/${XDDIR}-$$i; \ done .endif From owner-p4-projects@FreeBSD.ORG Mon Aug 28 07:08:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D2C716A4E0; Mon, 28 Aug 2006 07:08:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED1AD16A4DA for ; Mon, 28 Aug 2006 07:08:03 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F7B943D49 for ; Mon, 28 Aug 2006 07:08:03 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7S783Vf072415 for ; Mon, 28 Aug 2006 07:08:03 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7S783sO072412 for perforce@freebsd.org; Mon, 28 Aug 2006 07:08:03 GMT (envelope-from als@FreeBSD.org) Date: Mon, 28 Aug 2006 07:08:03 GMT Message-Id: <200608280708.k7S783sO072412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 105213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 07:08:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=105213 Change 105213 by als@als_head on 2006/08/28 07:07:19 initial work for jail2 init subsystem. Affected files ... .. //depot/projects/jail2/sys/kern/kern_jail2_init.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Aug 28 14:44:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E53C16A4DE; Mon, 28 Aug 2006 14:44:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0849216A4E2 for ; Mon, 28 Aug 2006 14:44:45 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB84343D5E for ; Mon, 28 Aug 2006 14:44:44 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7SEiiae024524 for ; Mon, 28 Aug 2006 14:44:44 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7SEiiDE024521 for perforce@freebsd.org; Mon, 28 Aug 2006 14:44:44 GMT (envelope-from piso@freebsd.org) Date: Mon, 28 Aug 2006 14:44:44 GMT Message-Id: <200608281444.k7SEiiDE024521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105222 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 14:44:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=105222 Change 105222 by piso@piso_newluxor on 2006/08/28 14:43:56 Move malloc&c redefinition for kernel land to alias_local.h Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#5 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#4 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#5 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#5 (text+ko) ==== @@ -145,6 +145,7 @@ #ifdef _KERNEL #include #include +#include #else #include #include @@ -157,9 +158,6 @@ #ifdef _KERNEL #include -#include -#include -#include #include #include #else @@ -353,16 +351,8 @@ /* Kernel module definition. */ #ifdef _KERNEL MALLOC_DEFINE(M_ALIAS, "libalias", "packet aliasing"); - MODULE_VERSION(libalias, 1); -/* Use kernel allocator. */ -#if defined(_SYS_MALLOC_H_) -#define malloc(x) malloc(x, M_ALIAS, M_NOWAIT|M_ZERO) -#define calloc(x, n) malloc(x*n) -#define free(x) free(x, M_ALIAS) -#endif - static int alias_mod_handler(module_t mod, int type, void *data) { ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#4 (text+ko) ==== @@ -52,15 +52,25 @@ #ifdef _KERNEL #include +#include +#include #include #include #include #include #endif +#ifdef _KERNEL /* XXX: LibAliasSetTarget() uses this constant. */ -#ifdef _KERNEL #define INADDR_NONE 0xffffffff +MALLOC_DECLARE(M_ALIAS); + +/* Use kernel allocator. */ +#if defined(_SYS_MALLOC_H_) +#define malloc(x) malloc(x, M_ALIAS, M_NOWAIT|M_ZERO) +#define calloc(x, n) malloc(x*n) +#define free(x) free(x, M_ALIAS) +#endif #endif /* Sizes of input and output link tables */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#5 (text+ko) ==== @@ -156,15 +156,6 @@ static void ProxyEncodeIpHeader(struct ip *, int); #ifdef _KERNEL - -/* Use kernel allocator. */ -#if defined(_SYS_MALLOC_H_) -MALLOC_DECLARE(M_ALIAS); -#define malloc(x) malloc(x, M_ALIAS, M_NOWAIT|M_ZERO) -#define calloc(x, n) malloc(x*n) -#define free(x) free(x, M_ALIAS) -#endif - static int inet_aton(cp, addr) const char *cp; From owner-p4-projects@FreeBSD.ORG Mon Aug 28 17:44:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61DD116A4E7; Mon, 28 Aug 2006 17:44:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 064CE16A4E5 for ; Mon, 28 Aug 2006 17:44:08 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8974D43DB3 for ; Mon, 28 Aug 2006 17:42:42 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7SHgWDm046618 for ; Mon, 28 Aug 2006 17:42:32 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7SHgWeB046615 for perforce@freebsd.org; Mon, 28 Aug 2006 17:42:32 GMT (envelope-from adamartin@FreeBSD.org) Date: Mon, 28 Aug 2006 17:42:32 GMT Message-Id: <200608281742.k7SHgWeB046615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 105229 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 17:44:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=105229 Change 105229 by adamartin@adamartin_hobbes on 2006/08/28 17:42:22 Final changes for Google Summer of Code. I do plan to continue working on this, in the coming months. Pseudofs files need to be patched into /usr/src/sys/fs/pseudofs, to compile -- I had to add a hook for lookup() operations on pseudofs Affected files ... .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#1 add .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#2 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.h#1 add .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#2 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_vfsops.c#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_vnops.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/cleanup.h#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/protocol.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/protocol.h#3 edit .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs.c#1 add .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs.h#1 add .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_fileno.c#1 add .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_internal.h#1 add .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_vncache.c#1 add .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_vnops.c#1 add Differences ... ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#4 (text+ko) ==== @@ -75,10 +75,8 @@ 0600, AUTOFS_CTL_DEV_NAME); DEBUG KPRINTF("."); - autofs_ctl_state = (struct autofs_ctl_state) - malloc( - sizeof(struct autofs_ctl_state), - M_AUTOFS_CTL_NODES, M_WAITOK); + autofs_ctl_init(); + DEBUG KPRINTF("."); KPRINTF("AutoFS module successfully loaded.\n"); break; @@ -88,21 +86,22 @@ * Find out what we should do for QUIESCE option? * */ + KPRINTF("AutoFS quiesced.\n"); return 0; case MOD_UNLOAD: - destroy_dev( autofs_ctl_dev ); - free(autofs_ctl_state, M_AUTOFS_CTL_NODES); - KPRINTF( "AutoFS unloaded.\n" ); + destroy_dev(autofs_ctl_dev); + //free(autofs_ctl_state, M_AUTOFS_CTL_NODES); + KPRINTF("AutoFS unloaded.\n"); break; default: err= EINVAL; - KPRINTF( "Error -- action %d not supported!\n", - action ); - KPRINTF( "MOD_LOAD= %d, MOD_UNLOAD= %d\n", - MOD_LOAD, MOD_UNLOAD ); + KPRINTF("Error -- action %d not supported!\n", + action); + KPRINTF("MOD_LOAD= %d, MOD_UNLOAD= %d\n", + MOD_LOAD, MOD_UNLOAD); break; } ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#4 (text+ko) ==== @@ -33,6 +33,8 @@ #define AUTOFS_VERSION ( 1 ) +//#define MIN( a, b ) ( ( a ) < ( b ) ? ( a ) : ( b ) ) +//#define MAX( a, b ) ( ( a ) > ( b ) ? ( a ) : ( b ) ) //#define USE_SETJMP_CLEANUP //#define NO_USE_SETJMP_INCLUDE ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#3 (text+ko) ==== @@ -46,6 +46,7 @@ #include "cleanup.h" struct cdev *autofs_ctl_dev; +struct autofs_ctl_state autofs_ctl_state; static d_ioctl_t autofs_ctl_ioctl; @@ -59,9 +60,12 @@ .d_ioctl= autofs_ctl_ioctl, }; +int +autofs_ctl_init() +{ + DEBUG KPRINTF("Initializing " -struct autofs_ctl_state autofs_ctl_state; /* * We only handle the IOCTLS for create and destroy autofs_dev instances. * Autofs devs are addressed by number. Creation always assigns a new, @@ -81,6 +85,11 @@ int error= 0; int *arg= (int *) arg_c; + error= EOPNOTSUPP; + arg= NULL; + $return EOPNOTSUPP; + + #if 0 switch( cmd ) { case AFSIOCREATDEV: @@ -105,4 +114,5 @@ */ error= EIO; + #endif } ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#2 (text+ko) ==== @@ -41,8 +41,25 @@ #include #include "cleanup.h" +#include "autofs_dev.h" +struct uio *in_buffer, *out_buffer; +#define IOV_BUF_COUNT (16) +int +write_buffer(struct uio *buf, void *data, int len) +{ + int error; + error = 0; + if (buf->uio_iovcnt < IOV_BUF_COUNT) { + buf->uio_iov[ buf->uio_iovcnt ].iov_base= data; + buf->uio_iov[ buf->uio_iovcnt ].iov_len= len; + buf->uio_iovcnt++; + } else + error = ENOMEM; + + return error; +} ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#2 (text+ko) ==== @@ -55,12 +55,60 @@ #include +#include "protocol.h" + MALLOC_DEFINE(M_AUTOFS_MOUNTBUF, "AutoFS mntbuf", "AutoFS mountpoint data, to simulate filesystem contents."); +struct pfs_node *foo; + +static int +autofs_vis(PFS_VIS_ARGS) +{ + KPRINTF( "autofs visibility called\n" ); + return 0; +} + +static int +autofs_attr(PFS_ATTR_ARGS) +{ + KPRINTF( "autofs attr called\n" ); + return 0; +} + +static int +autofs_lookup(PFS_LOOKUP_ARGS) +{ + struct componentname c= *cnp; + struct message_header msg; + struct mount_request mr; + + KPRINTF( "autofs lookup called\n" ); + + DEBUG KPRINTF( "cn_nameptr= %s, cn_pnbuf= %s\n", c.cn_nameptr, + c.cn_pnbuf ); + DEBUG KPRINTF( "cn_namelen= %ld, cn_consume= %ld\n", c.cn_namelen, + c.cn_consume ); + + msg.flags= 0; + msg.transaction_id= 0; + msg.message_type= COMMAND_MOUNT_REQUEST; + msg.message_data= (char *) &mr; + + mr.action= ACTION_MOUNT; + mr.mountpoint_len= c.cn_namelen; + strlcpy( mr.mountpoint, c.cn_nameptr, c.cn_namelen ); + + send_mount_request( &msg ); + + return 1; +} + static int autofs_init(struct pfs_info *pi, struct vfsconf *vfc) { + foo= pfs_create_dir( pi->pi_root, "foo", autofs_attr, autofs_vis, 0 ); + foo->pn_lookup= autofs_lookup; return 0; } ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_vfsops.c#4 (text+ko) ==== ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_vnops.c#3 (text+ko) ==== ==== //depot/projects/soc2006/adamartin_autofs/autofs/cleanup.h#4 (text+ko) ==== ==== //depot/projects/soc2006/adamartin_autofs/autofs/protocol.c#3 (text+ko) ==== @@ -27,4 +27,29 @@ * */ +#include +#include + #include "protocol.h" +#include "autofs.h" +#include "autofs_dev.h" + + + + +int +send_mount_request(struct message_header *req) +{ + struct mount_request *mb= (struct mount_request *) req->message_data; + + write_buffer( out_buffer, (void *) req, + sizeof( struct message_header ) ); + write_buffer( out_buffer, (void *) mb, + sizeof( struct mount_request ) ); + write_buffer( out_buffer, (void *) mb->mountpoint, + MIN( strlen( mb->mountpoint ), mb->mountpoint_len ) ); + + + return 0; +} + ==== //depot/projects/soc2006/adamartin_autofs/autofs/protocol.h#3 (text+ko) ==== @@ -49,7 +49,7 @@ the message pertains to. */ uint32_t message_type; /* Used to identify which command is issued in this packet. COMMAND_* constants are used to fill these */ - char message_data[]; /* The rest of the message data, as an + void *message_data; /* The rest of the message data, as an indeterminate length. */ }; @@ -221,4 +221,7 @@ status of action */ }; + +int send_mount_request(struct message_header *req); + #endif /*** AUTOFS_PROTOCOL_HEADER ***/ From owner-p4-projects@FreeBSD.ORG Mon Aug 28 19:26:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E197D16A4EA; Mon, 28 Aug 2006 19:26:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A3D8D16A4E7 for ; Mon, 28 Aug 2006 19:26:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 535C243D7E for ; Mon, 28 Aug 2006 19:25:52 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7SJPk24071613 for ; Mon, 28 Aug 2006 19:25:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7SJPj1c071610 for perforce@freebsd.org; Mon, 28 Aug 2006 19:25:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 28 Aug 2006 19:25:45 GMT Message-Id: <200608281925.k7SJPj1c071610@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 105235 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Aug 2006 19:26:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=105235 Change 105235 by hselasky@hselasky_mini_itx on 2006/08/28 19:25:19 Finished reworking if_cue. Fixed a small bug in the other USB ethernet drivers. Removed my name from some of the copyrights. Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/if_auereg.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/if_axereg.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_cuereg.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#6 (text+ko) ==== @@ -2,9 +2,6 @@ * Copyright (c) 1997, 1998, 1999, 2000 * Bill Paul . All rights reserved. * - * Copyright (c) 2006 - * Hans Petter Selasky. All rights reserved. - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -890,6 +887,10 @@ int error; u_int8_t eaddr[min(ETHER_ADDR_LEN,6)]; + if (cc == NULL) { + return; + } + /* reset the adapter */ aue_cfg_reset(sc); @@ -978,7 +979,7 @@ usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&sc->sc_watchdog); + __callout_stop(&(sc->sc_watchdog)); aue_cfg_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_auereg.h#5 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#5 (text+ko) ==== @@ -2,9 +2,6 @@ * Copyright (c) 1997, 1998, 1999, 2000-2003 * Bill Paul . All rights reserved. * - * Copyright (c) 2006 - * Hans Petter Selasky. All rights reserved. - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -692,6 +689,10 @@ int error; u_int8_t eaddr[min(ETHER_ADDR_LEN,6)]; + if (cc == NULL) { + return; + } + /* set default value */ bzero(eaddr, sizeof(eaddr)); ==== //depot/projects/usb/src/sys/dev/usb/if_axereg.h#4 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_cdce.c#5 (text+ko) ==== @@ -4,7 +4,6 @@ * Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul * Copyright (c) 2003-2005 Craig Boston * Copyright (c) 2004 Daniel Hartmeier - * Copyright (c) 2006 Hans Petter Selasky * All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#4 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#4 (text+ko) ==== @@ -1,0 +1,1084 @@ +/*- + * Copyright (c) 1997, 1998, 1999, 2000 + * Bill Paul . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Bill Paul. + * 4. Neither the name of the author nor the names of any co-contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * CATC USB-EL1210A USB to ethernet driver. Used in the CATC Netmate + * adapters and others. + * + * Written by Bill Paul + * Electrical Engineering Department + * Columbia University, New York City + */ + +/* + * The CATC USB-EL1210A provides USB ethernet support at 10Mbps. The + * RX filter uses a 512-bit multicast hash table, single perfect entry + * for the station address, and promiscuous mode. Unlike the ADMtek + * and KLSI chips, the CATC ASIC supports read and write combining + * mode where multiple packets can be transfered using a single bulk + * transaction, which helps performance a great deal. + */ + +/* + * NOTE: all function names beginning like "cue_cfg_" can only + * be called from within the config thread function ! + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define usbd_config_td_cc cue_config_copy +#define usbd_config_td_softc cue_softc + +#include +#include +#include +#include + +#include "usbdevs.h" + +#include + +__FBSDID("$FreeBSD: src/sys/dev/usb/if_cue.c,v 1.61 2005/11/11 16:04:55 ru Exp $"); + +/* + * Various supported device vendors/products. + */ +static struct cue_type cue_devs[] = { + { USB_VENDOR_CATC, USB_PRODUCT_CATC_NETMATE }, + { USB_VENDOR_CATC, USB_PRODUCT_CATC_NETMATE2 }, + { USB_VENDOR_SMARTBRIDGES, USB_PRODUCT_SMARTBRIDGES_SMARTLINK }, + { 0, 0 } +}; + +/* prototypes */ + +static device_probe_t cue_probe; +static device_attach_t cue_attach; +static device_detach_t cue_detach; +static device_shutdown_t cue_shutdown; + +static void +cue_cfg_do_request(struct cue_softc *sc, usb_device_request_t *req, + void *data); +static u_int8_t +cue_cfg_csr_read_1(struct cue_softc *sc, u_int16_t reg); + +static u_int16_t +cue_cfg_csr_read_2(struct cue_softc *sc, u_int8_t reg); + +static void +cue_cfg_csr_write_1(struct cue_softc *sc, u_int16_t reg, u_int16_t val); + +static void +cue_cfg_mem(struct cue_softc *sc, u_int8_t cmd, u_int16_t addr, + void *buf, u_int16_t len); +static void +cue_cfg_getmac(struct cue_softc *sc, void *buf); + +static u_int32_t +cue_mchash(const u_int8_t *addr); + +static void +cue_cfg_promisc_upd(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); +static void +cue_config_copy(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); +static void +cue_cfg_reset(struct cue_softc *sc); + +static void +cue_cfg_first_time_setup(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); +static void +cue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +cue_bulk_read_callback(struct usbd_xfer *xfer); + +static void +cue_cfg_tick(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); +static void +cue_start_cb(struct ifnet *ifp); + +static void +cue_start_transfers(struct cue_softc *sc); + +static void +cue_bulk_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +cue_bulk_write_callback(struct usbd_xfer *xfer); + +static void +cue_init_cb(void *arg); + +static void +cue_cfg_init(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); +static int +cue_ioctl_cb(struct ifnet *ifp, u_long command, caddr_t data); + +static void +cue_watchdog(void *arg); + +static void +cue_cfg_stop(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount); + +#define DPRINTF(...) + +static const struct usbd_config cue_config[CUE_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = (MCLBYTES + 2), + .flags = (USBD_USE_DMA), + .callback = &cue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = (MCLBYTES + 2), + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &cue_bulk_read_callback, + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &cue_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &cue_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static device_method_t cue_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, cue_probe), + DEVMETHOD(device_attach, cue_attach), + DEVMETHOD(device_detach, cue_detach), + DEVMETHOD(device_shutdown, cue_shutdown), + + { 0, 0 } +}; + +static driver_t cue_driver = { + "cue", + cue_methods, + sizeof(struct cue_softc) +}; + +static devclass_t cue_devclass; + +DRIVER_MODULE(cue, uhub, cue_driver, cue_devclass, usbd_driver_load, 0); +MODULE_DEPEND(cue, usb, 1, 1, 1); +MODULE_DEPEND(cue, ether, 1, 1, 1); + +static void +cue_cfg_do_request(struct cue_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &(sc->sc_mtx), req, + data, 0, NULL, 1000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +#define CUE_CFG_SETBIT(sc, reg, x) \ + cue_cfg_csr_write_1(sc, reg, cue_cfg_csr_read_1(sc, reg) | (x)) + +#define CUE_CFG_CLRBIT(sc, reg, x) \ + cue_cfg_csr_write_1(sc, reg, cue_cfg_csr_read_1(sc, reg) & ~(x)) + +static u_int8_t +cue_cfg_csr_read_1(struct cue_softc *sc, u_int16_t reg) +{ + usb_device_request_t req; + u_int8_t val; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = CUE_CMD_READREG; + USETW(req.wValue, 0); + USETW(req.wIndex, reg); + USETW(req.wLength, 1); + + cue_cfg_do_request(sc, &req, &val); + return val; +} + +static u_int16_t +cue_cfg_csr_read_2(struct cue_softc *sc, u_int8_t reg) +{ + usb_device_request_t req; + u_int16_t val; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = CUE_CMD_READREG; + USETW(req.wValue, 0); + USETW(req.wIndex, reg); + USETW(req.wLength, 2); + + cue_cfg_do_request(sc, &req, &val); + return le16toh(val); +} + +static void +cue_cfg_csr_write_1(struct cue_softc *sc, u_int16_t reg, u_int16_t val) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = CUE_CMD_WRITEREG; + USETW(req.wValue, val); + USETW(req.wIndex, reg); + USETW(req.wLength, 0); + + cue_cfg_do_request(sc, &req, NULL); + return; +} + +static void +cue_cfg_mem(struct cue_softc *sc, u_int8_t cmd, u_int16_t addr, + void *buf, u_int16_t len) +{ + usb_device_request_t req; + + if (cmd == CUE_CMD_READSRAM) { + req.bmRequestType = UT_READ_VENDOR_DEVICE; + } else { + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + } + req.bRequest = cmd; + USETW(req.wValue, 0); + USETW(req.wIndex, addr); + USETW(req.wLength, len); + + cue_cfg_do_request(sc, &req, buf); + return; +} + +static void +cue_cfg_getmac(struct cue_softc *sc, void *buf) +{ + usb_device_request_t req; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = CUE_CMD_GET_MACADDR; + USETW(req.wValue, 0); + USETW(req.wIndex, 0); + USETW(req.wLength, ETHER_ADDR_LEN); + + cue_cfg_do_request(sc, &req, buf); + return; +} + +#define CUE_BITS 9 + +static u_int32_t +cue_mchash(const u_int8_t *addr) +{ + u_int32_t crc; + + /* Compute CRC for the address value. */ + crc = ether_crc32_le(addr, ETHER_ADDR_LEN); + + return (crc & ((1 << CUE_BITS) - 1)); +} + +static void +cue_cfg_promisc_upd(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + /* nothing to do */ + return; + } + + /* if we want promiscuous mode, set the allframes bit */ + + if (cc->if_flags & IFF_PROMISC) { + CUE_CFG_SETBIT(sc, CUE_ETHCTL, CUE_ETHCTL_PROMISC); + } else { + CUE_CFG_CLRBIT(sc, CUE_ETHCTL, CUE_ETHCTL_PROMISC); + } + + /* write multicast hash-bits */ + + cue_cfg_mem(sc, CUE_CMD_WRITESRAM, CUE_MCAST_TABLE_ADDR, + cc->if_hash, CUE_MCAST_TABLE_LEN); + return; +} + +static void +cue_config_copy(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp = sc->sc_ifp; + struct ifmultiaddr * ifma; + u_int16_t h; + u_int16_t i; + + bzero(cc, sizeof(*cc)); + + if (ifp) { + for (i = 0; i < ETHER_ADDR_LEN; i++) { + cc->if_lladdr[i] = IF_LLADDR(ifp)[i]; + } + + cc->if_flags = ifp->if_flags; + + if ((ifp->if_flags & IFF_ALLMULTI) || + (ifp->if_flags & IFF_PROMISC)) { + for (i = 0; i < CUE_MCAST_TABLE_LEN; i++) { + cc->if_hash[i] = 0xFF; + } + } else { + + /* program new hash bits */ + + IF_ADDR_LOCK(ifp); + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { + if (ifma->ifma_addr->sa_family != AF_LINK) { + continue; + } + h = cue_mchash(LLADDR((struct sockaddr_dl *)(ifma->ifma_addr))); + cc->if_hash[h >> 3] |= 1 << (h & 0x7); + } + IF_ADDR_UNLOCK(ifp); + + /* + * Also include the broadcast address in the filter + * so we can receive broadcast frames. + */ + if (ifp->if_flags & IFF_BROADCAST) { + h = cue_mchash(ifp->if_broadcastaddr); + cc->if_hash[h >> 3] |= 1 << (h & 0x7); + } + } + } + return; +} + +static void +cue_cfg_reset(struct cue_softc *sc) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = CUE_CMD_RESET; + USETW(req.wValue, 0); + USETW(req.wIndex, 0); + USETW(req.wLength, 0); + + cue_cfg_do_request(sc, &req, NULL); + + /* wait a little while for the chip + * to get its brains in order: + */ + + (void) usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + return; +} + +static int +cue_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct cue_type *t; + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + t = cue_devs; + while(t->cue_vid) { + if ((uaa->vendor == t->cue_vid) && + (uaa->product == t->cue_did)) { + return UMATCH_VENDOR_PRODUCT; + } + t++; + } + return UMATCH_NONE; +} + +static int +cue_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct cue_softc *sc = device_get_softc(dev); + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + mtx_init(&(sc->sc_mtx), "cue lock", NULL, MTX_DEF | MTX_RECURSE); + + __callout_init_mtx(&(sc->sc_watchdog), + &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); + + error = usbd_set_config_no(uaa->device, CUE_CONFIG_NO, 0); + + if (error) { + device_printf(dev, "setting config " + "number failed!\n"); + goto detach; + } + + error = usbd_transfer_setup(uaa->device, CUE_IFACE_IDX, + sc->sc_xfer, cue_config, CUE_ENDPT_MAX, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), + &cue_config_copy, NULL, + sizeof(struct cue_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + mtx_lock(&(sc->sc_mtx)); + + /* start setup */ + + usbd_config_td_queue_command + (&(sc->sc_config_td), &cue_cfg_first_time_setup, 0); + + /* start watchdog (will exit mutex) */ + + cue_watchdog(sc); + + return 0; /* success */ + + detach: + cue_detach(dev); + return ENXIO; /* failure */ +} + +static void +cue_cfg_first_time_setup(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount) +{ + u_int8_t eaddr[ETHER_ADDR_LEN]; + struct ifnet * ifp; + + if (cc == NULL) { + return; + } +#if 0 + /* Reset the adapter. */ + cue_cfg_reset(sc); +#endif + /* + * Get station address. + */ + cue_cfg_getmac(sc, eaddr); + + mtx_unlock(&(sc->sc_mtx)); + + ifp = if_alloc(IFT_ETHER); + + mtx_lock(&(sc->sc_mtx)); + + if (ifp == NULL) { + printf("cue%d: could not if_alloc()\n", + sc->sc_unit); + goto done; + } + + ifp->if_softc = sc; + if_initname(ifp, "cue", sc->sc_unit); + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_ioctl = cue_ioctl_cb; + ifp->if_start = cue_start_cb; + ifp->if_watchdog = NULL; + ifp->if_init = cue_init_cb; + ifp->if_baudrate = 10000000; + ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + + sc->sc_ifp = ifp; + + ether_ifattach(ifp, eaddr); + done: + return; +} + +static int +cue_detach(device_t dev) +{ + struct cue_softc * sc = device_get_softc(dev); + struct ifnet * ifp; + + mtx_lock(&(sc->sc_mtx)); + + usbd_config_td_stop(&(sc->sc_config_td)); + + __callout_stop(&(sc->sc_watchdog)); + + cue_cfg_stop(sc, NULL, 0); + + ifp = sc->sc_ifp; + + mtx_unlock(&(sc->sc_mtx)); + + /* get rid of any late children */ + bus_generic_detach(dev); + + if (ifp) { + ether_ifdetach(ifp); + if_free(ifp); + } + + usbd_transfer_unsetup(sc->sc_xfer, CUE_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &(sc->sc_mtx)); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + mtx_destroy(&(sc->sc_mtx)); + + return 0; +} + +static void +cue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct cue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~CUE_FLAG_READ_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~CUE_FLAG_READ_STALL; + DPRINTF(sc, 0, "bulk read pipe stopped\n"); + return; +} + +static void +cue_bulk_read_callback(struct usbd_xfer *xfer) +{ + struct cue_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct mbuf *m; + u_int8_t buf[2]; + u_int16_t len; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + /* try to clear stall first */ + sc->sc_flags |= CUE_FLAG_READ_STALL; + usbd_transfer_start(sc->sc_xfer[3]); + } + DPRINTF(sc, 0, "bulk read error, %s\n", + usbd_errstr(xfer->error)); + return; + + tr_transferred: + + if (xfer->actlen <= 2) { + ifp->if_ierrors++; + goto tr_setup; + } + + usbd_copy_out(&(xfer->buf_data), 0, buf, 2); + + len = buf[0] | (buf[1] << 8); + + xfer->actlen -= 2; + + m = usbd_ether_get_mbuf(); + + if (m == NULL) { + ifp->if_ierrors++; + goto tr_setup; + } + + xfer->actlen = min(xfer->actlen, m->m_len); + xfer->actlen = min(xfer->actlen, len); + + usbd_copy_out(&(xfer->buf_data), 2, m->m_data, xfer->actlen); + + ifp->if_ipackets++; + m->m_pkthdr.rcvif = ifp; + m->m_pkthdr.len = m->m_len = xfer->actlen; + + (ifp->if_input)(ifp, m); + + tr_setup: + + if (sc->sc_flags & CUE_FLAG_READ_STALL) { + usbd_transfer_start(sc->sc_xfer[3]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +cue_cfg_tick(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp = sc->sc_ifp; + + if ((cc == NULL) || + (ifp == NULL)) { + /* not ready */ + return; + } + + ifp->if_collisions += cue_cfg_csr_read_2(sc, CUE_TX_SINGLECOLL); + ifp->if_collisions += cue_cfg_csr_read_2(sc, CUE_TX_MULTICOLL); + ifp->if_collisions += cue_cfg_csr_read_2(sc, CUE_TX_EXCESSCOLL); + + if (cue_cfg_csr_read_2(sc, CUE_RX_FRAMEERR)) { + ifp->if_ierrors++; + } + + /* start stopped transfers, if any */ + + cue_start_transfers(sc); + + return; +} + +static void +cue_start_cb(struct ifnet *ifp) +{ + struct cue_softc * sc = ifp->if_softc; + + mtx_lock(&(sc->sc_mtx)); + + cue_start_transfers(sc); + + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +cue_start_transfers(struct cue_softc *sc) +{ + if ((sc->sc_flags & CUE_FLAG_LL_READY) && + (sc->sc_flags & CUE_FLAG_HL_READY)) { + + /* start the USB transfers, + * if not already started: + */ + usbd_transfer_start(sc->sc_xfer[1]); + usbd_transfer_start(sc->sc_xfer[0]); + } + return; +} + +static void +cue_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct cue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~CUE_FLAG_WRITE_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~CUE_FLAG_WRITE_STALL; + DPRINTF(sc, 0, "bulk write pipe stopped\n"); + return; +} + +static void +cue_bulk_write_callback(struct usbd_xfer *xfer) +{ + struct cue_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct mbuf *m; + u_int8_t buf[2]; + + USBD_CHECK_STATUS(xfer); + + tr_error: + DPRINTF(sc, 10, "transfer error, %s\n", + usbd_errstr(xfer->error)); + + if (xfer->error != USBD_CANCELLED) { + /* try to clear stall first */ + sc->sc_flags |= CUE_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[2]); + } + + ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + return; + + tr_transferred: + DPRINTF(sc, 10, "transfer complete\n"); + + ifp->if_opackets++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + tr_setup: + + if (sc->sc_flags & CUE_FLAG_WRITE_STALL) { + usbd_transfer_start(sc->sc_xfer[2]); + goto done; + } + + IF_DEQUEUE(&(ifp->if_snd), m); + + if (m == NULL) { + goto done; + } + + if (m->m_pkthdr.len > MCLBYTES) { + m->m_pkthdr.len = MCLBYTES; + } + + xfer->length = (m->m_pkthdr.len + 2); + + /* the first two bytes are the frame length */ + + buf[0] = (u_int8_t)(m->m_pkthdr.len); + buf[1] = (u_int8_t)(m->m_pkthdr.len >> 8); + + usbd_copy_in(&(xfer->buf_data), 0, buf, 2); + + usbd_m_copy_in(&(xfer->buf_data), 2, + m, 0, m->m_pkthdr.len); + + /* + * if there's a BPF listener, bounce a copy + * of this frame to him: + */ + BPF_MTAP(ifp, m); + + m_freem(m); + + usbd_start_hardware(xfer); + + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + done: + return; +} + +static void +cue_init_cb(void *arg) +{ + struct cue_softc *sc = arg; + + mtx_lock(&(sc->sc_mtx)); + usbd_config_td_queue_command + (&(sc->sc_config_td), &cue_cfg_init, 0); + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +cue_cfg_init(struct cue_softc *sc, + struct cue_config_copy *cc, u_int16_t refcount) +{ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 29 04:51:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E643816A4DE; Tue, 29 Aug 2006 04:51:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCE2416A4DD for ; Tue, 29 Aug 2006 04:51:29 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33FCE43D62 for ; Tue, 29 Aug 2006 04:51:29 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7T4pTfo040672 for ; Tue, 29 Aug 2006 04:51:29 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7T4pTx4040669 for perforce@freebsd.org; Tue, 29 Aug 2006 04:51:29 GMT (envelope-from cdjones@FreeBSD.org) Date: Tue, 29 Aug 2006 04:51:29 GMT Message-Id: <200608290451.k7T4pTx4040669@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 105245 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 04:51:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105245 Change 105245 by cdjones@cdjones_meanook on 2006/08/29 04:50:28 Back out unneeded comments and #include (discovered while creating patches against -RELENG_6). Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/imgact_elf.c#7 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/imgact_elf.c#7 (text+ko) ==== @@ -58,7 +58,6 @@ #include #include #include -#include #include #include @@ -763,10 +762,6 @@ if (data_size > lim_cur(imgp->proc, RLIMIT_DATA) || text_size > maxtsiz || total_size > lim_cur(imgp->proc, RLIMIT_VMEM)) { -/* || - (jailed(imgp->proc->p_ucred) && - total_size > (prison_memory_limit(imgp->proc->p_ucred) - - prison_memory(imgp->proc->p_ucred)))) { */ PROC_UNLOCK(imgp->proc); return (ENOMEM); } From owner-p4-projects@FreeBSD.ORG Tue Aug 29 05:32:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8B0516A4E0; Tue, 29 Aug 2006 05:32:20 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9ABDA16A4DD for ; Tue, 29 Aug 2006 05:32:20 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 632D943D46 for ; Tue, 29 Aug 2006 05:32:20 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7T5WKZA043851 for ; Tue, 29 Aug 2006 05:32:20 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7T5WKYK043848 for perforce@freebsd.org; Tue, 29 Aug 2006 05:32:20 GMT (envelope-from cdjones@FreeBSD.org) Date: Tue, 29 Aug 2006 05:32:20 GMT Message-Id: <200608290532.k7T5WKYK043848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 105246 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 05:32:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105246 Change 105246 by cdjones@cdjones_meanook on 2006/08/29 05:32:04 Cosmetic cleanup of unnecessary differences from -RELENG_6. Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_jail.c#27 edit .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_switch.c#8 edit .. //depot/projects/soc2006/cdjones_jail/src/sys/sys/jail.h#21 edit .. //depot/projects/soc2006/cdjones_jail/src/sys/vm/vm_pageout.c#4 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_jail.c#27 (text+ko) ==== @@ -424,6 +424,7 @@ void prison_free(struct prison *pr) { + mtx_lock(&allprison_mtx); mtx_lock(&pr->pr_mtx); pr->pr_ref--; ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_switch.c#8 (text+ko) ==== @@ -234,7 +234,7 @@ } } -#if defined(SCHED_4BSD) +#ifdef SCHED_4BSD /* * Remove a thread from its KSEGRP's run queue. * This in turn may remove it from a KSE if it was already assigned ==== //depot/projects/soc2006/cdjones_jail/src/sys/sys/jail.h#21 (text+ko) ==== @@ -74,11 +74,6 @@ * (d) set only during destruction of jail, no mutex needed */ #if defined(_KERNEL) || defined(_WANT_PRISON) - -#include -/*struct proc; */ - - struct prison { LIST_ENTRY(prison) pr_list; /* (a) all prisons */ int pr_id; /* (c) prison id */ ==== //depot/projects/soc2006/cdjones_jail/src/sys/vm/vm_pageout.c#4 (text+ko) ==== @@ -205,7 +205,6 @@ int vm_page_max_wired; /* XXX max # of wired pages system-wide */ #if !defined(NO_SWAPPING) -/* static void vm_pageout_map_deactivate_pages(vm_map_t, long); */ static void vm_pageout_object_deactivate_pages(pmap_t, vm_object_t, long); static void vm_req_vmdaemon(void); #endif From owner-p4-projects@FreeBSD.ORG Tue Aug 29 05:52:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C25016A4DF; Tue, 29 Aug 2006 05:52:46 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5FBD016A4DA for ; Tue, 29 Aug 2006 05:52:46 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1174443D53 for ; Tue, 29 Aug 2006 05:52:46 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7T5qjJG044900 for ; Tue, 29 Aug 2006 05:52:45 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7T5qjP6044897 for perforce@freebsd.org; Tue, 29 Aug 2006 05:52:45 GMT (envelope-from cdjones@FreeBSD.org) Date: Tue, 29 Aug 2006 05:52:45 GMT Message-Id: <200608290552.k7T5qjP6044897@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 105247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 05:52:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105247 Change 105247 by cdjones@cdjones_meanook on 2006/08/29 05:52:13 Quick speedup per 21 Aug 2006 mail to freebsd-hackers@; if we have no jails, there's no reason to do any of this. Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_4bsd.c#10 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_4bsd.c#10 (text+ko) ==== @@ -463,13 +463,13 @@ * TODO: this is excessively icky. */ sx_slock(&allproc_lock); - mtx_lock(&allprison_mtx); - if (prisoncount) { + if (prisoncount && sched_limitjailcpu) { + mtx_lock(&allprison_mtx); LIST_FOREACH(pr, &allprison, pr_list) { pr->pr_estcpu = 0; } + total_est_cpu = 0; } - total_est_cpu = 0; FOREACH_PROC_IN_SYSTEM(p) { /* * Prevent state changes and protect run queue. @@ -554,12 +554,13 @@ if (kg->kg_slptime > 1) continue; kg->kg_estcpu = decay_cpu(loadfac, kg->kg_estcpu); - total_est_cpu += kg->kg_estcpu; - if (sched_limitjailcpu && - NULL != kg->kg_proc->p_ucred && - NULL != kg->kg_proc->p_ucred->cr_prison) - kg->kg_proc->p_ucred->cr_prison->pr_estcpu += - kg->kg_estcpu; + if (prisoncount && sched_limitjailcpu) { + total_est_cpu += kg->kg_estcpu; + if (NULL != kg->kg_proc->p_ucred && + NULL != kg->kg_proc->p_ucred->cr_prison) + kg->kg_proc->p_ucred->cr_prison->pr_estcpu += + kg->kg_estcpu; + } resetpriority(kg); FOREACH_THREAD_IN_GROUP(kg, td) { resetpriority_thread(td, kg); @@ -567,7 +568,8 @@ } /* end of ksegrp loop */ mtx_unlock_spin(&sched_lock); } /* end of process loop */ - mtx_unlock(&allprison_mtx); + if (prisoncount && sched_limitjailcpu) + mtx_unlock(&allprison_mtx); sx_sunlock(&allproc_lock); } @@ -582,7 +584,7 @@ u_int32_t shares = 0; for (;;) { - if (sched_limitjailcpu) { + if (prisoncount && sched_limitjailcpu) { /* * Update total jail CPU shares in case they've changed. * Safe to read pr_sched_shares without mutex because @@ -645,7 +647,7 @@ if (kg->kg_pri_class == PRI_TIMESHARE) { newpriority = PUSER + kg->kg_estcpu / INVERSE_ESTCPU_WEIGHT + NICE_WEIGHT * (kg->kg_proc->p_nice - PRIO_MIN); - if (sched_limitjailcpu && NULL != pr) { + if (prisoncount && sched_limitjailcpu && NULL != pr) { /* * Skew the priority by the jail's share of CPU resources. * The unjailed processes get half the CPU time. From owner-p4-projects@FreeBSD.ORG Tue Aug 29 06:54:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D4FD16A4E0; Tue, 29 Aug 2006 06:54:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E3DF616A4DE for ; Tue, 29 Aug 2006 06:54:02 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0E8C43D45 for ; Tue, 29 Aug 2006 06:54:02 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7T6s26b049359 for ; Tue, 29 Aug 2006 06:54:02 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7T6s2LT049356 for perforce@freebsd.org; Tue, 29 Aug 2006 06:54:02 GMT (envelope-from imp@freebsd.org) Date: Tue, 29 Aug 2006 06:54:02 GMT Message-Id: <200608290654.k7T6s2LT049356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 105248 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 06:54:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=105248 Change 105248 by imp@imp_lighthouse on 2006/08/29 06:53:08 config.guess, from autoconf, really wants $MACHINE-freebsd as the target. It barfs on $MACHINE-$MACHINE_ARCH. So we'll not be able to do that. This effectively means that we'll MACHINE uniquely defines MACHINE_ARCH, I believe. We might be able to get away with $MACHINE-$MACHINE_ARCH-freebsd. The middle tuple is suppsed to be for manufacturer, and the first one for architecture, but in practice it hasn't worked out that way. The middle tuple is effectively unused... Since we'll likely need arm and armeb so that we can cross build for both on the same box, have binary packages in a meaningful way, etc, that means we'll likely have to do a little bit of grossness in the kernel because otherwise we'll have to do a lot of grossness outside the kernel. Affected files ... .. //depot/projects/arm/src/Makefile.inc1#11 edit Differences ... ==== //depot/projects/arm/src/Makefile.inc1#11 (text+ko) ==== @@ -1209,7 +1209,7 @@ NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_PROFILE -XDDIR=${XDEV}-${XDEV_ARCH} +XDDIR=${XDEV}-freebsd XDTP=/usr/${XDDIR} CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ TARGET=${XDEV} \ From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:02:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B111D16A4E1; Tue, 29 Aug 2006 12:02:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 807C016A4DA for ; Tue, 29 Aug 2006 12:02:53 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29F9843DB9 for ; Tue, 29 Aug 2006 12:01:47 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TC1lSi083136 for ; Tue, 29 Aug 2006 12:01:47 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TC1Wcd083133 for perforce@freebsd.org; Tue, 29 Aug 2006 12:01:32 GMT (envelope-from gnn@neville-neil.com) Date: Tue, 29 Aug 2006 12:01:32 GMT Message-Id: <200608291201.k7TC1Wcd083133@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 105253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:02:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=105253 Change 105253 by gnn@fast_ipsec_integ on 2006/08/29 12:00:46 Bring integration branch up to date. Affected files ... .. //depot/projects/fast_ipsec/src/sbin/setkey/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/Makefile#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/identcpu.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#14 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/support.S#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/conf/NOTES#11 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/ia32/ia32_syscall.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_sysvec.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/busdma_machdep.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/elf_trampoline.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/identcpu.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/mem.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/pmap.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/trap.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/vm_machdep.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_st.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91rm92reg.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/if_ate.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/include/armreg.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/cpuconf.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/cpufunc.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/elf.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/pmap.h#8 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/sf_buf.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/vmparam.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321var.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/iq31244_machdep.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/iq80321.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/Makefile#5 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0iic/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0iic/doit.c#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0iic/main.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0spi/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0spi/doit.c#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/arm_init.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/arm_init.S#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/arm_init.s#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/eeprom.h#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/env_vars.c#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/env_vars.h#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/loader_prompt.c#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/loader_prompt.h#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/mci_device.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/p_string.h#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/help.common#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/loader.8#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/forth/loader.conf#5 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/loader/main.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/loader/main.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_record.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_misc.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_proto.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscall.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscalls.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_sysent.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/syscalls.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/syscalls.master#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linprocfs/linprocfs.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_signal.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_util.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/ntoskrnl_var.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_proto.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_stream.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_stropts.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_syscall.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_syscallnames.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/syscalls.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/syscalls.master#4 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.arm#11 integrate .. //depot/projects/fast_ipsec/src/sys/conf/NOTES#12 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files#17 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.amd64#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.i386#9 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.pc98#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.powerpc#7 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kern.post.mk#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kmod.mk#9 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options#15 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.amd64#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.arm#7 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.i386#7 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.pc98#7 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acfreebsd.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/fil.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_frag.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_proxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_scan.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ipl.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock.h#1 branch .. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock_cipher.c#1 branch .. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock_hash.c#1 branch .. //depot/projects/fast_ipsec/src/sys/ddb/db_ps.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpi_support/acpi_ibm.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_pci_link.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_video.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/arl/if_arlreg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-raid.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ath/ath_rate/sample/sample.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ath/if_ath.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ath/if_athioctl.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ath/if_athvar.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/bge/if_bge.c#12 integrate .. //depot/projects/fast_ipsec/src/sys/dev/bge/if_bgereg.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/bktr/CHANGELOG.TXT#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/dc/dcphy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/dc/pnphy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/dpt/dpt_scsi.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/README#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em_hw.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em_hw.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em_osdep.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/exca/excareg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/fb/creator.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/fe/if_fe.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/hme/if_hme.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/iicbus/if_ic.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/iicbus/iicbb.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ips/ips.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_freebsd.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_ioctl.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_pci.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_target.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_target.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_tpublic.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/ispvar.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/ispfw/ispfw.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/iwi/if_iwi.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ixgb/if_ixgb.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/kbdmux/kbdmux.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mii/brgphy.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mii/gentbi.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/mii/ip1000phy.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/mii/ip1000phyreg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/mii/miidevs#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mii/rgephy.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_cam.c#14 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_pci.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/pccard/pccard_cis.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/pccbb/pccbb.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/dev/pccbb/pccbb_pci.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/pccbb/pccbbreg.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/powermac_nvram/powermac_nvram.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/powermac_nvram/powermac_nvramvar.h#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/re/if_re.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/dev/scc/scc_core.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/scc/scc_dev_z8530.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sk/if_sk.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sk/if_skreg.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10k1.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/ich.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/stge/if_stge.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/stge/if_stgereg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/sym/sym_fw1.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sym/sym_fw2.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/uart/uart_cpu_powerpc.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/uart/uart_dev_z8530.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/uart/uart_tty.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ubsec/ubsec.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/usb/if_ural.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/usb/usb_port.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/usb/uscanner.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/wi/if_wavelan_ieee.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/fs/hpfs/hpfs.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/fs/msdosfs/msdosfs_vfsops.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/fs/nwfs/nwfs_io.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/fs/smbfs/smbfs_io.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/fs/udf/ecma167-udf.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/fs/udf/udf_vfsops.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/geom/bde/g_bde_work.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/geom/eli/g_eli.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/geom/eli/g_eli.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/geom/eli/g_eli_ctl.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/geom/eli/g_eli_integrity.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/geom/geom_gpt.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/geom/label/g_label.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/geom/label/g_label_msdosfs.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/geom/label/g_label_msdosfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/geom/mirror/g_mirror.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/geom/raid3/g_raid3.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/geom/vinum/geom_vinum_raid5.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/i386/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/conf/GENERIC#9 integrate .. //depot/projects/fast_ipsec/src/sys/i386/conf/NOTES#11 integrate .. //depot/projects/fast_ipsec/src/sys/i386/conf/XBOX#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/identcpu.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/machdep.c#12 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/pmap.c#14 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/support.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/trap.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/i386/i386/tsc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc_syscall.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_proto.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_syscall.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_sysent.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix_syscall.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.isc#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.isc.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.master#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.xenix#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/ibcs2/syscalls.xenix.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/include/pmap.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_proto.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_syscall.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_sysent.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_sysvec.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/syscalls.conf#2 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/syscalls.master#7 integrate .. //depot/projects/fast_ipsec/src/sys/i386/xbox/xbox.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/conf/NOTES#4 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/ia32/ia32_trap.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/ia64/pmap.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/ia64/trap.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/include/pmap.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/include/vmparam.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/init_main.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/init_sysent.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_exec.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_lock.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_malloc.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_mutex.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_resource.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_subr.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_sx.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_syscalls.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_tc.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_thr.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_thread.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_time.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_umtx.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/sched_4bsd.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/kern/sched_core.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/sched_ule.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_bus.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_rman.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_turnstile.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_witness.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/sys_process.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/kern/sys_socket.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/syscalls.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/syscalls.master#10 integrate .. //depot/projects/fast_ipsec/src/sys/kern/systrace_args.c#1 branch .. //depot/projects/fast_ipsec/src/sys/kern/uipc_domain.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_proto.c#4 delete .. //depot/projects/fast_ipsec/src/sys/kern/uipc_sem.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_sockbuf.c#1 branch .. //depot/projects/fast_ipsec/src/sys/kern/uipc_socket.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_socket2.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_syscalls.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_usrreq.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_aio.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_lookup.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_mount.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_subr.c#15 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/libkern/strstr.c#1 branch .. //depot/projects/fast_ipsec/src/sys/modules/Makefile#12 integrate .. //depot/projects/fast_ipsec/src/sys/modules/agp/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sys/modules/asr/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/modules/bridgestp/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/modules/hwpmc/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/modules/if_bridge/Makefile#5 integrate .. //depot/projects/fast_ipsec/src/sys/modules/if_ef/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/modules/if_ppp/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/modules/linsysfs/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/modules/linux/Makefile#6 integrate .. //depot/projects/fast_ipsec/src/sys/modules/mii/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/modules/netgraph/mppc/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sys/modules/osf1/Makefile#3 delete .. //depot/projects/fast_ipsec/src/sys/modules/padlock/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/modules/powermac_nvram/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/modules/sound/sound/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/modules/stge/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/net/bpf.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/net/bridgestp.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/net/bridgestp.h#1 branch .. //depot/projects/fast_ipsec/src/sys/net/if_bridge.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_bridgevar.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_enc.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_ethersubr.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_faith.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_gif.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_gre.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_spppsubr.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_stf.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_tun.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_var.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/net/if_vlan.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/net/net_osdep.h#3 delete .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_ioctl.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_output.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_proto.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_fec.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_pppoe.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_pppoe.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/in_gif.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_encap.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_fastfwd.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_fw.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_fw2.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_input.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_output.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_input.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_subr.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_timer.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_timer.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ah_aesxcbcmac.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ah_core.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ah_input.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ah_output.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/esp_aesctr.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/esp_core.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/esp_input.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/esp_output.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/esp_rijndael.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/frag6.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_cksum.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_gif.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_src.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ip6_forward.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ip6_input.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ip6_mroute.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ip6_output.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ipcomp_core.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ipcomp_input.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ipcomp_output.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/ipsec.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/nd6.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netipsec/keysock.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/netkey/key.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netkey/keydb.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netncp/ncp_sock.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_crypt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_iod.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_rq.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_rq.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/nfsclient/nfs_lock.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/nfsclient/nfs_socket.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/nfsclient/nfs_vfsops.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/nfsserver/nfs_srvcache.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/nfsserver/nfs_srvsock.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/nfsserver/nfs_srvsubs.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/nfsserver/nfs_syscalls.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/pc98/conf/NOTES#9 integrate .. //depot/projects/fast_ipsec/src/sys/pc98/include/md_var.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/pc98/pc98/pc98_machdep.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/pci/agp.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/pci/agp_amd64.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/pci/if_rlreg.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/pci/if_xl.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/pci/ncr.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/pci/nfsmb.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/fast_ipsec/src/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/include/ofw_machdep.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/include/pcb.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/clock.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/machdep.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/mem.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/mmu_if.m#5 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/mmu_oea.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/ofw_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/pmap_dispatch.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/powerpc/psim/sio_iobus.c#2 delete .. //depot/projects/fast_ipsec/src/sys/powerpc/psim/uart_iobus.c#1 branch .. //depot/projects/fast_ipsec/src/sys/security/audit/audit_bsm.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/security/audit/audit_ioctl.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/security/audit/audit_pipe.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/security/mac_biba/mac_biba.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/conf/GENERIC#9 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/conf/NOTES#5 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/sparc64/pmap.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/sparc64/trap.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/sys/_label.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/bufobj.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/dirent.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/domain.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/eventhandler.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/extattr.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/imgact.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/kernel.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/kobj.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/libkern.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/mac_policy.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/sys/mbuf.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/sys/mutex.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/param.h#10 integrate .. //depot/projects/fast_ipsec/src/sys/sys/proc.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/sys/protosw.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sched.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/socket.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/socketvar.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/sys/stat.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sx.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/syscall.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/sys/syscall.mk#9 integrate .. //depot/projects/fast_ipsec/src/sys/sys/syscallsubr.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sysctl.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sysent.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sysproto.h#10 integrate .. //depot/projects/fast_ipsec/src/sys/sys/systm.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/sys/time.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/types.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/umtx.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/sys/unpcb.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/ufs/ffs/ffs_snapshot.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/ufs/ufs/ufs_lookup.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/device_pager.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/vm/pmap.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/vm/swap_pager.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_contig.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_fault.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_object.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_page.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_page.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_pageout.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_pageq.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_zeroidle.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/fast_ipsec/src/sbin/setkey/Makefile#2 (text+ko) ==== @@ -25,11 +25,14 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sbin/setkey/Makefile,v 1.12 2005/10/13 17:57:34 ume Exp $ +# $FreeBSD: src/sbin/setkey/Makefile,v 1.13 2006/07/27 13:26:29 yar Exp $ + +.include PROG= setkey MAN= setkey.8 SRCS= setkey.c parse.y token.l +WARNS?= 1 CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../lib/libipsec YFLAGS= -d @@ -47,7 +50,11 @@ SRCS+= y.tab.h y.tab.h: parse.y -CFLAGS+= -DIPSEC_DEBUG -DINET6 -DYY_NO_UNPUT -I. +CFLAGS+= -DIPSEC_DEBUG -DYY_NO_UNPUT +.if ${MK_INET6_SUPPORT} != "no" +CFLAGS+= -DINET6 +.endif +CFLAGS+= -I. DPADD+= ${LIBIPSEC} LDADD+= -lipsec CLEANFILES+= scriptdump y.tab.h @@ -56,8 +63,6 @@ LOCALPREFIX= /usr -WARNS= 1 - scriptdump: scriptdump.pl sed -e 's#@LOCALPREFIX@#${LOCALPREFIX}#' < $> > scriptdump ==== //depot/projects/fast_ipsec/src/sys/Makefile#6 (text+ko) ==== @@ -1,13 +1,11 @@ -# $FreeBSD: src/sys/Makefile,v 1.37 2006/07/04 14:14:16 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.38 2006/08/10 06:29:43 imp Exp $ .include # The boot loader .if ${MK_BOOT} != "no" -.if ${MACHINE_ARCH} != "arm" SUBDIR= boot .endif -.endif # Directories to include in cscope name file and TAGS. CSCOPEDIRS= coda compat conf contrib crypto ddb dev fs geom gnu i4b isa \ ==== //depot/projects/fast_ipsec/src/sys/amd64/acpica/madt.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.20 2006/03/27 15:59:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.21 2006/08/11 19:22:55 jhb Exp $"); #include #include @@ -203,15 +203,15 @@ /* * Map in the RSDP. Since ACPI uses AcpiOsMapMemory() which in turn - * calls pmap_mapdev() to find the RSDP, we assume that we can use - * pmap_mapdev() to map the RSDP. + * calls pmap_mapbios() to find the RSDP, we assume that we can use + * pmap_mapbios() to map the RSDP. */ if (AcpiOsGetRootPointer(ACPI_LOGICAL_ADDRESSING, &rsdp_ptr) != AE_OK) return (ENXIO); #ifdef __i386__ KASSERT(rsdp_ptr.Pointer.Physical < KERNLOAD, ("RSDP too high")); #endif - rsdp = pmap_mapdev(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); + rsdp = pmap_mapbios(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); if (rsdp == NULL) { if (bootverbose) printf("MADT: Failed to map RSDP\n"); @@ -261,7 +261,7 @@ break; madt_unmap_table(rsdt); } - pmap_unmapdev((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); + pmap_unmapbios((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); if (madt_physaddr == 0) { if (bootverbose) printf("MADT: No MADT table found\n"); @@ -335,7 +335,7 @@ madt_setup_local(void) { - madt = pmap_mapdev(madt_physaddr, madt_length); + madt = pmap_mapbios(madt_physaddr, madt_length); lapic_init((uintptr_t)madt->LocalApicAddress); printf("ACPI APIC Table: <%.*s %.*s>\n", (int)sizeof(madt->OemId), madt->OemId, ==== //depot/projects/fast_ipsec/src/sys/amd64/amd64/identcpu.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.147 2006/07/12 06:04:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.148 2006/08/01 01:23:39 obrien Exp $"); #include "opt_cpu.h" @@ -296,8 +296,8 @@ "\034RDTSCP" /* RDTSCP */ "\035" /* Undefined */ "\036LM" /* 64 bit long mode */ - "\0373DNow+" /* AMD 3DNow! Extensions */ - "\0403DNow" /* AMD 3DNow! */ + "\0373DNow!+" /* AMD 3DNow! Extensions */ + "\0403DNow!" /* AMD 3DNow! */ ); } ==== //depot/projects/fast_ipsec/src/sys/amd64/amd64/machdep.c#10 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.650 2006/06/19 22:36:01 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.651 2006/07/27 19:47:22 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -947,17 +947,17 @@ if (TUNABLE_ULONG_FETCH("hw.physmem", &physmem_tunable)) Maxmem = atop(physmem_tunable); + /* + * Don't allow MAXMEM or hw.physmem to extend the amount of memory + * in the system. + */ + if (Maxmem > atop(physmap[physmap_idx + 1])) + Maxmem = atop(physmap[physmap_idx + 1]); + if (atop(physmap[physmap_idx + 1]) != Maxmem && (boothowto & RB_VERBOSE)) printf("Physical memory use set to %ldK\n", Maxmem * 4); - /* - * If Maxmem has been increased beyond what the system has detected, - * extend the last memory segment to the new limit. - */ - if (atop(physmap[physmap_idx + 1]) < Maxmem) - physmap[physmap_idx + 1] = ptoa((vm_paddr_t)Maxmem); - /* call pmap initialization to make new kernel address space */ pmap_bootstrap(&first); ==== //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#14 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); /* * Manages physical address maps. @@ -665,6 +665,84 @@ * Low level helper routines..... ***************************************************/ +/* + * Determine the appropriate bits to set in a PTE or PDE for a specified + * caching mode. + */ +static int +pmap_cache_bits(int mode, boolean_t is_pde) +{ + int pat_flag, pat_index, cache_bits; + + /* The PAT bit is different for PTE's and PDE's. */ + pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; + + /* If we don't support PAT, map extended modes to older ones. */ + if (!(cpu_feature & CPUID_PAT)) { + switch (mode) { + case PAT_UNCACHEABLE: + case PAT_WRITE_THROUGH: + case PAT_WRITE_BACK: + break; + case PAT_UNCACHED: + case PAT_WRITE_COMBINING: + case PAT_WRITE_PROTECTED: + mode = PAT_UNCACHEABLE; + break; + } + } + + /* Map the caching mode to a PAT index. */ + switch (mode) { +#ifdef PAT_WORKS + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; +#else + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; +#endif + default: + panic("Unknown caching mode %d\n", mode); + } + + /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ + cache_bits = 0; + if (pat_index & 0x4) + cache_bits |= pat_flag; + if (pat_index & 0x2) + cache_bits |= PG_NC_PCD; + if (pat_index & 0x1) + cache_bits |= PG_NC_PWT; + return (cache_bits); +} #ifdef SMP /* * For SMP, these functions have to use the IPI mechanism for coherence. @@ -962,6 +1040,15 @@ pte_store(pte, pa | PG_RW | PG_V | PG_G); } +PMAP_INLINE void +pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode) +{ + pt_entry_t *pte; + + pte = vtopte(va); + pte_store(pte, pa | PG_RW | PG_V | PG_G | pmap_cache_bits(mode, 0)); +} + /* * Remove a page from the kernel pagetables. * Note: not SMP coherent. @@ -2506,7 +2593,6 @@ retry: p = vm_page_lookup(object, pindex); if (p != NULL) { - vm_page_lock_queues(); if (vm_page_sleep_if_busy(p, FALSE, "init4p")) goto retry; } else { @@ -2525,8 +2611,8 @@ p = vm_page_lookup(object, pindex); vm_page_lock_queues(); vm_page_wakeup(p); + vm_page_unlock_queues(); } - vm_page_unlock_queues(); ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) @@ -2972,7 +3058,7 @@ * Clear the write and modified bits in each of the given page's mappings. */ void -pmap_clear_write(vm_page_t m) +pmap_remove_write(vm_page_t m) { pv_entry_t pv; pmap_t pmap; @@ -3002,23 +3088,6 @@ } /* - * pmap_page_protect: - * - * Lower the permission for all mappings to a given page. - */ -void -pmap_page_protect(vm_page_t m, vm_prot_t prot) -{ - if ((prot & VM_PROT_WRITE) == 0) { - if (prot & (VM_PROT_READ | VM_PROT_EXECUTE)) { - pmap_clear_write(m); - } else { - pmap_remove_all(m); - } - } -} - -/* * pmap_ts_referenced: * * Return a count of reference bits for a page, clearing those bits. @@ -3119,6 +3188,46 @@ * Miscellaneous support routines follow */ +/* Adjust the cache mode for a 4KB page mapped via a PTE. */ +static __inline void +pmap_pte_attr(vm_offset_t va, int mode) +{ + pt_entry_t *pte; + u_int opte, npte; + + pte = vtopte(va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PTE, so we can just spin on updating the low 32-bits. + */ + do { + opte = *(u_int *)pte; + npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); + npte |= pmap_cache_bits(mode, 0); + } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); +} + +/* Adjust the cache mode for a 2MB page mapped via a PDE. */ +static __inline void +pmap_pde_attr(vm_offset_t va, int mode) +{ + pd_entry_t *pde; + u_int opde, npde; + + pde = pmap_pde(kernel_pmap, va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PDE, so we can just spin on updating the low 32-bits. + */ + do { + opde = *(u_int *)pde; + npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); + npde |= pmap_cache_bits(mode, 1); + } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); +} + /* * Map a set of physical memory pages into the kernel virtual * address space. Return a pointer to where it is mapped. This @@ -3126,12 +3235,15 @@ * NOT real memory. */ void * -pmap_mapdev(vm_paddr_t pa, vm_size_t size) +pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode) { vm_offset_t va, tmpva, offset; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:06:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2305116A531; Tue, 29 Aug 2006 12:06:28 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EBD4216A4F5 for ; Tue, 29 Aug 2006 12:06:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5332343D96 for ; Tue, 29 Aug 2006 12:05:53 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TC5r4n084790 for ; Tue, 29 Aug 2006 12:05:53 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TC5rIV084787 for perforce@freebsd.org; Tue, 29 Aug 2006 12:05:53 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 29 Aug 2006 12:05:53 GMT Message-Id: <200608291205.k7TC5rIV084787@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 105254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:06:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=105254 Change 105254 by hselasky@hselasky_mini_itx on 2006/08/29 12:05:40 Add firmware for "if_kue". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/kue_fw.h#3 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:08:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D92FA16A4E1; Tue, 29 Aug 2006 12:08:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ABEA816A517 for ; Tue, 29 Aug 2006 12:08:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77A1343DC5 for ; Tue, 29 Aug 2006 12:07:56 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TC7u71084926 for ; Tue, 29 Aug 2006 12:07:56 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TC7uZS084923 for perforce@freebsd.org; Tue, 29 Aug 2006 12:07:56 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 29 Aug 2006 12:07:56 GMT Message-Id: <200608291207.k7TC7uZS084923@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 105255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:08:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=105255 Change 105255 by hselasky@hselasky_mini_itx on 2006/08/29 12:07:39 Rename "kue_fw.h" to "if_kuefw.h". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_kuefw.h#1 branch .. //depot/projects/usb/src/sys/dev/usb/kue_fw.h#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:12:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 752FD16A50A; Tue, 29 Aug 2006 12:12:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2EA7916A4FA for ; Tue, 29 Aug 2006 12:12:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C21343E06 for ; Tue, 29 Aug 2006 12:11:13 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TCB0V7085107 for ; Tue, 29 Aug 2006 12:11:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TCB0bY085104 for perforce@freebsd.org; Tue, 29 Aug 2006 12:11:00 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 29 Aug 2006 12:11:00 GMT Message-Id: <200608291211.k7TCB0bY085104@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 105256 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:12:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=105256 Change 105256 by hselasky@hselasky_mini_itx on 2006/08/29 12:10:41 Finished reworking "if_kue". The driver should be big-endian safe now. Please test. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_kuereg.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#4 (text+ko) ==== @@ -1,0 +1,1087 @@ +/*- + * Copyright (c) 1997, 1998, 1999, 2000 + * Bill Paul . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Bill Paul. + * 4. Neither the name of the author nor the names of any co-contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Kawasaki LSI KL5KUSB101B USB to ethernet adapter driver. + * + * Written by Bill Paul + * Electrical Engineering Department + * Columbia University, New York City + */ + +/* + * The KLSI USB to ethernet adapter chip contains an USB serial interface, + * ethernet MAC and embedded microcontroller (called the QT Engine). + * The chip must have firmware loaded into it before it will operate. + * Packets are passed between the chip and host via bulk transfers. + * There is an interrupt endpoint mentioned in the software spec, however + * it's currently unused. This device is 10Mbps half-duplex only, hence + * there is no media selection logic. The MAC supports a 128 entry + * multicast filter, though the exact size of the filter can depend + * on the firmware. Curiously, while the software spec describes various + * ethernet statistics counters, my sample adapter and firmware combination + * claims not to support any statistics counters at all. + * + * Note that once we load the firmware in the device, we have to be + * careful not to load it again: if you restart your computer but + * leave the adapter attached to the USB controller, it may remain + * powered on and retain its firmware. In this case, we don't need + * to load the firmware a second time. + * + * Special thanks to Rob Furr for providing an ADS Technologies + * adapter for development and testing. No monkeys were harmed during + * the development of this driver. + */ + +/* + * NOTE: all function names beginning like "kue_cfg_" can only + * be called from within the config thread function ! + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define usbd_config_td_cc kue_config_copy +#define usbd_config_td_softc kue_softc + +#include +#include +#include +#include + +#include "usbdevs.h" + +#include +#include + +__FBSDID("$FreeBSD: src/sys/dev/usb/if_kue.c,v 1.68 2005/11/11 16:04:55 ru Exp $"); + +/* + * Various supported device vendors/products. + */ +static struct kue_type kue_devs[] = { + { USB_VENDOR_AOX, USB_PRODUCT_AOX_USB101 }, + { USB_VENDOR_KLSI, USB_PRODUCT_AOX_USB101 }, + { USB_VENDOR_ADS, USB_PRODUCT_ADS_UBS10BT }, + { USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC10T }, + { USB_VENDOR_NETGEAR, USB_PRODUCT_NETGEAR_EA101 }, + { USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET }, + { USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET2 }, + { USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_E45 }, + { USB_VENDOR_3COM, USB_PRODUCT_3COM_3C19250 }, + { USB_VENDOR_COREGA, USB_PRODUCT_COREGA_ETHER_USB_T }, + { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650C }, + { USB_VENDOR_SMC, USB_PRODUCT_SMC_2102USB }, + { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10T }, + { USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BT }, + { USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BTN }, + { USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET3 }, + { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETT }, + { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_URE450 }, + { 0, 0 } +}; + +/* prototypes */ + +static device_probe_t kue_probe; +static device_attach_t kue_attach; +static device_detach_t kue_detach; +static device_shutdown_t kue_shutdown; + +static void +kue_cfg_do_request(struct kue_softc *sc, usb_device_request_t *req, + void *data); +static void +kue_cfg_setword(struct kue_softc *sc, u_int8_t breq, u_int16_t word); + +static void +kue_cfg_ctl(struct kue_softc *sc, u_int8_t rw, u_int8_t breq, + u_int16_t val, void *data, u_int16_t len); +static void +kue_cfg_load_fw(struct kue_softc *sc); + +static void +kue_cfg_promisc_upd(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); +static void +kue_config_copy(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); +static void +kue_cfg_reset(struct kue_softc *sc); + +static void +kue_cfg_first_time_setup(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); +static void +kue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +kue_bulk_read_callback(struct usbd_xfer *xfer); + +static void +kue_bulk_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +kue_bulk_write_callback(struct usbd_xfer *xfer); + +static void +kue_start_cb(struct ifnet *ifp); + +static void +kue_start_transfers(struct kue_softc *sc); + +static void +kue_init_cb(void *arg); + +static void +kue_cfg_init(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); +static int +kue_ioctl_cb(struct ifnet *ifp, u_long command, caddr_t data); + +static void +kue_cfg_tick(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); +static void +kue_watchdog(void *arg); + +static void +kue_cfg_stop(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount); + +#define DPRINTF(...) + +static const struct usbd_config kue_config[KUE_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = (MCLBYTES + 2 + 64), + .flags = (USBD_USE_DMA), + .callback = &kue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = (MCLBYTES + 2), + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &kue_bulk_read_callback, + .timeout = 0, /* no timeout */ + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &kue_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &kue_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static device_method_t kue_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, kue_probe), + DEVMETHOD(device_attach, kue_attach), + DEVMETHOD(device_detach, kue_detach), + DEVMETHOD(device_shutdown, kue_shutdown), + + { 0, 0 } +}; + +static driver_t kue_driver = { + "kue", + kue_methods, + sizeof(struct kue_softc) +}; + +static devclass_t kue_devclass; + +DRIVER_MODULE(kue, uhub, kue_driver, kue_devclass, usbd_driver_load, 0); +MODULE_DEPEND(kue, usb, 1, 1, 1); +MODULE_DEPEND(kue, ether, 1, 1, 1); + +/* + * We have a custom do_request function which is almost like the + * regular do_request function, except it has a much longer timeout. + * Why? Because we need to make requests over the control endpoint + * to download the firmware to the device, which can take longer + * than the default timeout. + */ +static void +kue_cfg_do_request(struct kue_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &(sc->sc_mtx), req, + data, 0, NULL, 60000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +static void +kue_cfg_setword(struct kue_softc *sc, u_int8_t breq, u_int16_t word) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = breq; + USETW(req.wValue, word); + USETW(req.wIndex, 0); + USETW(req.wLength, 0); + + kue_cfg_do_request(sc, &req, NULL); + return; +} + +static void +kue_cfg_ctl(struct kue_softc *sc, u_int8_t rw, u_int8_t breq, + u_int16_t val, void *data, u_int16_t len) +{ + usb_device_request_t req; + + if (rw == KUE_CTL_WRITE) { + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + } else { + req.bmRequestType = UT_READ_VENDOR_DEVICE; + } + + req.bRequest = breq; + USETW(req.wValue, val); + USETW(req.wIndex, 0); + USETW(req.wLength, len); + + kue_cfg_do_request(sc, &req, data); + return; +} + +static void +kue_cfg_load_fw(struct kue_softc *sc) +{ + usb_device_descriptor_t *dd; + u_int16_t hwrev; + + dd = &sc->sc_udev->ddesc; + hwrev = UGETW(dd->bcdDevice); + + /* + * First, check if we even need to load the firmware. + * If the device was still attached when the system was + * rebooted, it may already have firmware loaded in it. + * If this is the case, we don't need to do it again. + * And in fact, if we try to load it again, we'll hang, + * so we have to avoid this condition if we don't want + * to look stupid. + * + * We can test this quickly by checking the bcdRevision + * code. The NIC will return a different revision code if + * it's probed while the firmware is still loaded and + * running. + */ + if (hwrev == 0x0202) { + return; + } + + /* load code segment */ + kue_cfg_ctl(sc, KUE_CTL_WRITE, KUE_CMD_SEND_SCAN, + 0, kue_code_seg, sizeof(kue_code_seg)); + + /* load fixup segment */ + kue_cfg_ctl(sc, KUE_CTL_WRITE, KUE_CMD_SEND_SCAN, + 0, kue_fix_seg, sizeof(kue_fix_seg)); + + /* send trigger command */ + kue_cfg_ctl(sc, KUE_CTL_WRITE, KUE_CMD_SEND_SCAN, + 0, kue_trig_seg, sizeof(kue_trig_seg)); + return; +} + +static void +kue_cfg_promisc_upd(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + /* nothing to do */ + return; + } + + kue_cfg_ctl(sc, KUE_CTL_WRITE, KUE_CMD_SET_MCAST_FILTERS, + cc->if_nhash, cc->if_hash, cc->if_nhash * ETHER_ADDR_LEN); + + kue_cfg_setword(sc, KUE_CMD_SET_PKT_FILTER, cc->if_rxfilt); + + return; +} + +static void +kue_config_copy(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp = sc->sc_ifp; + struct ifmultiaddr * ifma; + u_int16_t rxfilt = (KUE_RXFILT_UNICAST|KUE_RXFILT_BROADCAST); + u_int16_t i; + + bzero(cc, sizeof(*cc)); + + if (ifp) { + for (i = 0; i < ETHER_ADDR_LEN; i++) { + cc->if_lladdr[i] = IF_LLADDR(ifp)[i]; + } + + cc->if_flags = ifp->if_flags; + + /* if we want promiscuous mode, + * set the all-frames bit: + */ + if (ifp->if_flags & IFF_PROMISC) { + rxfilt |= KUE_RXFILT_PROMISC; + } + + if ((ifp->if_flags & IFF_ALLMULTI) || + (ifp->if_flags & IFF_PROMISC)) { + rxfilt |= KUE_RXFILT_ALLMULTI; + } else { + + i = 0; + + IF_ADDR_LOCK(ifp); + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) + { + if (ifma->ifma_addr->sa_family != AF_LINK) { + continue; + } + + /* + * If there are too many addresses for the + * internal filter, switch over to allmulti mode. + */ + if (i == sc->sc_mcfilt_max) { + rxfilt |= KUE_RXFILT_ALLMULTI; + break; + } + bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr), + cc->if_hash + (i * ETHER_ADDR_LEN), ETHER_ADDR_LEN); + i++; + } + IF_ADDR_UNLOCK(ifp); + + cc->if_nhash = i; + + if (!(rxfilt & KUE_RXFILT_ALLMULTI)) { + rxfilt |= KUE_RXFILT_MULTICAST; + } + } + } + cc->if_rxfilt = rxfilt; + return; +} + +/* + * Issue a SET_CONFIGURATION command to reset the MAC. This should be + * done after the firmware is loaded into the adapter in order to + * bring it into proper operation. + */ +static void +kue_cfg_reset(struct kue_softc *sc) +{ + usbd_status err; + + mtx_unlock(&(sc->sc_mtx)); + + mtx_lock(&Giant); + + err = usbreq_set_config(sc->sc_udev, KUE_CONFIG_NO); + + mtx_unlock(&Giant); + + mtx_lock(&(sc->sc_mtx)); + + if (err) { + DPRINTF(sc, 0, "reset failed (ignored)\n"); + } + + /* wait a little while for the + * chip to get its brains in order: + */ + err = usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + + return; +} + +/* + * Probe for a KLSI chip. + */ +static int +kue_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct kue_type *t; + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + t = kue_devs; + while(t->kue_vid) { + if ((uaa->vendor == t->kue_vid) && + (uaa->product == t->kue_did)) { + return UMATCH_VENDOR_PRODUCT; + } + t++; + } + return UMATCH_NONE; +} + +/* + * Attach the interface. Allocate softc structures, do + * setup and ethernet/BPF attach. + */ +static int +kue_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct kue_softc *sc = device_get_softc(dev); + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + mtx_init(&(sc->sc_mtx), "kue lock", NULL, MTX_DEF | MTX_RECURSE); + + __callout_init_mtx(&(sc->sc_watchdog), + &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); + + error = usbd_set_config_no(uaa->device, KUE_CONFIG_NO, 0); + + if (error) { + device_printf(dev, "setting config " + "number failed!\n"); + goto detach; + } + + error = usbd_transfer_setup(uaa->device, KUE_IFACE_IDX, + sc->sc_xfer, kue_config, KUE_ENDPT_MAX, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), + &kue_config_copy, NULL, + sizeof(struct kue_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + mtx_lock(&(sc->sc_mtx)); + + /* start setup */ + + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_first_time_setup, 0); + + /* start watchdog (will exit mutex) */ + + kue_watchdog(sc); + + return 0; /* success */ + + detach: + kue_detach(dev); + return ENXIO; /* failure */ +} + +static void +kue_cfg_first_time_setup(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp; + + if (cc == NULL) { + return; + } + + /* load the firmware into the NIC */ + + kue_cfg_load_fw(sc); + + /* reset the adapter */ + + kue_cfg_reset(sc); + + /* read ethernet descriptor */ + kue_cfg_ctl(sc, KUE_CTL_READ, KUE_CMD_GET_ETHER_DESCRIPTOR, + 0, &(sc->sc_desc), sizeof(sc->sc_desc)); + + sc->sc_mcfilt_max = KUE_MCFILTCNT(sc); + if (sc->sc_mcfilt_max > KUE_MCFILT_MAX) { + sc->sc_mcfilt_max = KUE_MCFILT_MAX; + } + + mtx_unlock(&(sc->sc_mtx)); + + ifp = if_alloc(IFT_ETHER); + + mtx_lock(&(sc->sc_mtx)); + + if (ifp == NULL) { + printf("kue%d: could not if_alloc()\n", + sc->sc_unit); + goto done; + } + + ifp->if_softc = sc; + if_initname(ifp, "kue", sc->sc_unit); + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_ioctl = kue_ioctl_cb; + ifp->if_start = kue_start_cb; + ifp->if_watchdog = NULL; + ifp->if_init = kue_init_cb; + ifp->if_baudrate = 10000000; + ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + + sc->sc_ifp = ifp; + + ether_ifattach(ifp, sc->sc_desc.kue_macaddr); + done: + return; +} + +static int +kue_detach(device_t dev) +{ + struct kue_softc * sc = device_get_softc(dev); + struct ifnet * ifp; + + mtx_lock(&(sc->sc_mtx)); + + usbd_config_td_stop(&(sc->sc_config_td)); + + __callout_stop(&(sc->sc_watchdog)); + + kue_cfg_stop(sc, NULL, 0); + + ifp = sc->sc_ifp; + + mtx_unlock(&(sc->sc_mtx)); + + /* get rid of any late children */ + bus_generic_detach(dev); + + if (ifp) { + ether_ifdetach(ifp); + if_free(ifp); + } + + usbd_transfer_unsetup(sc->sc_xfer, KUE_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &(sc->sc_mtx)); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + mtx_destroy(&(sc->sc_mtx)); + + return 0; +} + +static void +kue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct kue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~KUE_FLAG_READ_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~KUE_FLAG_READ_STALL; + DPRINTF(sc, 0, "bulk read pipe stopped\n"); + return; +} + +static void +kue_bulk_read_callback(struct usbd_xfer *xfer) +{ + struct kue_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct mbuf *m; + u_int8_t buf[2]; + u_int16_t len; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + /* try to clear stall first */ + sc->sc_flags |= KUE_FLAG_READ_STALL; + usbd_transfer_start(sc->sc_xfer[3]); + } + DPRINTF(sc, 0, "bulk read error, %s\n", + usbd_errstr(xfer->error)); + return; + + tr_transferred: + + if (xfer->actlen <= (2 + sizeof(struct ether_header))) { + ifp->if_ierrors++; + goto tr_setup; + } + + usbd_copy_out(&(xfer->buf_data), 0, buf, 2); + + len = buf[0] | (buf[1] << 8); + + xfer->actlen -= 2; + + m = usbd_ether_get_mbuf(); + + if (m == NULL) { + ifp->if_ierrors++; + goto tr_setup; + } + + xfer->actlen = min(xfer->actlen, m->m_len); + xfer->actlen = min(xfer->actlen, len); + + usbd_copy_out(&(xfer->buf_data), 2, m->m_data, xfer->actlen); + + ifp->if_ipackets++; + m->m_pkthdr.rcvif = ifp; + m->m_pkthdr.len = m->m_len = xfer->actlen; + + (ifp->if_input)(ifp, m); + + tr_setup: + + if (sc->sc_flags & KUE_FLAG_READ_STALL) { + usbd_transfer_start(sc->sc_xfer[3]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +kue_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct kue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~KUE_FLAG_WRITE_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~KUE_FLAG_WRITE_STALL; + DPRINTF(sc, 0, "bulk write pipe stopped\n"); + return; +} + +static void +kue_bulk_write_callback(struct usbd_xfer *xfer) +{ + struct kue_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct mbuf *m; + u_int8_t buf[2]; + + USBD_CHECK_STATUS(xfer); + + tr_error: + DPRINTF(sc, 10, "transfer error, %s\n", + usbd_errstr(xfer->error)); + + if (xfer->error != USBD_CANCELLED) { + /* try to clear stall first */ + sc->sc_flags |= KUE_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[2]); + } + + ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + return; + + tr_transferred: + DPRINTF(sc, 10, "transfer complete\n"); + + ifp->if_opackets++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + tr_setup: + + if (sc->sc_flags & KUE_FLAG_WRITE_STALL) { + usbd_transfer_start(sc->sc_xfer[2]); + goto done; + } + + IF_DEQUEUE(&(ifp->if_snd), m); + + if (m == NULL) { + goto done; + } + + if (m->m_pkthdr.len > MCLBYTES) { + m->m_pkthdr.len = MCLBYTES; + } + + xfer->length = (m->m_pkthdr.len + 2); + xfer->length += (64 - (xfer->length % 64)); + + /* the first two bytes are the frame length */ + + buf[0] = (u_int8_t)(m->m_pkthdr.len); + buf[1] = (u_int8_t)(m->m_pkthdr.len >> 8); + + usbd_copy_in(&(xfer->buf_data), 0, buf, 2); + + usbd_m_copy_in(&(xfer->buf_data), 2, + m, 0, m->m_pkthdr.len); + + /* + * if there's a BPF listener, bounce a copy + * of this frame to him: + */ + BPF_MTAP(ifp, m); + + m_freem(m); + + usbd_start_hardware(xfer); + + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + done: + return; +} + +static void +kue_start_cb(struct ifnet *ifp) +{ + struct kue_softc * sc = ifp->if_softc; + + mtx_lock(&(sc->sc_mtx)); + + kue_start_transfers(sc); + + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +kue_start_transfers(struct kue_softc *sc) +{ + if ((sc->sc_flags & KUE_FLAG_LL_READY) && + (sc->sc_flags & KUE_FLAG_HL_READY)) { + + /* start the USB transfers, + * if not already started: + */ + usbd_transfer_start(sc->sc_xfer[1]); + usbd_transfer_start(sc->sc_xfer[0]); + } + return; +} + +static void +kue_init_cb(void *arg) +{ + struct kue_softc *sc = arg; + + mtx_lock(&(sc->sc_mtx)); + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_init, 0); + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +kue_cfg_init(struct kue_softc *sc, + struct kue_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + + /* immediate configuration */ + + struct ifnet *ifp = sc->sc_ifp; + + kue_cfg_stop(sc, NULL, 0); + + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + sc->sc_flags |= KUE_FLAG_HL_READY; + + return; + } + + /* set MAC address */ + kue_cfg_ctl(sc, KUE_CTL_WRITE, KUE_CMD_SET_MAC, + 0, cc->if_lladdr, ETHER_ADDR_LEN); + + /* I'm not sure how to tune these. */ +#if 0 + /* + * Leave this one alone for now; setting it + * wrong causes lockups on some machines/controllers. + */ + kue_cfg_setword(sc, KUE_CMD_SET_SOFS, 1); +#endif + kue_cfg_setword(sc, KUE_CMD_SET_URB_SIZE, 64); + + /* load the multicast filter */ + kue_cfg_promisc_upd(sc, cc, 0); + + sc->sc_flags |= (KUE_FLAG_READ_STALL| + KUE_FLAG_WRITE_STALL| + KUE_FLAG_LL_READY); + + kue_start_transfers(sc); + return; +} + +static int +kue_ioctl_cb(struct ifnet *ifp, u_long command, caddr_t data) +{ + struct kue_softc * sc = ifp->if_softc; + int error = 0; + + mtx_lock(&(sc->sc_mtx)); + + switch(command) { + case SIOCSIFFLAGS: + if (ifp->if_flags & IFF_UP) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_promisc_upd, 0); + } else { + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_init, 0); + } + } else { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_stop, 0); + } + } + break; + + case SIOCADDMULTI: + case SIOCDELMULTI: + usbd_config_td_queue_command + (&(sc->sc_config_td), &kue_cfg_promisc_upd, 0); + break; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:17:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE42916A4E1; Tue, 29 Aug 2006 12:17:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 59D1116A4E0 for ; Tue, 29 Aug 2006 12:17:23 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F51143D64 for ; Tue, 29 Aug 2006 12:17:18 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TCHIxV085463 for ; Tue, 29 Aug 2006 12:17:18 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TCH95C085460 for perforce@freebsd.org; Tue, 29 Aug 2006 12:17:09 GMT (envelope-from gnn@neville-neil.com) Date: Tue, 29 Aug 2006 12:17:09 GMT Message-Id: <200608291217.k7TCH95C085460@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 105257 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:17:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=105257 Change 105257 by gnn@gnn_devbox_fast_ipsec on 2006/08/29 12:16:35 Bring my branch up to date. Affected files ... .. //depot/projects/gnn_fast_ipsec/src/sbin/setkey/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/identcpu.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/machdep.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/trap.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/conf/NOTES#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/ia32/ia32_syscall.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/linux32_sysvec.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/elf_trampoline.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/identcpu.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/mem.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/pmap.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/trap.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/at91.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/at91_st.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/at91rm92reg.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/if_ate.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/armreg.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/cpuconf.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/cpufunc.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/db_machdep.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/elf.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/pmap.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/sf_buf.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/vmparam.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/iq80321.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/Makefile#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0iic/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0iic/doit.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0iic/main.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0spi/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0spi/doit.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/arm_init.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/arm_init.S#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/arm_init.s#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/eeprom.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/env_vars.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/env_vars.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/loader_prompt.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/loader_prompt.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/mci_device.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/p_string.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/common/help.common#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/common/loader.8#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/loader/main.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/pc98/loader/main.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/bsm/audit.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/bsm/audit_record.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32_misc.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/syscalls.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linprocfs/linprocfs.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_signal.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_util.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/ndis/ntoskrnl_var.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_proto.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_stream.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_stropts.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_syscall.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_syscallnames.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/syscalls.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/syscalls.master#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/Makefile.arm#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/NOTES#10 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files.amd64#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files.i386#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files.pc98#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files.powerpc#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/kern.post.mk#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options#12 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options.amd64#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options.arm#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options.i386#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options.pc98#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/dev/acpica/acfreebsd.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/fil.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_frag.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_proxy.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_scan.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/ipl.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/via/padlock.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/via/padlock.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/via/padlock_cipher.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/via/padlock_hash.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/ddb/db_ps.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpi_support/acpi_ibm.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_pci_link.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_video.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/arl/if_arlreg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-disk.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-raid.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ath/ath_rate/sample/sample.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ath/if_athioctl.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ath/if_athvar.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bge/if_bge.c#10 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bge/if_bgereg.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bktr/CHANGELOG.TXT#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/dc/dcphy.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/dc/pnphy.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/dpt/dpt_scsi.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/README#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em_hw.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em_hw.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em_osdep.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/exca/excareg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/fb/creator.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/iicbus/if_ic.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/iicbus/iicbb.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ips/ips.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_ioctl.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_target.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_target.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ispfw/ispfw.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/iwi/if_iwi.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/kbdmux/kbdmux.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/brgphy.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/gentbi.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/ip1000phy.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/ip1000phyreg.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/miidevs#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/rgephy.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_cam.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_pci.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pccbb/pccbbreg.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/powermac_nvram/powermac_nvram.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/powermac_nvram/powermac_nvramvar.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/scc/scc_core.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/scc/scc_dev_z8530.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sk/if_sk.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sk/if_skreg.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/ich.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/stge/if_stge.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/stge/if_stgereg.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sym/sym_fw1.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sym/sym_fw2.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart_cpu_powerpc.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart_dev_z8530.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/if_ural.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usb_port.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uscanner.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/wi/if_wavelan_ieee.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/wi/if_wi.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/hpfs/hpfs.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/udf/ecma167-udf.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/bde/g_bde_work.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/eli/g_eli.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/eli/g_eli.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/eli/g_eli_ctl.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/eli/g_eli_integrity.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/geom_gpt.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/label/g_label.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/label/g_label_msdosfs.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/label/g_label_msdosfs.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/geom/mirror/g_mirror.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/raid3/g_raid3.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/vinum/geom_vinum_raid5.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/conf/GENERIC#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/conf/NOTES#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/conf/XBOX#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/identcpu.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/pmap.c#12 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/support.s#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/trap.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/tsc.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc_syscall.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_proto.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_syscall.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_sysent.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix_syscall.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.isc#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.isc.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.master#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.xenix#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/ibcs2/syscalls.xenix.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/include/pmap.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_proto.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_syscall.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_sysent.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_sysvec.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/syscalls.conf#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/syscalls.master#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/xbox/xbox.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/conf/NOTES#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia32/ia32_trap.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia64/pmap.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia64/trap.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/include/pmap.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/include/vmparam.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/init_main.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/init_sysent.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_lock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_malloc.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_mutex.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_resource.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_subr.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_sx.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_syscalls.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_tc.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_thr.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_thread.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_time.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_umtx.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/sched_core.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/sched_ule.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_bus.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_rman.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_turnstile.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_witness.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/sys_process.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/sys_socket.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/syscalls.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/syscalls.master#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/systrace_args.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_domain.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_proto.c#4 delete .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_sockbuf.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_socket.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_socket2.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_usrreq.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_aio.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_bio.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/libkern/strstr.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/modules/agp/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/asr/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/bridgestp/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/modules/hwpmc/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/if_bridge/Makefile#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/if_ef/Makefile#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/if_ppp/Makefile#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/linsysfs/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/linux/Makefile#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/mii/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/netgraph/mppc/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/osf1/Makefile#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/modules/padlock/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/powermac_nvram/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/modules/stge/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/net/bpf.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/bridgestp.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/bridgestp.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_bridge.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_bridgevar.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_enc.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_faith.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_gif.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_gre.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_spppsubr.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_stf.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_tun.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_var.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_vlan.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/net_osdep.h#3 delete .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_ioctl.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_output.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_proto.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_ether.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_fec.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_pppoe.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_pppoe.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/in_gif.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_encap.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_fastfwd.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_input.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_output.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_input.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_timer.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_timer.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ah_aesxcbcmac.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ah_core.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ah_input.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ah_output.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/esp_aesctr.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/esp_core.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/esp_input.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/esp_output.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/esp_rijndael.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/frag6.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_cksum.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_gif.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_proto.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ip6_forward.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ip6_mroute.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ipcomp_core.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ipcomp_input.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ipcomp_output.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/ipsec.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/nd6.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/udp6_output.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netkey/key.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netkey/keydb.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netncp/ncp_sock.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_crypt.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_iod.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_rq.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_rq.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_lock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsserver/nfs_srvcache.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsserver/nfs_srvsock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsserver/nfs_srvsubs.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsserver/nfs_syscalls.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pc98/conf/NOTES#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pc98/include/md_var.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pc98/pc98/pc98_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/agp.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/agp_amd64.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/if_xl.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/ncr.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/nfsmb.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/include/ofw_machdep.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/include/pcb.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/clock.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/machdep.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/mem.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/mmu_if.m#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/mmu_oea.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/ofw_machdep.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/pmap_dispatch.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/powerpc/trap.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/psim/sio_iobus.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/powerpc/psim/uart_iobus.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/audit/audit_ioctl.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/audit/audit_pipe.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/conf/NOTES#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/sparc64/trap.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/_label.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/bufobj.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/dirent.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/domain.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/eventhandler.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/extattr.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/imgact.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/kobj.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/libkern.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/mac_policy.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/mbuf.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/mutex.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/param.h#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/proc.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/protosw.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sched.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/socket.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/socketvar.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/stat.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sx.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/syscall.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/syscall.mk#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/syscallsubr.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sysctl.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sysent.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sysproto.h#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/systm.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/time.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/types.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/umtx.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/unpcb.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ufs/ffs/ffs_snapshot.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/device_pager.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/pmap.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/swap_pager.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_contig.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_fault.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_object.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_page.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_page.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_pageout.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_pageq.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_zeroidle.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/gnn_fast_ipsec/src/sbin/setkey/Makefile#2 (text+ko) ==== @@ -25,11 +25,14 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sbin/setkey/Makefile,v 1.12 2005/10/13 17:57:34 ume Exp $ +# $FreeBSD: src/sbin/setkey/Makefile,v 1.13 2006/07/27 13:26:29 yar Exp $ + +.include PROG= setkey MAN= setkey.8 SRCS= setkey.c parse.y token.l +WARNS?= 1 CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../lib/libipsec YFLAGS= -d @@ -47,7 +50,11 @@ SRCS+= y.tab.h y.tab.h: parse.y -CFLAGS+= -DIPSEC_DEBUG -DINET6 -DYY_NO_UNPUT -I. +CFLAGS+= -DIPSEC_DEBUG -DYY_NO_UNPUT +.if ${MK_INET6_SUPPORT} != "no" +CFLAGS+= -DINET6 +.endif +CFLAGS+= -I. DPADD+= ${LIBIPSEC} LDADD+= -lipsec CLEANFILES+= scriptdump y.tab.h @@ -56,8 +63,6 @@ LOCALPREFIX= /usr -WARNS= 1 - scriptdump: scriptdump.pl sed -e 's#@LOCALPREFIX@#${LOCALPREFIX}#' < $> > scriptdump ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/acpica/madt.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.20 2006/03/27 15:59:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.21 2006/08/11 19:22:55 jhb Exp $"); #include #include @@ -203,15 +203,15 @@ /* * Map in the RSDP. Since ACPI uses AcpiOsMapMemory() which in turn - * calls pmap_mapdev() to find the RSDP, we assume that we can use - * pmap_mapdev() to map the RSDP. + * calls pmap_mapbios() to find the RSDP, we assume that we can use + * pmap_mapbios() to map the RSDP. */ if (AcpiOsGetRootPointer(ACPI_LOGICAL_ADDRESSING, &rsdp_ptr) != AE_OK) return (ENXIO); #ifdef __i386__ KASSERT(rsdp_ptr.Pointer.Physical < KERNLOAD, ("RSDP too high")); #endif - rsdp = pmap_mapdev(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); + rsdp = pmap_mapbios(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); if (rsdp == NULL) { if (bootverbose) printf("MADT: Failed to map RSDP\n"); @@ -261,7 +261,7 @@ break; madt_unmap_table(rsdt); } - pmap_unmapdev((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); + pmap_unmapbios((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); if (madt_physaddr == 0) { if (bootverbose) printf("MADT: No MADT table found\n"); @@ -335,7 +335,7 @@ madt_setup_local(void) { - madt = pmap_mapdev(madt_physaddr, madt_length); + madt = pmap_mapbios(madt_physaddr, madt_length); lapic_init((uintptr_t)madt->LocalApicAddress); printf("ACPI APIC Table: <%.*s %.*s>\n", (int)sizeof(madt->OemId), madt->OemId, ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/identcpu.c#7 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.147 2006/07/12 06:04:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.148 2006/08/01 01:23:39 obrien Exp $"); #include "opt_cpu.h" @@ -296,8 +296,8 @@ "\034RDTSCP" /* RDTSCP */ "\035" /* Undefined */ "\036LM" /* 64 bit long mode */ - "\0373DNow+" /* AMD 3DNow! Extensions */ - "\0403DNow" /* AMD 3DNow! */ + "\0373DNow!+" /* AMD 3DNow! Extensions */ + "\0403DNow!" /* AMD 3DNow! */ ); } ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/machdep.c#7 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.650 2006/06/19 22:36:01 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.651 2006/07/27 19:47:22 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -947,17 +947,17 @@ if (TUNABLE_ULONG_FETCH("hw.physmem", &physmem_tunable)) Maxmem = atop(physmem_tunable); + /* + * Don't allow MAXMEM or hw.physmem to extend the amount of memory + * in the system. + */ + if (Maxmem > atop(physmap[physmap_idx + 1])) + Maxmem = atop(physmap[physmap_idx + 1]); + if (atop(physmap[physmap_idx + 1]) != Maxmem && (boothowto & RB_VERBOSE)) printf("Physical memory use set to %ldK\n", Maxmem * 4); - /* - * If Maxmem has been increased beyond what the system has detected, - * extend the last memory segment to the new limit. - */ - if (atop(physmap[physmap_idx + 1]) < Maxmem) - physmap[physmap_idx + 1] = ptoa((vm_paddr_t)Maxmem); - /* call pmap initialization to make new kernel address space */ pmap_bootstrap(&first); ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#11 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); /* * Manages physical address maps. @@ -665,6 +665,84 @@ * Low level helper routines..... ***************************************************/ +/* + * Determine the appropriate bits to set in a PTE or PDE for a specified + * caching mode. + */ +static int +pmap_cache_bits(int mode, boolean_t is_pde) +{ + int pat_flag, pat_index, cache_bits; + + /* The PAT bit is different for PTE's and PDE's. */ + pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; + + /* If we don't support PAT, map extended modes to older ones. */ + if (!(cpu_feature & CPUID_PAT)) { + switch (mode) { + case PAT_UNCACHEABLE: + case PAT_WRITE_THROUGH: + case PAT_WRITE_BACK: + break; + case PAT_UNCACHED: + case PAT_WRITE_COMBINING: + case PAT_WRITE_PROTECTED: + mode = PAT_UNCACHEABLE; + break; + } + } + + /* Map the caching mode to a PAT index. */ + switch (mode) { +#ifdef PAT_WORKS + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; +#else + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; +#endif + default: + panic("Unknown caching mode %d\n", mode); + } + + /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ + cache_bits = 0; + if (pat_index & 0x4) + cache_bits |= pat_flag; + if (pat_index & 0x2) + cache_bits |= PG_NC_PCD; + if (pat_index & 0x1) + cache_bits |= PG_NC_PWT; + return (cache_bits); +} #ifdef SMP /* * For SMP, these functions have to use the IPI mechanism for coherence. @@ -962,6 +1040,15 @@ pte_store(pte, pa | PG_RW | PG_V | PG_G); } +PMAP_INLINE void +pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode) +{ + pt_entry_t *pte; + + pte = vtopte(va); + pte_store(pte, pa | PG_RW | PG_V | PG_G | pmap_cache_bits(mode, 0)); +} + /* * Remove a page from the kernel pagetables. * Note: not SMP coherent. @@ -2506,7 +2593,6 @@ retry: p = vm_page_lookup(object, pindex); if (p != NULL) { - vm_page_lock_queues(); if (vm_page_sleep_if_busy(p, FALSE, "init4p")) goto retry; } else { @@ -2525,8 +2611,8 @@ p = vm_page_lookup(object, pindex); vm_page_lock_queues(); vm_page_wakeup(p); + vm_page_unlock_queues(); } - vm_page_unlock_queues(); ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) @@ -2972,7 +3058,7 @@ * Clear the write and modified bits in each of the given page's mappings. */ void -pmap_clear_write(vm_page_t m) +pmap_remove_write(vm_page_t m) { pv_entry_t pv; pmap_t pmap; @@ -3002,23 +3088,6 @@ } /* - * pmap_page_protect: - * - * Lower the permission for all mappings to a given page. - */ -void -pmap_page_protect(vm_page_t m, vm_prot_t prot) -{ - if ((prot & VM_PROT_WRITE) == 0) { - if (prot & (VM_PROT_READ | VM_PROT_EXECUTE)) { - pmap_clear_write(m); - } else { - pmap_remove_all(m); - } - } -} - -/* * pmap_ts_referenced: * * Return a count of reference bits for a page, clearing those bits. @@ -3119,6 +3188,46 @@ * Miscellaneous support routines follow */ +/* Adjust the cache mode for a 4KB page mapped via a PTE. */ +static __inline void +pmap_pte_attr(vm_offset_t va, int mode) +{ + pt_entry_t *pte; + u_int opte, npte; + + pte = vtopte(va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PTE, so we can just spin on updating the low 32-bits. + */ + do { + opte = *(u_int *)pte; + npte = opte & ~(PG_PTE_PAT | PG_NC_PCD | PG_NC_PWT); + npte |= pmap_cache_bits(mode, 0); + } while (npte != opte && !atomic_cmpset_int((u_int *)pte, opte, npte)); +} + +/* Adjust the cache mode for a 2MB page mapped via a PDE. */ +static __inline void +pmap_pde_attr(vm_offset_t va, int mode) +{ + pd_entry_t *pde; + u_int opde, npde; + + pde = pmap_pde(kernel_pmap, va); + + /* + * The cache mode bits are all in the low 32-bits of the + * PDE, so we can just spin on updating the low 32-bits. + */ + do { + opde = *(u_int *)pde; + npde = opde & ~(PG_PDE_PAT | PG_NC_PCD | PG_NC_PWT); + npde |= pmap_cache_bits(mode, 1); + } while (npde != opde && !atomic_cmpset_int((u_int *)pde, opde, npde)); +} + /* * Map a set of physical memory pages into the kernel virtual * address space. Return a pointer to where it is mapped. This @@ -3126,12 +3235,15 @@ * NOT real memory. */ void * -pmap_mapdev(vm_paddr_t pa, vm_size_t size) +pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode) { vm_offset_t va, tmpva, offset; - /* If this fits within the direct map window, use it */ - if (pa < dmaplimit && (pa + size) < dmaplimit) + /* + * If this fits within the direct map window and use WB caching + * mode, use the direct map. + */ + if (pa < dmaplimit && (pa + size) < dmaplimit && mode == PAT_WRITE_BACK) return ((void *)PHYS_TO_DMAP(pa)); offset = pa & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); @@ -3140,15 +3252,30 @@ panic("pmap_mapdev: Couldn't alloc kernel virtual memory"); pa = trunc_page(pa); for (tmpva = va; size > 0; ) { - pmap_kenter(tmpva, pa); + pmap_kenter_attr(tmpva, pa, mode); size -= PAGE_SIZE; tmpva += PAGE_SIZE; pa += PAGE_SIZE; } pmap_invalidate_range(kernel_pmap, va, tmpva); + pmap_invalidate_cache(); return ((void *)(va + offset)); } +void * +pmap_mapdev(vm_paddr_t pa, vm_size_t size) +{ + + return (pmap_mapdev_attr(pa, size, PAT_UNCACHEABLE)); +} + +void * +pmap_mapbios(vm_paddr_t pa, vm_size_t size) +{ + + return (pmap_mapdev_attr(pa, size, PAT_WRITE_BACK)); +} + void pmap_unmapdev(vm_offset_t va, vm_size_t size) { @@ -3166,6 +3293,73 @@ kmem_free(kernel_map, base, size); } +int +pmap_change_attr(va, size, mode) + vm_offset_t va; + vm_size_t size; + int mode; +{ + vm_offset_t base, offset, tmpva; + pd_entry_t *pde; + pt_entry_t *pte; + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:54:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84D7A16A50C; Tue, 29 Aug 2006 12:54:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C05E16A504 for ; Tue, 29 Aug 2006 12:54:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC48B43D96 for ; Tue, 29 Aug 2006 12:54:24 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TCs5jx095805 for ; Tue, 29 Aug 2006 12:54:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TCs597095802 for perforce@freebsd.org; Tue, 29 Aug 2006 12:54:05 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 29 Aug 2006 12:54:05 GMT Message-Id: <200608291254.k7TCs597095802@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 105258 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:54:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=105258 Change 105258 by hselasky@hselasky_mini_itx on 2006/08/29 12:53:54 Extend the length check for incoming frames. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#5 (text+ko) ==== @@ -687,7 +687,7 @@ tr_transferred: - if (xfer->actlen <= 2) { + if (xfer->actlen <= (2 + sizeof(struct ether_header))) { ifp->if_ierrors++; goto tr_setup; } @@ -1018,10 +1018,6 @@ return; } -/* - * Stop the adapter and free any mbufs allocated to the - * RX and TX lists. - */ static void cue_cfg_stop(struct cue_softc *sc, struct cue_config_copy *cc, u_int16_t refcount) From owner-p4-projects@FreeBSD.ORG Tue Aug 29 12:58:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62A1A16A4E2; Tue, 29 Aug 2006 12:58:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0FC2F16A4E0 for ; Tue, 29 Aug 2006 12:58:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B963843D58 for ; Tue, 29 Aug 2006 12:58:11 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TCwBkr096430 for ; Tue, 29 Aug 2006 12:58:11 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TCwBmM096427 for perforce@freebsd.org; Tue, 29 Aug 2006 12:58:11 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 29 Aug 2006 12:58:11 GMT Message-Id: <200608291258.k7TCwBmM096427@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 105259 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 12:58:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=105259 Change 105259 by hselasky@hselasky_mini_itx on 2006/08/29 12:57:15 Try to make "usbd_config_td_queue_command()" smarter by calling "command_func" before "p_config_copy". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#14 (text+ko) ==== @@ -2561,6 +2561,15 @@ } } + /* first call to command function + * (do this before calling the + * config copy function, so that + * the immediate part of the command + * function gets a chance to change + * the config before it is copied) + */ + (command_func)(ctd->p_softc, NULL, command_ref); + USBD_IF_DEQUEUE(&(ctd->cmd_free), m); if (m == NULL) { @@ -2586,11 +2595,6 @@ ctd->flag_config_td_sleep = 0; wakeup(&(ctd->wakeup_config_td)); } - - /* first call to command function */ - - (command_func)(ctd->p_softc, NULL, command_ref); - return; } From owner-p4-projects@FreeBSD.ORG Tue Aug 29 13:08:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B54116A4DF; Tue, 29 Aug 2006 13:08:25 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0DD3B16A4DD for ; Tue, 29 Aug 2006 13:08:25 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF91243D55 for ; Tue, 29 Aug 2006 13:08:24 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TD8OUS098496 for ; Tue, 29 Aug 2006 13:08:24 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TD8O3H098493 for perforce@freebsd.org; Tue, 29 Aug 2006 13:08:24 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 29 Aug 2006 13:08:24 GMT Message-Id: <200608291308.k7TD8O3H098493@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 105260 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 13:08:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=105260 Change 105260 by gonzo@gonzo_hq on 2006/08/29 13:07:46 o Set STARTFILE_SPEC and ENDFILE_SPEC to respective FBSD_XXXX_SPEC. Affected files ... .. //depot/projects/mips2/src/contrib/gcc/config/mips/freebsd.h#4 edit Differences ... ==== //depot/projects/mips2/src/contrib/gcc/config/mips/freebsd.h#4 (text+ko) ==== @@ -33,6 +33,13 @@ #undef LIB_SPEC #define LIB_SPEC FBSD_LIB_SPEC #endif /* LIB_SPEC */ + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC FBSD_STARTFILE_SPEC + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC FBSD_ENDFILE_SPEC + /* The generic MIPS TARGET_CPU_CPP_BUILTINS are incorrect for NetBSD. Specifically, they define too many namespace-invasive macros. Override them here. Note this is structured for easy comparison to the version From owner-p4-projects@FreeBSD.ORG Tue Aug 29 13:32:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 131C116A4E2; Tue, 29 Aug 2006 13:32:02 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B796E16A4DD for ; Tue, 29 Aug 2006 13:32:01 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 494B243D70 for ; Tue, 29 Aug 2006 13:32:00 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TDVtlF002641 for ; Tue, 29 Aug 2006 13:32:00 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TDVssV002638 for perforce@freebsd.org; Tue, 29 Aug 2006 13:31:54 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 29 Aug 2006 13:31:54 GMT Message-Id: <200608291331.k7TDVssV002638@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 105262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 13:32:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=105262 Change 105262 by gonzo@gonzo_hq on 2006/08/29 13:31:34 o Add mips endianess support. o Add common for all mips architectures flags. Affected files ... .. //depot/projects/mips2/src/share/mk/bsd.cpu.mk#4 edit Differences ... ==== //depot/projects/mips2/src/share/mk/bsd.cpu.mk#4 (text+ko) ==== @@ -115,12 +115,13 @@ _CPUCFLAGS = -mcpu=${CPUTYPE} . endif . elif ${MACHINE_ARCH} == "mips" +_CPUCFLAGS = -mno-abicalls -G0 . if ${CPUTYPE} == "mips32" -_CPUCFLAGS = -march=mips32 +_CPUCFLAGS += -march=mips32 . elif ${CPUTYPE} == "mips64" -_CPUCFLAGS = -march=mips64 +_CPUCFLAGS += -march=mips64 . elif ${CPUTYPE} == "mipsr4kc" -_CPUCFLAGS = -march=r4kc +_CPUCFLAGS += -march=r4kc . endif . endif @@ -203,6 +204,12 @@ LD += -EB .endif +.if ${MACHINE_ARCH} == "mips" && defined(MIPS_LITTLE_ENDIAN) +_CPUCFLAGS += -EL +LDFLAGS += -Wl,-EL +LD += -EL +.endif + # NB: COPTFLAGS is handled in /usr/src/sys/conf/kern.pre.mk .if !defined(NO_CPU_CFLAGS) From owner-p4-projects@FreeBSD.ORG Tue Aug 29 13:38:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F6CD16A4E6; Tue, 29 Aug 2006 13:38:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E333F16A4E5 for ; Tue, 29 Aug 2006 13:38:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 885FC43D58 for ; Tue, 29 Aug 2006 13:38:08 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TDc87U003003 for ; Tue, 29 Aug 2006 13:38:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TDc8pZ003000 for perforce@freebsd.org; Tue, 29 Aug 2006 13:38:08 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 29 Aug 2006 13:38:08 GMT Message-Id: <200608291338.k7TDc8pZ003000@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 105263 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 13:38:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=105263 Change 105263 by gonzo@gonzo_hq on 2006/08/29 13:37:25 o Clean out Makefile.inc o Check endianess using build-in __MIPSEB__ macros instead of BYTE_ORDER. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/net/Makefile.inc#2 edit .. //depot/projects/mips2/src/lib/libc/mips/net/htonl.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/net/htons.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/net/ntohl.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/net/ntohs.S#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/net/Makefile.inc#2 (text+ko) ==== @@ -1,10 +1,4 @@ # $NetBSD: Makefile.inc,v 1.3 2003/08/01 17:03:51 lukem Exp $ +# $FreeBSD$ -# objects built from assembler sources (need lint stubs) -# hton* and nto* functions provided by ../gen/byte_swap_*.S -SRCS+= - -SRCS.mips.net= Lint_htonl.c Lint_htons.c Lint_ntohl.c Lint_ntohs.c -LSRCS+= ${SRCS.mips.net} -DPSRCS+= ${SRCS.mips.net} -CLEANFILES+= ${SRCS.mips.net} +SRCS+= htonl.S ntohl.S htons.S ntohs.S ==== //depot/projects/mips2/src/lib/libc/mips/net/htonl.S#2 (text+ko) ==== @@ -37,12 +37,13 @@ */ #include -#include __FBSDID("$FreeBSD: src/lib/libc/arm/net/htonl.S,v 1.1 2004/05/14 12:04:30 cognet Exp $"); LEAF(htonl) # a0 = 0x11223344, return 0x44332211 -#if BYTE_ORDER == LITTLE_ENDIAN +#ifdef __MIPSEB__ + move v0, a0 +#else srl v1, a0, 24 # v1 = 0x00000011 sll v0, a0, 24 # v0 = 0x44000000 or v0, v0, v1 @@ -52,8 +53,6 @@ srl v1, a0, 8 and v1, v1, 0xff00 # v1 = 0x00002200 or v0, v0, v1 -#else - move v0, a0 #endif j ra END(htonl) ==== //depot/projects/mips2/src/lib/libc/mips/net/htons.S#2 (text+ko) ==== @@ -37,19 +37,18 @@ */ #include -#include __FBSDID("$FreeBSD: src/lib/libc/arm/net/htons.S,v 1.1 2004/05/14 12:04:30 cognet Exp $"); LEAF(htons) -#if BYTE_ORDER == LITTLE_ENDIAN +#ifdef __MIPSEB__ + move v0, a0 +#else srl v0, a0, 8 and v0, v0, 0xff sll v1, a0, 8 and v1, v1, 0xff00 or v0, v0, v1 -#else - move v0, a0 #endif j ra END(htons) ==== //depot/projects/mips2/src/lib/libc/mips/net/ntohl.S#2 (text+ko) ==== @@ -37,12 +37,13 @@ */ #include -#include __FBSDID("$FreeBSD: src/lib/libc/arm/net/ntohl.S,v 1.1 2004/05/14 12:04:30 cognet Exp $"); LEAF(ntohl) # a0 = 0x11223344, return 0x44332211 -#if BYTE_ORDER == LITTLE_ENDIAN +#ifdef __MIPSEB__ + move v0, a0 +#else srl v1, a0, 24 # v1 = 0x00000011 sll v0, a0, 24 # v0 = 0x44000000 or v0, v0, v1 @@ -52,8 +53,6 @@ srl v1, a0, 8 and v1, v1, 0xff00 # v1 = 0x00002200 or v0, v0, v1 -#else - move v0, a0 #endif j ra END(ntohl) ==== //depot/projects/mips2/src/lib/libc/mips/net/ntohs.S#2 (text+ko) ==== @@ -37,19 +37,18 @@ */ #include -#include __FBSDID("$FreeBSD: src/lib/libc/arm/net/ntohs.S,v 1.1 2004/05/14 12:04:30 cognet Exp $"); LEAF(ntohs) -#if BYTE_ORDER == LITTLE_ENDIAN +#ifdef __MIPSEB__ + move v0, a0 +#else srl v0, a0, 8 and v0, v0, 0xff sll v1, a0, 8 and v1, v1, 0xff00 or v0, v0, v1 -#else - move v0, a0 #endif j ra END(ntohs) From owner-p4-projects@FreeBSD.ORG Tue Aug 29 13:54:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90E3A16A4E0; Tue, 29 Aug 2006 13:54:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 51A1016A4DE for ; Tue, 29 Aug 2006 13:54:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D8A543D45 for ; Tue, 29 Aug 2006 13:54:30 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TDsT4e003784 for ; Tue, 29 Aug 2006 13:54:30 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TDsToS003781 for perforce@freebsd.org; Tue, 29 Aug 2006 13:54:29 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 29 Aug 2006 13:54:29 GMT Message-Id: <200608291354.k7TDsToS003781@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 105265 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 13:54:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105265 Change 105265 by gonzo@gonzo_hq on 2006/08/29 13:53:30 o In order to build target with required endianess make libthr/libpthread use system-wide LDFLAGS for linking. Affected files ... .. //depot/projects/mips2/src/lib/libpthread/support/Makefile.inc#2 edit .. //depot/projects/mips2/src/lib/libthr/Makefile#2 edit .. //depot/projects/mips2/src/lib/libthr/support/Makefile.inc#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libpthread/support/Makefile.inc#2 (text+ko) ==== @@ -36,5 +36,5 @@ CLEANFILES+= ${SYSCALL_SRC} ${SYSCALL_OBJ} ${LIBC_OBJS} thr_libc.So: ${SYSCALL_OBJ} ${LIBC_OBJS} - ${CC} -fPIC -nostdlib -o ${.TARGET} -r ${.ALLSRC} + ${CC} ${LDFLAGS} -fPIC -nostdlib -o ${.TARGET} -r ${.ALLSRC} ==== //depot/projects/mips2/src/lib/libthr/Makefile#2 (text+ko) ==== @@ -28,7 +28,7 @@ # CFLAGS+=-DSYSTEM_SCOPE_ONLY -LDFLAGS= -Wl,--version-script=${.CURDIR}/pthread.map +LDFLAGS+= -Wl,--version-script=${.CURDIR}/pthread.map MAN= libthr.3 ==== //depot/projects/mips2/src/lib/libthr/support/Makefile.inc#2 (text+ko) ==== @@ -19,4 +19,4 @@ CLEANFILES+= ${SYSCALL_SRC} ${SYSCALL_OBJ} ${LIBC_OBJS} thr_libc.So: ${SYSCALL_OBJ} ${LIBC_OBJS} - ${CC} -fPIC -nostdlib -o ${.TARGET} -r ${.ALLSRC} + ${CC} ${LDFLAGS} -fPIC -nostdlib -o ${.TARGET} -r ${.ALLSRC} From owner-p4-projects@FreeBSD.ORG Tue Aug 29 15:56:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53E3B16A4DF; Tue, 29 Aug 2006 15:56:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 322E816A4DD for ; Tue, 29 Aug 2006 15:56:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D269543D49 for ; Tue, 29 Aug 2006 15:56:02 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TFu23O012192 for ; Tue, 29 Aug 2006 15:56:02 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TFu2em012189 for perforce@freebsd.org; Tue, 29 Aug 2006 15:56:02 GMT (envelope-from piso@freebsd.org) Date: Tue, 29 Aug 2006 15:56:02 GMT Message-Id: <200608291556.k7TFu2em012189@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105269 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 15:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=105269 Change 105269 by piso@piso_newluxor on 2006/08/29 15:55:03 Style and cosmetic changes. Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#6 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#6 (text+ko) ==== @@ -67,7 +67,7 @@ do_time, /* Show time stamps */ do_quiet, /* Be quiet in add and flush */ do_pipe, /* this cmd refers to a pipe */ - do_nat, /* nat configuration */ + do_nat, /* Nat configuration. */ do_sort, /* field to sort results (0 = no) */ do_dynamic, /* display dynamic rules */ do_expired, /* display expired dynamic rules */ @@ -407,7 +407,7 @@ { "unreach", TOK_UNREACH }, { "check-state", TOK_CHECKSTATE }, { "//", TOK_COMMENT }, - { "nat", TOK_NAT}, + { "nat", TOK_NAT }, { NULL, 0 } /* terminator */ }; @@ -515,7 +515,7 @@ { static int s = -1; /* the socket */ int i; - + if (test_only) return 0; @@ -3189,8 +3189,7 @@ exitval = do_cmd(IP_FW_NAT_DEL, &i, sizeof i); if (exitval) { exitval = EX_UNAVAILABLE; - warn("rule %u not available", - i); + warn("rule %u not available", i); } } else if (do_pipe) { if (do_pipe == 1) @@ -3217,6 +3216,7 @@ exit(exitval); } + /* * fill the interface structure. We do not check the name as we can * create interfaces dynamically, so checking them at insert time @@ -3261,9 +3261,9 @@ mib[0] = CTL_NET; mib[1] = PF_ROUTE; mib[2] = 0; - mib[3] = AF_INET; /* Only IP addresses please */ + mib[3] = AF_INET; mib[4] = NET_RT_IFLIST; - mib[5] = 0; /* ifIndex??? */ + mib[5] = 0; /* * Get interface data. */ @@ -3341,10 +3341,10 @@ } /* - * XXX: the following functions, macros and definitions come from natd.c: - * it would be better to move them outside of natd.c, in a file + * XXX - The following functions, macros and definitions come from natd.c: + * it would be better to move them outside natd.c, in a file * (redirect_support.[ch]?) shared by ipfw and natd, but for now i can live - * with it... + * with it. */ /* @@ -3453,7 +3453,7 @@ return StrToPortRange (ptr, proto, portRange); } -/* end of stuff taken from natd.c */ +/* End of stuff taken from natd.c. */ #define INC_ARGCV() do { \ (*_av)++; \ @@ -3496,8 +3496,8 @@ setup_redir_addr(char *spool_buf, int len, int *_ac, char ***_av) { - char **av = *_av, *sep; /* token separator */ - /* temporary buffer used to hold server pool ip's */ + char **av = *_av, *sep; /* Token separator. */ + /* Temporary buffer used to hold server pool ip's. */ char tmp_spool_buf[NAT_BUF_LEN]; int ac = *_ac, i, space = 0, lsnat = 0; int sof_redir = sizeof(struct cfg_redir); @@ -3505,33 +3505,33 @@ if (len >= sof_redir) { r = (struct cfg_redir *)spool_buf; - /* skip cfg_redir at beginning of buf */ + /* Skip cfg_redir at beginning of buf. */ spool_buf = &spool_buf[sof_redir]; space = sof_redir; len -= sof_redir; } else goto nospace; r->mode = REDIR_ADDR; - /* extract local address */ + /* Extract local address. */ if (ac == 0) errx(EX_DATAERR, "redir_addr: missing local address"); sep = strchr(*av, ','); if (sep) { /* LSNAT redirection syntax. */ r->laddr.s_addr = INADDR_NONE; - /* preserve av, copy spool servers to tmp_spool_buf */ + /* Preserve av, copy spool servers to tmp_spool_buf. */ strncpy(tmp_spool_buf, *av, strlen(*av)+1); lsnat = 1; } else StrToAddr(*av, &r->laddr); INC_ARGCV(); - /* extract public address */ + /* Extract public address. */ if (ac == 0) errx(EX_DATAERR, "redir_addr: missing public address"); StrToAddr(*av, &r->paddr); INC_ARGCV(); - /* setup LSNAT server pool */ + /* Setup LSNAT server pool. */ if (sep) { int sof_spool = sizeof(struct cfg_spool); struct cfg_spool *tmp; @@ -3545,10 +3545,10 @@ space += sof_spool; StrToAddr(sep, &tmp->addr); tmp->port = ~0; - r->spool_cnt++; - /* point to the next possible cfg_spool */ + r->spool_cnt++; + /* Point to the next possible cfg_spool. */ spool_buf = &spool_buf[sof_spool]; - sep = strtok(NULL, ","); + sep = strtok(NULL, ","); } } return(space); @@ -3570,7 +3570,7 @@ if (len >= sof_redir) { r = (struct cfg_redir *)spool_buf; - /* skip cfg_redir at beginning of buf */ + /* Skip cfg_redir at beginning of buf. */ spool_buf = &spool_buf[sof_redir]; space = sof_redir; len -= sof_redir; @@ -3597,14 +3597,14 @@ r->laddr.s_addr = INADDR_NONE; r->lport = ~0; numLocalPorts = 1; - /* preserve av, copy spool servers to tmp_spool_buf */ + /* Preserve av, copy spool servers to tmp_spool_buf. */ strncpy(tmp_spool_buf, *av, strlen(*av)+1); lsnat = 1; } else { - if ( StrToAddrAndPortRange (*av, &r->laddr, protoName, &portRange) != 0 ) - errx (EX_DATAERR, "redirect_port: invalid local port range"); + if (StrToAddrAndPortRange (*av, &r->laddr, protoName, &portRange) != 0) + errx(EX_DATAERR, "redirect_port: invalid local port range"); - r->lport = GETLOPORT(portRange); + r->lport = GETLOPORT(portRange); numLocalPorts = GETNUMPORTS(portRange); } INC_ARGCV(); @@ -3617,15 +3617,15 @@ sep = strchr (*av, ':'); if (sep) { - if (StrToAddrAndPortRange (*av, &r->paddr, protoName, &portRange) != 0 ) - errx (EX_DATAERR, "redirect_port: invalid public port range"); - } else { + if (StrToAddrAndPortRange (*av, &r->paddr, protoName, &portRange) != 0) + errx(EX_DATAERR, "redirect_port: invalid public port range"); + } else { r->paddr.s_addr = INADDR_ANY; if (StrToPortRange (*av, protoName, &portRange) != 0) - errx (EX_DATAERR, "redirect_port: invalid public port range"); + errx(EX_DATAERR, "redirect_port: invalid public port range"); } - r->pport = GETLOPORT(portRange); + r->pport = GETLOPORT(portRange); r->pport_cnt = GETNUMPORTS(portRange); INC_ARGCV(); @@ -3633,14 +3633,14 @@ * Extract remote address and optionally port. */ /* - * isalpha(**av) => we've to check that next parameter is really an - * option for this redirect entry, else stop here processing arg[cv] + * NB: isalpha(**av) => we've to check that next parameter is really an + * option for this redirect entry, else stop here processing arg[cv]. */ if (ac != 0 && !isalpha(**av)) { sep = strchr (*av, ':'); if (sep) { if (StrToAddrAndPortRange (*av, &r->raddr, protoName, &portRange) != 0) - errx (EX_DATAERR, "redirect_port: invalid remote port range"); + errx(EX_DATAERR, "redirect_port: invalid remote port range"); } else { SETLOPORT(portRange, 0); SETNUMPORTS(portRange, 1); @@ -3652,7 +3652,7 @@ SETNUMPORTS(portRange, 1); r->raddr.s_addr = INADDR_ANY; } - r->rport = GETLOPORT(portRange); + r->rport = GETLOPORT(portRange); r->rport_cnt = GETNUMPORTS(portRange); /* @@ -3669,8 +3669,8 @@ * Setup LSNAT server pool. */ if (lsnat) { - int sof_spool = sizeof(struct cfg_spool); - struct cfg_spool *tmp; + int sof_spool = sizeof(struct cfg_spool); + struct cfg_spool *tmp; sep = strtok(tmp_spool_buf, ","); while (sep != NULL) { @@ -3685,12 +3685,12 @@ errx(EX_DATAERR, "redirect_port: local port must be single in this context"); tmp->port = GETLOPORT(portRange); r->spool_cnt++; - /* point to the next possible cfg_spool */ + /* Point to the next possible cfg_spool. */ spool_buf = &spool_buf[sof_spool]; sep = strtok(NULL, ","); } } - return(space); + return (space); nospace: errx(EX_DATAERR, "redir_port: buf is too small\n"); } @@ -3707,7 +3707,7 @@ if (len >= sof_redir) { r = (struct cfg_redir *)spool_buf; - /* skip cfg_redir at beginning of buf */ + /* Skip cfg_redir at beginning of buf. */ spool_buf = &spool_buf[sof_redir]; space = sof_redir; len -= sof_redir; @@ -3760,7 +3760,7 @@ } } } - return(space); + return (space); nospace: errx(EX_DATAERR, "redir_proto: buf is too small\n"); } @@ -3807,17 +3807,17 @@ n->mode &= ~PKT_ALIAS_PROXY_ONLY; } } - /* print all the redirect's data configuration */ + /* Print all the redirect's data configuration. */ for (cnt=0; cnt < n->redir_cnt; cnt++) { t = (struct cfg_redir *)&buf[off]; off += sof_redir; - switch(t->mode) { + switch (t->mode) { case REDIR_ADDR: printf(" redir_addr"); if (t->spool_cnt == 0) printf(" %s", inet_ntoa(t->laddr)); else - for (i=0; ispool_cnt; i++) { + for (i=0; i < t->spool_cnt; i++) { s = (struct cfg_spool *)&buf[off]; if (i) printf(","); @@ -3836,7 +3836,7 @@ if (t->pport_cnt > 1) printf("-%u", t->lport+t->pport_cnt-1); } else - for (i=0; ispool_cnt; i++) { + for (i=0; i < t->spool_cnt; i++) { s = (struct cfg_spool *)&buf[off]; if (i) printf(","); @@ -3881,24 +3881,27 @@ static void config_nat(int ac, char **av) { - struct cfg_nat *n; /* nat instance configuration */ + struct cfg_nat *n; /* Nat instance configuration. */ struct in_addr ip; int i, len = NAT_BUF_LEN; - /* offset in buf: save space for a n at the beginning */ - int off=sizeof(*n); - char *id, buf[NAT_BUF_LEN]; /* buffer for serialized data */ + /* Offset in buf: save space for n at the beginning. */ + int off = sizeof(*n); + char *id, buf[NAT_BUF_LEN]; /* Buffer for serialized data. */ memset(buf, 0, sizeof(buf)); n = (struct cfg_nat *)buf; av++; ac--; - /* Nat id */ + /* Nat id. */ if (ac && isdigit(**av)) { id = *av; - i = atoi(*av); av++; ac--; + i = atoi(*av); + ac--; av++; n->id = i; - } else errx(EX_DATAERR, "missing nat id"); - if (ac == 0) errx(EX_DATAERR, "missing option"); + } else + errx(EX_DATAERR, "missing nat id"); + if (ac == 0) + errx(EX_DATAERR, "missing option"); while (ac > 0) { int tok = match_token(nat_params, *av); @@ -3906,9 +3909,10 @@ ac--; av++; - switch(tok) { + switch (tok) { case TOK_IP: - if (ac == 0) errx(EX_DATAERR, "missing option"); + if (ac == 0) + errx(EX_DATAERR, "missing option"); if (!inet_aton(av[0], &(n->ip))) errx(EX_DATAERR, "bad ip address ``%s''", av[0]); ac--; av++; @@ -3948,13 +3952,13 @@ break; /* - * all the setup_redir_* functions work directly in the final - * buffer, see above for details + * All the setup_redir_* functions work directly in the final + * buffer, see above for details. */ case TOK_REDIR_ADDR: case TOK_REDIR_PORT: case TOK_REDIR_PROTO: - switch(tok) { + switch (tok) { case TOK_REDIR_ADDR: i = setup_redir_addr(&buf[off], len, &ac, &av); break; @@ -3981,7 +3985,7 @@ if (i) err(1, "setsockopt(%s)", "IP_FW_NAT_CFG"); - /* after every rule modification, we show the resultant rule */ + /* After every modification, we show the resultant rule. */ int _ac = 3; char *_av[] = {"show", "config", id}; show_nat(_ac, _av); @@ -5830,21 +5834,22 @@ u_int8_t *data = NULL, *p; char **lav, *endptr; - av++; ac--; + ac--; av++; - /* parse parameters */ + /* Parse parameters. */ for (cmd = IP_FW_NAT_GET_LOG, do_cfg = 0; ac != 0; ac--, av++) { if (!strncmp(av[0], "config", strlen(av[0]))) { - cmd = IP_FW_NAT_GET_CONFIG, do_cfg = 1; continue; + cmd = IP_FW_NAT_GET_CONFIG, do_cfg = 1; + continue; } - /* convert command line rule # */ + /* Convert command line rule #. */ frule = lrule = strtoul(av[0], &endptr, 10); if (*endptr == '-') lrule = strtoul(endptr+1, &endptr, 10); if (lrule == 0) err(EX_USAGE, "invalid rule number: %s", av[0]); do_rule = 1; - } + } nbytes = nalloc; while (nbytes >= nalloc) { @@ -5856,13 +5861,16 @@ err(EX_OSERR, "getsockopt(IP_FW_GET_%s)", (cmd == IP_FW_NAT_GET_LOG) ? "LOG" : "CONFIG"); } - if (nbytes == 0) exit(0); + if (nbytes == 0) + exit(0); if (do_cfg) { for (i = 0, loop = 1; loop; ) { n = (struct cfg_nat *)&data[i]; - if (n->next == NULL) loop = 0; + if (n->next == NULL) + loop = 0; if (do_rule) - if (!(frule <= n->id && lrule >= n->id)) continue; + if (!(frule <= n->id && lrule >= n->id)) + continue; print_nat_config(&data[i]); i += sizeof(struct cfg_nat); e = (struct cfg_redir *)&data[i]; @@ -5874,10 +5882,12 @@ } else { for (i = 0; 1; i += LIBALIAS_BUF_SIZE + sizeof(int)) { p = &data[i]; - if (p == data + nbytes) break; + if (p == data + nbytes) + break; bcopy(p, &r, sizeof(int)); if (do_rule) - if (!(frule <= r && lrule >= r)) continue; + if (!(frule <= r && lrule >= r)) + continue; printf("nat %u: %s\n", r, p+sizeof(int)); } } @@ -6071,7 +6081,7 @@ } /* - * optional: pipe, queue or nat + * Optional: pipe, queue or nat. */ do_nat = 0; do_pipe = 0; From owner-p4-projects@FreeBSD.ORG Tue Aug 29 16:12:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A71416A4E0; Tue, 29 Aug 2006 16:12:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1E58516A4DA for ; Tue, 29 Aug 2006 16:12:24 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD33943D73 for ; Tue, 29 Aug 2006 16:12:23 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TGCNqE014151 for ; Tue, 29 Aug 2006 16:12:23 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TGCN8q014148 for perforce@freebsd.org; Tue, 29 Aug 2006 16:12:23 GMT (envelope-from piso@freebsd.org) Date: Tue, 29 Aug 2006 16:12:23 GMT Message-Id: <200608291612.k7TGCN8q014148@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105270 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 16:12:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=105270 Change 105270 by piso@piso_newluxor on 2006/08/29 16:12:11 Style. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#4 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#4 (text+ko) ==== @@ -318,19 +318,19 @@ struct _chain *next; }; -/* Server pool support (LSNAT) */ +/* Server pool support (LSNAT). */ struct cfg_spool { struct cfg_spool *next; /* chain of spool instances */ struct in_addr addr; u_short port; }; -/* Redirect modes id */ +/* Redirect modes id. */ #define REDIR_ADDR 0x01 #define REDIR_PORT 0x02 #define REDIR_PROTO 0x04 -/* Nat redirect configuration */ +/* Nat redirect configuration. */ struct cfg_redir { struct cfg_redir *next; /* chain of redir instances */ u_int16_t mode; /* type of redirect mode */ @@ -349,7 +349,7 @@ }; #define NAT_BUF_LEN 1024 -/* Nat configuration data struct */ +/* Nat configuration data struct. */ struct cfg_nat { struct cfg_nat *next; /* chain of nat instances */ int id; /* nat id */ @@ -361,7 +361,7 @@ struct cfg_redir *redir_chain; /* chain of redir instances */ }; -/* Nat command */ +/* Nat command. */ typedef struct _ipfw_insn_nat { ipfw_insn o; struct cfg_nat *nat; From owner-p4-projects@FreeBSD.ORG Tue Aug 29 17:06:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A06816A4F6; Tue, 29 Aug 2006 17:06:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 29BA616A4E1 for ; Tue, 29 Aug 2006 17:06:46 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4FAD043D60 for ; Tue, 29 Aug 2006 17:02:36 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TH2SZG024461 for ; Tue, 29 Aug 2006 17:02:28 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TH2SHi024458 for perforce@freebsd.org; Tue, 29 Aug 2006 17:02:28 GMT (envelope-from piso@freebsd.org) Date: Tue, 29 Aug 2006 17:02:28 GMT Message-Id: <200608291702.k7TH2SHi024458@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 17:06:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105274 Change 105274 by piso@piso_newluxor on 2006/08/29 17:01:29 Style and cosmetic changes. While here, delete some 4.x/5.x compatibility code. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#6 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#6 (text+ko) ==== @@ -2037,39 +2037,8 @@ return match; } -/* FIX for 5.x and 4.x branch: m_move_pkthdr is not mbuf_cluster safe there */ -#if __FreeBSD_version > 600000 -static void -mym_move_pkthdr(struct mbuf *to, struct mbuf *from) { - m_move_pkthdr(to, from); -} -#else /* - * "Move" mbuf pkthdr from "from" to "to". - * "from" must have M_PKTHDR set, and "to" must be empty. - */ -static void -mym_move_pkthdr(struct mbuf *to, struct mbuf *from) -{ - -#ifdef MAC - /* - * XXXMAC: It could be this should also occur for non-MAC? - */ - if (to->m_flags & M_PKTHDR) - m_tag_delete_chain(to, NULL); -#endif - to->m_flags = (from->m_flags & M_COPYFLAGS) | (to->m_flags & M_EXT); - if ((to->m_flags & M_EXT) == 0) - to->m_data = to->m_pktdat; - to->m_pkthdr = from->m_pkthdr; /* especially tags */ - SLIST_INIT(&from->m_pkthdr.tags); /* purge tags from src */ - from->m_flags &= ~M_PKTHDR; -} -#endif - -/* - * m_megapullup() function is a big hack. (from ng_nat.c) + * m_megapullup() function (from ng_nat.c) is a big hack. * * It allocates an mbuf with cluster and copies the whole * chain into cluster, so that it is all contigous and the @@ -2094,7 +2063,7 @@ cp = mtod(mcl, caddr_t); m_copydata(m, 0, len, cp); - mym_move_pkthdr(mcl, m); + m_move_pkthdr(mcl, m); mcl->m_len = mcl->m_pkthdr.len; m_freem(m); @@ -2129,7 +2098,7 @@ return(NULL); } -/* attach p to b chain */ +/* Attach p to b chain. */ static void hook_entry(struct _chain **b, struct _chain *p) { @@ -2139,7 +2108,7 @@ *b = p; } -/* remove p from b chain */ +/* Remove p from b chain. */ static void unhook_entry(struct _chain **b, struct _chain *p) { @@ -2174,17 +2143,17 @@ int i, num; while(r) { - num = 1; /* number of alias_link to delete */ - switch(r->mode) { + num = 1; /* Number of alias_link to delete. */ + switch (r->mode) { case REDIR_PORT: num = r->pport_cnt; case REDIR_ADDR: case REDIR_PROTO: - /* delete all libalias redirect entry */ + /* Delete all libalias redirect entry. */ for (i = 0; i < num; i++) LibAliasRedirectDelete(n->lib, r->alink[i]); - /* del spool cfg if any */ + /* Del spool cfg if any. */ while(r->spool_chain) { tmp_s = r->spool_chain->next; free(r->spool_chain, M_IPFW); @@ -2213,13 +2182,13 @@ struct cfg_spool *s, *ser_s; int cnt, off, i; - for(cnt=0, off = 0; cntredir_cnt; cnt++) { + for(cnt = 0, off = 0; cnt < ptr->redir_cnt; cnt++) { ser_r = (struct cfg_redir *)&buf[off]; r = malloc(sof_redir, M_IPFW, M_NOWAIT | M_ZERO); if (r == NULL) { - /* try to recover: + /* Try to recover: * set the actual number of redir entries - * that were hooked succesfully + * that were hooked succesfully. */ ptr->redir_cnt = cnt; del_redir_spool_cfg(ptr, ptr->redir_chain); @@ -2238,11 +2207,9 @@ } switch(r->mode) { case REDIR_ADDR: - { r->alink[0] = LibAliasRedirectAddr(ptr->lib, r->laddr, r->paddr); - } break; case REDIR_PORT: for (i = 0 ; i < r->pport_cnt; i++) { @@ -2277,8 +2244,8 @@ if (r->alink[0] == NULL) { /* panic?!?!? */ free(r->alink, M_IPFW); printf("previous LibAliasRedirect* returned NULL!!!\n"); - } else /* handles LSNAT */ - for (i=0; ispool_cnt; i++) { + } else /* LSNAT handling. */ + for (i=0; i < r->spool_cnt; i++) { ser_s = (struct cfg_spool *)&buf[off]; s = malloc(sof_redir, M_IPFW, M_NOWAIT | M_ZERO); if (s == NULL) { @@ -2287,17 +2254,17 @@ return (ENOSPC); } memcpy(s, ser_s, sof_spool); - LibAliasAddServer(ptr->lib, r->alink[0], // XXX - what about RedirectPort with many alink? + LibAliasAddServer(ptr->lib, r->alink[0], s->addr, htons(s->port)); off += sof_spool; - /* hook spool entry */ + /* Hook spool entry. */ HOOK_SPOOL(&r->spool_chain, s); - } - /* and finally hook this redir entry */ - HOOK_REDIR(&ptr->redir_chain, r); + } + /* And finally hook this redir entry. */ + HOOK_REDIR(&ptr->redir_chain, r); } - return(1); + return (1); } /* @@ -3512,7 +3479,7 @@ int ldt = 0; char *c; - args->rule = f; /* report matching rule */ + args->rule = f; /* Report matching rule. */ retval = 0; t = ((ipfw_insn_nat *)cmd)->nat; if (t == NULL) { @@ -3521,24 +3488,19 @@ if (t == NULL) { retval = IP_FW_DENY; goto done; - } else ((ipfw_insn_nat *)cmd)->nat = t; + } else + ((ipfw_insn_nat *)cmd)->nat = t; } if ((mcl = m_megapullup(m, m->m_pkthdr.len)) == NULL) goto badnat; ip = mtod(mcl, struct ip *); - /* - * XXX - workaround for host-byte-order 4.x BSD well_known_bug: - * due to 4.x BSD legacy, some fields in layer-3 packet COULD be - * in host byte order instead of network byte order, so we have - * to manually swap it before passing mbuf to libalias... - */ - if (args->eh == NULL) { /* host byte order */ + if (args->eh == NULL) { ip->ip_len = htons(ip->ip_len); ip->ip_off = htons(ip->ip_off); } /* - * XXX - libalias checksum offload 'duct tape': + * XXX - Libalias checksum offload 'duct tape': * * locally generated packets have only pseudo-header * checksum calculated and libalias will screw it[1], @@ -3574,8 +3536,6 @@ * TODO: * -make libalias mbuf aware (so it can handle * delayed checksum) - * -maybe shrink the api? do we really need 23 - * functions? */ if (mcl->m_pkthdr.rcvif == NULL && @@ -3589,7 +3549,7 @@ else retval = LibAliasOut(t->lib, c, MCLBYTES); if (retval != PKT_ALIAS_OK) { - /* XXX - should i add some logging ? */ + /* XXX - should i add some logging? */ m_free(mcl); badnat: args->m = NULL; @@ -3623,10 +3583,10 @@ htons(ip->ip_p + ip->ip_len - (ip->ip_hl << 2)) ); - switch(ip->ip_p) { + switch (ip->ip_p) { case IPPROTO_TCP: th = (struct tcphdr *)(ip + 1); - /* maybe it was set in libalias... */ + /* Maybe it was set in libalias... */ th->th_x2 = 0; th->th_sum = cksum; mcl->m_pkthdr.csum_data = @@ -3642,7 +3602,7 @@ break; } - /* no hw checksum offloading: do it by ourself */ + /* No hw checksum offloading: do it by ourself. */ if ((mcl->m_pkthdr.csum_flags & CSUM_DELAY_DATA) == 0) { in_delayed_cksum(mcl); mcl->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA; @@ -3650,8 +3610,7 @@ ip->ip_len = htons(ip->ip_len); } - /* XXX - swap again some fields... see above */ - if (args->eh == NULL) { /* host byte order */ + if (args->eh == NULL) { ip->ip_len = ntohs(ip->ip_len); ip->ip_off = ntohs(ip->ip_off); } @@ -4394,9 +4353,9 @@ struct ifaddr *ifa; NAT_WLOCK(&nat_chain); - /* find every nat entry...*/ + /* Check every nat entry... */ for (ptr = nat_chain.chain; ptr; ptr = ptr->next) { - /* ...using nic 'ifp->if_xname' as dynamic alias address */ + /* ...using nic 'ifp->if_xname' as dynamic alias address. */ if (strncmp(ptr->if_name, ifp->if_xname, IF_NAMESIZE) == 0) { mtx_lock(&ifp->if_addr_mtx); TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) { @@ -4649,11 +4608,14 @@ error = sooptcopyin(sopt, buf, NAT_BUF_LEN, sizeof(struct cfg_nat)); ser_n = (struct cfg_nat *)buf; - /* FIND/CREATE NAT RULE */ + /* + * Find/create nat rule. + */ NAT_WLOCK(&nat_chain); ptr = lookup_nat(ser_n->id); - if (ptr == NULL) { /* new rule: allocate and init new instance */ - ptr = malloc(sizeof(struct cfg_nat), M_IPFW, M_NOWAIT | M_ZERO); + if (ptr == NULL) { /* New rule: allocate and init new instance. */ + ptr = malloc(sizeof(struct cfg_nat), + M_IPFW, M_NOWAIT | M_ZERO); if (ptr == NULL) { free(buf, M_IPFW); NAT_WUNLOCK(&nat_chain); @@ -4666,17 +4628,19 @@ NAT_WUNLOCK(&nat_chain); return(EINVAL); } - } else { /* entry already present: temporarly unhook it */ + } else { /* Entry already present: temporarly unhook it. */ UNHOOK_NAT(&nat_chain.chain, ptr); flush_nat_ptrs(ser_n->id); } NAT_WUNLOCK(&nat_chain); - /* BASIC NAT CONFIGURATION */ + /* + * Basic nat configuration. + */ ptr->id = ser_n->id; /* * XXX - what if this rule doesn't nat any ip and just redirect? - * do we set aliasaddress to 0.0.0.0? is it correct? + * do we set aliasaddress to 0.0.0.0? */ ptr->ip = ser_n->ip; ptr->redir_cnt = ser_n->redir_cnt; @@ -4685,17 +4649,19 @@ LibAliasSetAddress(ptr->lib, ptr->ip); memcpy(ptr->if_name, ser_n->if_name, IF_NAMESIZE); - /* REDIR AND LSNAT CONFIGURATION */ - del_redir_spool_cfg(ptr, ptr->redir_chain); /* delete old cfgs */ + /* + * Redir and LSNAT configuration. + */ + del_redir_spool_cfg(ptr, ptr->redir_chain); /* Delete old cfgs. */ err = add_redir_spool_cfg(&buf[(sizeof(struct cfg_nat))], - ptr); /* add new entries */ + ptr); /* Add new entries. */ free(buf, M_IPFW); if (err == 1) { NAT_WLOCK(&nat_chain); HOOK_NAT(&nat_chain.chain, ptr); NAT_WUNLOCK(&nat_chain); - } else /* something bad happened, redir cfg not added */ - return(EINVAL); + } else /* Something bad happened, redir cfg not added. */ + return(EINVAL); } break; @@ -4736,7 +4702,7 @@ if (data == NULL) return (ENOSPC); NAT_RLOCK(&nat_chain); - /* serialize all the data */ + /* Serialize all the data. */ for (n = nat_chain.chain; (n && (off + sof_nat < NAT_BUF_LEN)); n = n->next) { bcopy(n, &data[off], sof_nat); @@ -4768,11 +4734,13 @@ NAT_RLOCK(&nat_chain); for (ptr = nat_chain.chain, size = i = 0; ptr; ptr = ptr->next) { - if (ptr->lib->logDesc == NULL) continue; + if (ptr->lib->logDesc == NULL) + continue; cnt++; size = cnt * (sof + sizeof(int)); data = realloc(data, size, M_IPFW, M_NOWAIT | M_ZERO); - if (data == NULL) return (ENOSPC); + if (data == NULL) + return (ENOSPC); bcopy(&ptr->id, &data[i], sizeof(int)); i += sizeof(int); bcopy(ptr->lib->logDesc, &data[i], sof); From owner-p4-projects@FreeBSD.ORG Tue Aug 29 18:42:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 261D716A4DE; Tue, 29 Aug 2006 18:42:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F4AC16A4DA for ; Tue, 29 Aug 2006 18:42:39 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 578B243D78 for ; Tue, 29 Aug 2006 18:42:35 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7TIgZCc033650 for ; Tue, 29 Aug 2006 18:42:35 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7TIgZ7Z033644 for perforce@freebsd.org; Tue, 29 Aug 2006 18:42:35 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Tue, 29 Aug 2006 18:42:35 GMT Message-Id: <200608291842.k7TIgZ7Z033644@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 105278 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 18:42:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=105278 Change 105278 by tkuik@tkuik_freebsd on 2006/08/29 18:41:50 Fix TCP checksum issue with DOM0 Affected files ... .. //depot/projects/xen3/src/sys/dev/xen/netfront/netfront.c#8 edit Differences ... ==== //depot/projects/xen3/src/sys/dev/xen/netfront/netfront.c#8 (text+ko) ==== @@ -758,10 +758,13 @@ m->m_pkthdr.len = m->m_len = rx->status; m->m_pkthdr.rcvif = ifp; -#ifdef notyet - if ( rx->flags & NETRXF_csum_valid ) - skb->ip_summed = CHECKSUM_UNNECESSARY; -#endif + if ( rx->flags & NETRXF_data_validated ) { + /* Tell the stack the checksums are okay */ + m->m_pkthdr.csum_flags |= + (CSUM_IP_CHECKED | CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR); + m->m_pkthdr.csum_data = 0xffff; + } + np->stats.rx_packets++; np->stats.rx_bytes += rx->status; From owner-p4-projects@FreeBSD.ORG Tue Aug 29 20:40:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B86E16A4E2; Tue, 29 Aug 2006 20:40:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED2FB16A4DF; Tue, 29 Aug 2006 20:40:22 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D2DC43D45; Tue, 29 Aug 2006 20:40:22 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k7TKbVtu091915; Tue, 29 Aug 2006 14:37:31 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 29 Aug 2006 14:37:44 -0600 (MDT) Message-Id: <20060829.143744.-1962671497.imp@bsdimp.com> To: gonzo@freebsd.org From: "M. Warner Losh" In-Reply-To: <200608291331.k7TDVssV002638@repoman.freebsd.org> References: <200608291331.k7TDVssV002638@repoman.freebsd.org> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 29 Aug 2006 14:37:32 -0600 (MDT) Cc: perforce@freebsd.org Subject: Re: PERFORCE change 105262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 29 Aug 2006 20:40:23 -0000 In message: <200608291331.k7TDVssV002638@repoman.freebsd.org> Oleksandr Tymoshenko writes: : +.if ${MACHINE_ARCH} == "mips" && defined(MIPS_LITTLE_ENDIAN) For what it is worth, the {ARM,MIPS}_{LITTLE,BIG}_ENDIAN flags are going to have to go away. They don't play well with the rest of the system. Warner From owner-p4-projects@FreeBSD.ORG Wed Aug 30 03:42:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4341A16A4E0; Wed, 30 Aug 2006 03:42:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D741316A4DD for ; Wed, 30 Aug 2006 03:42:16 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79CEF43D45 for ; Wed, 30 Aug 2006 03:42:16 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7U3gGGM099525 for ; Wed, 30 Aug 2006 03:42:16 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7U3gF4i099522 for perforce@freebsd.org; Wed, 30 Aug 2006 03:42:15 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 30 Aug 2006 03:42:15 GMT Message-Id: <200608300342.k7U3gF4i099522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 03:42:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=105304 Change 105304 by mjacob@newisp on 2006/08/30 03:41:40 Sync with head. Affected files ... .. //depot/projects/newisp/amd64/amd64/support.S#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_dummy.c#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/newisp/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/newisp/arm/arm/fusu.S#2 integrate .. //depot/projects/newisp/arm/arm/pmap.c#2 integrate .. //depot/projects/newisp/arm/at91/at91.c#2 integrate .. //depot/projects/newisp/arm/at91/at91rm92reg.h#2 integrate .. //depot/projects/newisp/arm/at91/kb920x_machdep.c#2 integrate .. //depot/projects/newisp/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/newisp/compat/linux/linux_emul.c#2 integrate .. //depot/projects/newisp/compat/linux/linux_stats.c#2 integrate .. //depot/projects/newisp/conf/NOTES#2 integrate .. //depot/projects/newisp/crypto/sha2/sha2.c#2 integrate .. //depot/projects/newisp/dev/fdc/fdc.c#2 integrate .. //depot/projects/newisp/i386/i386/support.s#2 integrate .. //depot/projects/newisp/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/newisp/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/newisp/i386/linux/linux_proto.h#2 integrate .. //depot/projects/newisp/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/newisp/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/newisp/i386/linux/syscalls.master#2 integrate .. //depot/projects/newisp/ia64/ia64/support.S#2 integrate .. //depot/projects/newisp/kern/init_sysent.c#2 integrate .. //depot/projects/newisp/kern/kern_thread.c#2 integrate .. //depot/projects/newisp/kern/kern_umtx.c#2 integrate .. //depot/projects/newisp/kern/syscalls.c#2 integrate .. //depot/projects/newisp/kern/syscalls.master#2 integrate .. //depot/projects/newisp/kern/systrace_args.c#2 integrate .. //depot/projects/newisp/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/newisp/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/newisp/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/newisp/sparc64/sparc64/support.S#2 integrate .. //depot/projects/newisp/sys/sx.h#2 integrate .. //depot/projects/newisp/sys/syscall.h#2 integrate .. //depot/projects/newisp/sys/syscall.mk#2 integrate .. //depot/projects/newisp/sys/sysproto.h#2 integrate .. //depot/projects/newisp/sys/systm.h#2 integrate .. //depot/projects/newisp/sys/umtx.h#2 integrate .. //depot/projects/newisp/vm/vm_page.c#2 integrate .. //depot/projects/newisp/vm/vm_page.h#2 integrate Differences ... ==== //depot/projects/newisp/amd64/amd64/support.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/support.S,v 1.119 2006/08/16 22:22:28 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.120 2006/08/28 02:28:14 davidxu Exp $ */ #include "opt_ddb.h" @@ -314,6 +314,34 @@ ret /* + * casuword32. Compare and set user integer. Returns -1 or the current value. + * dst = %rdi, old = %rsi, new = %rdx + */ +ENTRY(casuword32) + movq PCPU(CURPCB),%rcx + movq $fusufault,PCB_ONFAULT(%rcx) + + movq $VM_MAXUSER_ADDRESS-4,%rax + cmpq %rax,%rdi /* verify address is valid */ + ja fusufault + + movl %esi,%eax /* old */ +#ifdef SMP + lock +#endif + cmpxchgl %edx,(%rdi) /* new = %edx */ + + /* + * The old value is in %eax. If the store succeeded it will be the + * value we expected (old) from before the store, otherwise it will + * be the current value. + */ + + movq PCPU(CURPCB),%rcx + movq $0,PCB_ONFAULT(%rcx) + ret + +/* * casuptr. Compare and set user pointer. Returns -1 or the current value. * dst = %rdi, old = %rsi, new = %rdx */ ==== //depot/projects/newisp/amd64/linux32/linux32_dummy.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.4 2006/08/15 12:54:29 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $"); #include #include @@ -77,7 +77,6 @@ DUMMY(timer_gettime); DUMMY(timer_getoverrun); DUMMY(timer_delete); -DUMMY(statfs64); DUMMY(fstatfs64); DUMMY(utimes); DUMMY(fadvise64_64); ==== //depot/projects/newisp/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.16 2006/08/25 11:59:56 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.17 2006/08/28 13:09:24 netchild Exp $"); #include #include @@ -570,24 +570,24 @@ } } - if (args->flags & CLONE_PARENT) { -#ifdef DEBUG - printf("linux_clone: CLONE_PARENT\n"); -#endif + if (args->flags & (CLONE_PARENT|CLONE_THREAD)) { + sx_xlock(&proctree_lock); + PROC_LOCK(p2); + proc_reparent(p2, td->td_proc->p_pptr); + PROC_UNLOCK(p2); + sx_xunlock(&proctree_lock); } - + if (args->flags & CLONE_THREAD) { /* XXX: linux mangles pgrp and pptr somehow * I think it might be this but I am not sure. */ #ifdef notyet + PROC_LOCK(p2); p2->p_pgrp = td->td_proc->p_pgrp; - p2->p_pptr = td->td_proc->p_pptr; + PROC_UNLOCK(p2); #endif exit_signal = 0; -#ifdef DEBUG - printf("linux_clone: CLONE_THREADS\n"); -#endif } if (args->flags & CLONE_CHILD_SETTID) @@ -599,6 +599,7 @@ em->child_clear_tid = args->child_tidptr; else em->child_clear_tid = NULL; + EMUL_UNLOCK(&emul_lock); PROC_LOCK(p2); ==== //depot/projects/newisp/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -782,7 +782,8 @@ char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; }; struct linux_statfs64_args { - register_t dummy; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { register_t dummy; ==== //depot/projects/newisp/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/newisp/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.21 2006/08/15 17:36:58 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.22 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp */ #include @@ -288,7 +288,7 @@ { AS(linux_clock_gettime_args), (sy_call_t *)linux_clock_gettime, AUE_NULL, NULL, 0, 0 }, /* 265 = linux_clock_gettime */ { AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, AUE_NULL, NULL, 0, 0 }, /* 266 = linux_clock_getres */ { AS(linux_clock_nanosleep_args), (sy_call_t *)linux_clock_nanosleep, AUE_NULL, NULL, 0, 0 }, /* 267 = linux_clock_nanosleep */ - { 0, (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ + { AS(linux_statfs64_args), (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ { 0, (sy_call_t *)linux_fstatfs64, AUE_NULL, NULL, 0, 0 }, /* 269 = linux_fstatfs64 */ { AS(linux_tgkill_args), (sy_call_t *)linux_tgkill, AUE_NULL, NULL, 0, 0 }, /* 270 = linux_tgkill */ { 0, (sy_call_t *)linux_utimes, AUE_NULL, NULL, 0, 0 }, /* 271 = linux_utimes */ ==== //depot/projects/newisp/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.19 2006/08/15 12:28:14 netchild Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.20 2006/08/27 08:56:53 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -430,7 +430,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_NULL STD { int linux_statfs64(void); } +268 AUE_NULL STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } 269 AUE_NULL STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_NULL STD { int linux_utimes(void); } ==== //depot/projects/newisp/arm/arm/fusu.S#2 (text+ko) ==== @@ -37,7 +37,7 @@ #include #include #include "assym.s" -__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.7 2005/04/23 16:45:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.9 2006/08/29 23:53:34 cognet Exp $"); #ifdef MULTIPROCESSOR .Lcpu_info: @@ -52,6 +52,7 @@ * Fetch an int from the user's address space. */ +ENTRY(casuword32) ENTRY(casuptr) #ifdef MULTIPROCESSOR /* XXX Probably not appropriate for non-Hydra SMPs */ ==== //depot/projects/newisp/arm/arm/pmap.c#2 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.68 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.69 2006/08/28 21:43:34 cognet Exp $"); #include #include #include @@ -4469,11 +4469,8 @@ pmap_remove_write(vm_page_t m) { - if (m->md.pvh_attrs & PVF_WRITE) + if (m->flags & PG_WRITEABLE) pmap_clearbit(m, PVF_WRITE); - else - KASSERT((m->flags & PG_WRITEABLE) == 0, - ("pmap_clear_write: page %p has PG_WRITEABLE set", m)); } ==== //depot/projects/newisp/arm/at91/at91.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.7 2006/05/19 11:27:02 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.8 2006/08/28 20:05:00 cognet Exp $"); #include #include @@ -54,7 +54,11 @@ vm_paddr_t pa, endpa; pa = trunc_page(bpa); - if (pa >= 0xfff00000) + if (pa >= 0xfff00000) { + *bshp = pa - 0xf0000000 + 0xd0000000; + return (0); + } + if (pa >= 0xdff00000) return (0); endpa = round_page(bpa + size); @@ -417,8 +421,8 @@ rman_manage_region(&sc->sc_irq_rman, 1, 31) != 0) panic("at91_attach: failed to set up IRQ rman"); if (rman_init(&sc->sc_mem_rman) != 0 || - rman_manage_region(&sc->sc_mem_rman, 0xfff00000ul, - 0xfffffffful) != 0) + rman_manage_region(&sc->sc_mem_rman, 0xdff00000ul, + 0xdffffffful) != 0) panic("at91_attach: failed to set up memory rman"); if (rman_manage_region(&sc->sc_mem_rman, AT91RM92_OHCI_BASE, AT91RM92_OHCI_BASE + AT91RM92_OHCI_SIZE - 1) != 0) @@ -543,7 +547,7 @@ void **cookiep) { struct at91_softc *sc = device_get_softc(dev); - + if (rman_get_start(ires) == AT91RM92_IRQ_SYSTEM && !(flags & INTR_FAST)) panic("All system interrupt ISRs must be type INTR_FAST"); BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, ==== //depot/projects/newisp/arm/at91/at91rm92reg.h#2 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.3 2006/06/20 20:13:40 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.4 2006/08/28 20:05:00 cognet Exp $ */ #ifndef AT91RM92REG_H_ #define AT91RM92REG_H_ @@ -41,7 +41,7 @@ * 0xf0000000 - 0xfffffffff : Peripherals */ -#define AT91RM92_BASE 0xf0000000 +#define AT91RM92_BASE 0xd0000000 /* Usart */ #define AT91RM92_USART0_BASE 0xffc0000 ==== //depot/projects/newisp/arm/at91/kb920x_machdep.c#2 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.15 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.16 2006/08/28 20:05:00 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -153,8 +153,8 @@ * and the timer. Other devices should use newbus to * map their memory anyway. */ + 0xdff00000, 0xfff00000, - 0xfff00000, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, @@ -364,7 +364,7 @@ l1pagetable = kernel_l1pt.pv_va; /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_LOW, + pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH, &kernel_pt_table[KERNEL_PT_SYS]); for (i = 0; i < KERNEL_PT_KERN_NUM; i++) pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x100000, @@ -383,7 +383,7 @@ /* Map the vector page. */ - pmap_map_entry(l1pagetable, ARM_VECTORS_LOW, systempage.pv_pa, + pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, @@ -462,7 +462,7 @@ thread0.td_frame = &proc0_tf; pcpup->pc_curpcb = thread0.td_pcb; - arm_vector_init(ARM_VECTORS_LOW, ARM_VEC_ALL); + arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); pmap_curmaxkvaddr = afterkern + 0x100000 * (KERNEL_PT_KERN_NUM - 1); /* ==== //depot/projects/newisp/arm/xscale/i80321/ep80219_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.1 2006/08/24 23:51:28 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.2 2006/08/27 13:23:51 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -444,6 +444,10 @@ pmap_curmaxkvaddr = afterkern + PAGE_SIZE; + dump_avail[0] = 0xa0000000; + dump_avail[1] = 0xa0000000 + memsize; + dump_avail[2] = 0; + dump_avail[3] = 0; pmap_bootstrap(pmap_curmaxkvaddr, 0xd0000000, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; @@ -462,10 +466,6 @@ phys_avail[i++] = trunc_page(0xa0000000 + memsize - 1); phys_avail[i++] = 0; phys_avail[i] = 0; - dump_avail[0] = 0xa0000000; - dump_avail[1] = 0xa0000000 + memsize; - dump_avail[2] = 0; - dump_avail[3] = 0; /* Do basic tuning, hz etc */ init_param1(); ==== //depot/projects/newisp/compat/linux/linux_emul.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.4 2006/08/19 11:54:19 ssouhlal Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.5 2006/08/28 13:52:27 ssouhlal Exp $"); #include "opt_compat.h" @@ -232,10 +232,10 @@ em->shared->refs--; if (em->shared->refs == 0) - FREE(em->shared, M_LINUX); + free(em->shared, M_LINUX); EMUL_SHARED_WUNLOCK(&emul_shared_lock); - FREE(em, M_LINUX); + free(em, M_LINUX); } } ==== //depot/projects/newisp/compat/linux/linux_stats.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.83 2006/05/16 17:57:00 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.84 2006/08/27 08:56:54 netchild Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -312,6 +312,19 @@ l_int f_spare[6]; }; +struct l_statfs64 { + l_int f_type; + l_int f_bsize; + uint64_t f_blocks; + uint64_t f_bfree; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; + l_fsid_t f_fsid; + l_int f_namelen; + l_int f_spare[6]; +}; + #define LINUX_CODA_SUPER_MAGIC 0x73757245L #define LINUX_EXT2_SUPER_MAGIC 0xEF53L #define LINUX_HPFS_SUPER_MAGIC 0xf995e849L @@ -387,6 +400,44 @@ return copyout(&linux_statfs, args->buf, sizeof(linux_statfs)); } +static void +bsd_to_linux_statfs64(struct statfs *bsd_statfs, struct l_statfs64 *linux_statfs) +{ + + linux_statfs->f_type = bsd_to_linux_ftype(bsd_statfs->f_fstypename); + linux_statfs->f_bsize = bsd_statfs->f_bsize; + linux_statfs->f_blocks = bsd_statfs->f_blocks; + linux_statfs->f_bfree = bsd_statfs->f_bfree; + linux_statfs->f_bavail = bsd_statfs->f_bavail; + linux_statfs->f_ffree = bsd_statfs->f_ffree; + linux_statfs->f_files = bsd_statfs->f_files; + linux_statfs->f_fsid.val[0] = bsd_statfs->f_fsid.val[0]; + linux_statfs->f_fsid.val[1] = bsd_statfs->f_fsid.val[1]; + linux_statfs->f_namelen = MAXNAMLEN; +} + +int +linux_statfs64(struct thread *td, struct linux_statfs64_args *args) +{ + struct l_statfs64 linux_statfs; + struct statfs bsd_statfs; + char *path; + int error; + + LCONVPATHEXIST(td, args->path, &path); + +#ifdef DEBUG + if (ldebug(statfs64)) + printf(ARGS(statfs64, "%s, *"), path); +#endif + error = kern_statfs(td, path, UIO_SYSSPACE, &bsd_statfs); + LFREEPATH(path); + if (error) + return (error); + bsd_to_linux_statfs64(&bsd_statfs, &linux_statfs); + return copyout(&linux_statfs, args->buf, sizeof(linux_statfs)); +} + int linux_fstatfs(struct thread *td, struct linux_fstatfs_args *args) { ==== //depot/projects/newisp/conf/NOTES#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1379 2006/08/24 08:00:02 ru Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1380 2006/08/27 12:57:37 marck Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1757,7 +1757,8 @@ # the Sundance/Tamarack TC9021, the D-Link DL-4000 and ASUS NX1101. # ti: Support for PCI gigabit ethernet NICs based on the Alteon Networks # Tigon 1 and Tigon 2 chipsets. This includes the Alteon AceNIC, the -# 3Com 3c985, the Netgear GA620 and various others. +# 3Com 3c985, the Netgear GA620 and various others. Note that you will +# probably want to bump up kern.ipc.nmbclusters a lot to use this driver. # tl: Support for the Texas Instruments TNETE100 series 'ThunderLAN' # cards and integrated ethernet controllers. This includes several # Compaq Netelligent 10/100 cards and the built-in ethernet controllers ==== //depot/projects/newisp/crypto/sha2/sha2.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/crypto/sha2/sha2.c,v 1.7 2003/09/08 18:32:33 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/crypto/sha2/sha2.c,v 1.8 2006/08/26 21:48:00 kan Exp $"); #include #include @@ -750,7 +750,7 @@ void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { sha2_word64 a, b, c, d, e, f, g, h, s0, s1; - sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer; + sha2_word64 T1, T2 = 0, *W512 = (sha2_word64*)context->buffer; int j; /* Initialize registers with the prev. intermediate value */ ==== //depot/projects/newisp/dev/fdc/fdc.c#2 (text+ko) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fdc/fdc.c,v 1.311 2006/07/12 00:49:46 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fdc/fdc.c,v 1.312 2006/08/29 18:19:39 jkim Exp $"); #include "opt_fdc.h" @@ -511,9 +511,9 @@ DELAY(100); /* enable FDC, but defer interrupts a moment */ fdout_wr(fdc, fdc->fdout & ~FDO_FDMAEN); - DELAY(100); - fdout_wr(fdc, fdc->fdout); } + DELAY(100); + fdout_wr(fdc, fdc->fdout); /* XXX after a reset, silently believe the FDC will accept commands */ if (fdc_cmd(fdc, 3, NE7CMD_SPECIFY, spec1, spec2, 0)) ==== //depot/projects/newisp/i386/i386/support.s#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/support.s,v 1.110 2006/08/15 15:27:13 netchild Exp $ + * $FreeBSD: src/sys/i386/i386/support.s,v 1.111 2006/08/28 02:28:15 davidxu Exp $ */ #include "opt_npx.h" @@ -1142,6 +1142,8 @@ /* * casuptr. Compare and set user pointer. Returns -1 or the current value. */ + +ALTENTRY(casuword32) ENTRY(casuptr) movl PCPU(CURPCB),%ecx movl $fusufault,PCB_ONFAULT(%ecx) ==== //depot/projects/newisp/i386/linux/linux_dummy.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_dummy.c,v 1.42 2006/08/15 12:54:30 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_dummy.c,v 1.43 2006/08/27 08:56:54 netchild Exp $"); #include #include @@ -73,7 +73,6 @@ DUMMY(epoll_ctl); DUMMY(epoll_wait); DUMMY(remap_file_pages); -DUMMY(statfs64); DUMMY(fstatfs64); DUMMY(utimes); DUMMY(fadvise64_64); ==== //depot/projects/newisp/i386/linux/linux_machdep.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.54 2006/08/25 11:59:56 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.55 2006/08/27 18:51:32 netchild Exp $"); #include #include @@ -414,24 +414,24 @@ } } - if (args->flags & CLONE_PARENT) { -#ifdef DEBUG - printf("linux_clone: CLONE_PARENT\n"); -#endif + if (args->flags & (CLONE_PARENT|CLONE_THREAD)) { + sx_xlock(&proctree_lock); + PROC_LOCK(p2); + proc_reparent(p2, td->td_proc->p_pptr); + PROC_UNLOCK(p2); + sx_xunlock(&proctree_lock); } - + if (args->flags & CLONE_THREAD) { /* XXX: linux mangles pgrp and pptr somehow * I think it might be this but I am not sure. */ #ifdef notyet + PROC_LOCK(p2); p2->p_pgrp = td->td_proc->p_pgrp; - p2->p_pptr = td->td_proc->p_pptr; + PROC_UNLOCK(p2); #endif exit_signal = 0; -#ifdef DEBUG - printf("linux_clone: CLONE_THREADS\n"); -#endif } if (args->flags & CLONE_CHILD_SETTID) @@ -443,6 +443,7 @@ em->child_clear_tid = args->child_tidptr; else em->child_clear_tid = NULL; + EMUL_UNLOCK(&emul_lock); PROC_LOCK(p2); @@ -502,13 +503,9 @@ sd.sd_gran); #endif - /* this is taken from i386 version of cpu_set_user_tls() */ - critical_enter(); /* set %gs */ td2->td_pcb->pcb_gsd = sd; - PCPU_GET(fsgs_gdt)[1] = sd; - load_gs(GSEL(GUGS_SEL, SEL_UPL)); - critical_exit(); + td2->td_pcb->pcb_gs = GSEL(GUGS_SEL, SEL_UPL); } #ifdef DEBUG ==== //depot/projects/newisp/i386/linux/linux_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.80 2006/08/15 17:37:00 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.77 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.81 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.78 2006/08/27 08:56:54 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -784,7 +784,8 @@ char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; }; struct linux_statfs64_args { - register_t dummy; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { register_t dummy; ==== //depot/projects/newisp/i386/linux/linux_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.74 2006/08/15 17:37:00 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.77 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.75 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.78 2006/08/27 08:56:54 netchild Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/newisp/i386/linux/linux_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.81 2006/08/15 17:37:00 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.77 2006/08/15 12:28:14 netchild Exp + * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.82 2006/08/27 08:58:00 netchild Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.78 2006/08/27 08:56:54 netchild Exp */ #include @@ -287,7 +287,7 @@ { AS(linux_clock_gettime_args), (sy_call_t *)linux_clock_gettime, AUE_NULL, NULL, 0, 0 }, /* 265 = linux_clock_gettime */ { AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, AUE_NULL, NULL, 0, 0 }, /* 266 = linux_clock_getres */ { AS(linux_clock_nanosleep_args), (sy_call_t *)linux_clock_nanosleep, AUE_NULL, NULL, 0, 0 }, /* 267 = linux_clock_nanosleep */ - { 0, (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ + { AS(linux_statfs64_args), (sy_call_t *)linux_statfs64, AUE_NULL, NULL, 0, 0 }, /* 268 = linux_statfs64 */ { 0, (sy_call_t *)linux_fstatfs64, AUE_NULL, NULL, 0, 0 }, /* 269 = linux_fstatfs64 */ { AS(linux_tgkill_args), (sy_call_t *)linux_tgkill, AUE_NULL, NULL, 0, 0 }, /* 270 = linux_tgkill */ { 0, (sy_call_t *)linux_utimes, AUE_NULL, NULL, 0, 0 }, /* 271 = linux_utimes */ ==== //depot/projects/newisp/i386/linux/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.77 2006/08/15 12:28:14 netchild Exp $ + $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.78 2006/08/27 08:56:54 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -434,7 +434,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_NULL STD { int linux_statfs64(void); } +268 AUE_NULL STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } 269 AUE_NULL STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_NULL STD { int linux_utimes(void); } ==== //depot/projects/newisp/ia64/ia64/support.S#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/support.S,v 1.25 2005/01/06 22:18:22 imp Exp $ + * $FreeBSD: src/sys/ia64/ia64/support.S,v 1.26 2006/08/28 02:28:15 davidxu Exp $ */ /*- * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -242,6 +242,56 @@ END(casuptr) /* + * casuword32(int32_t *p, int32_t old, int32_t new) + * Perform a 32-bit compare-exchange in user space. + */ +ENTRY(casuword32, 3) +{ .mlx + add r15=PC_CURTHREAD,r13 + movl r14=VM_MAX_ADDRESS + ;; +} +{ .mib + ld8 r15=[r15] // r15 = curthread + cmp.geu p6,p0=in0,r14 +(p6) br.dpnt.few 1f + ;; +} +{ .mlx + add r15=TD_PCB,r15 + movl r14=fusufault + ;; +} +{ .mmi + ld8 r15=[r15] // r15 = PCB + ;; + mov ar.ccv=in1 + add r15=PCB_ONFAULT,r15 + ;; +} +{ .mmi + st8 [r15]=r14 // Set onfault + ;; + cmpxchg4.rel ret0=[in0],in2,ar.ccv + nop 0 + ;; +} +{ .mfb + st8.rel [r15]=r0 // Clear onfault + nop 0 + br.ret.sptk rp + ;; +} +1: +{ .mfb + add ret0=-1,r0 + nop 0 + br.ret.sptk rp + ;; +} +END(casuword32) + +/* * subyte(void *addr, int byte) * suword16(void *addr, int word) * suword32(void *addr, int word) ==== //depot/projects/newisp/kern/init_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.218 2006/08/15 17:37:00 jhb Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.222 2006/08/15 16:45:41 jhb Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.219 2006/08/28 04:28:24 davidxu Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.223 2006/08/16 22:32:50 peter Exp */ #include "opt_compat.h" @@ -498,4 +498,6 @@ { AS(thr_setscheduler_args), (sy_call_t *)thr_setscheduler, AUE_NULL, NULL, 0, 0 }, /* 466 = thr_setscheduler */ { AS(thr_getscheduler_args), (sy_call_t *)thr_getscheduler, AUE_NULL, NULL, 0, 0 }, /* 467 = thr_getscheduler */ { AS(thr_setschedparam_args), (sy_call_t *)thr_setschedparam, AUE_NULL, NULL, 0, 0 }, /* 468 = thr_setschedparam */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 469 = __getpath_fromfd */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 470 = __getpath_fromaddr */ }; ==== //depot/projects/newisp/kern/kern_thread.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.234 2006/06/30 08:10:55 maxim Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.235 2006/08/28 04:24:51 davidxu Exp $"); #include #include @@ -140,6 +140,7 @@ #ifdef AUDIT audit_thread_alloc(td); #endif + umtx_thread_alloc(td); return (0); } @@ -194,9 +195,9 @@ cpu_thread_setup(td); td->td_sleepqueue = sleepq_alloc(); td->td_turnstile = turnstile_alloc(); - td->td_umtxq = umtxq_alloc(); td->td_sched = (struct td_sched *)&td[1]; sched_newthread(td); + umtx_thread_init(td); return (0); } @@ -211,7 +212,7 @@ td = (struct thread *)mem; turnstile_free(td->td_turnstile); sleepq_free(td->td_sleepqueue); - umtxq_free(td->td_umtxq); + umtx_thread_fini(td); vm_thread_dispose(td); } @@ -486,6 +487,8 @@ td->td_standin = NULL; } + umtx_thread_exit(td); + /* * drop FPU & debug register state storage, or any other * architecture specific resources that ==== //depot/projects/newisp/kern/kern_umtx.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_umtx.c,v 1.39 2006/08/25 06:12:53 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_umtx.c,v 1.41 2006/08/28 07:09:27 davidxu Exp $"); #include #include @@ -35,11 +35,12 @@ #include #include #include +#include +#include #include #include #include #include -#include #include #include @@ -48,76 +49,194 @@ #include #include -#define UMTX_PRIVATE 0 -#define UMTX_SHARED 1 +#define TYPE_SIMPLE_LOCK 0 +#define TYPE_SIMPLE_WAIT 1 +#define TYPE_NORMAL_UMUTEX 2 +#define TYPE_PI_UMUTEX 3 +#define TYPE_PP_UMUTEX 4 +#define TYPE_CV 5 +/* Key to represent a unique userland synchronous object */ struct umtx_key { + int hash; int type; + int shared; union { struct { vm_object_t object; - long offset; + uintptr_t offset; } shared; struct { - struct umtx *umtx; - long pid; + struct vmspace *vs; + uintptr_t addr; } private; struct { - void *ptr; - long word; + void *a; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 07:06:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD56F16A4DE; Wed, 30 Aug 2006 07:06:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5CBA016A4DA for ; Wed, 30 Aug 2006 07:06:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 062F443D45 for ; Wed, 30 Aug 2006 07:06:35 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7U76YPG022604 for ; Wed, 30 Aug 2006 07:06:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7U76Yow022601 for perforce@freebsd.org; Wed, 30 Aug 2006 07:06:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 07:06:34 GMT Message-Id: <200608300706.k7U76Yow022601@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 105308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 07:06:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=105308 Change 105308 by hselasky@hselasky_mini_itx on 2006/08/30 07:05:44 Finished reworking "if_rue". Should be big-endian safe now. Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_ruereg.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#4 (text+ko) ==== @@ -1,0 +1,1528 @@ +/*- + * Copyright (c) 2001-2003, Shunsuke Akiyama . + * Copyright (c) 1997, 1998, 1999, 2000 Bill Paul . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +/*- + * Copyright (c) 1997, 1998, 1999, 2000 + * Bill Paul . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Bill Paul. + * 4. Neither the name of the author nor the names of any co-contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * RealTek RTL8150 USB to fast ethernet controller driver. + * Datasheet is available from + * ftp://ftp.realtek.com.tw/lancard/data_sheet/8150/. + */ + +/* + * NOTE: all function names beginning like "rue_cfg_" can only + * be called from within the config thread function ! + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#define usbd_config_td_cc rue_config_copy +#define usbd_config_td_softc rue_softc + +#include +#include +#include + +#include "usbdevs.h" + +#include +#include + +#include + +/* "device miibus" required. See GENERIC if you get errors here. */ +#include "miibus_if.h" + +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.28 2006/02/14 12:44:55 glebius Exp $"); + +#ifdef USB_DEBUG +#define DPRINTF(sc,n,fmt,...) \ + do { if (rue_debug > (n)) { \ + printf("%s:%s: " fmt, (sc)->sc_name, \ + __FUNCTION__,## __VA_ARGS__); } } while (0) + +static int rue_debug = 0; +SYSCTL_NODE(_hw_usb, OID_AUTO, rue, CTLFLAG_RW, 0, "USB rue"); +SYSCTL_INT(_hw_usb_rue, OID_AUTO, debug, CTLFLAG_RW, + &rue_debug, 0, "rue debug level"); +#else +#define DPRINTF(...) +#endif + +/* + * Various supported device vendors/products. + */ + +static struct rue_type rue_devs[] = { + { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUAKTX }, + { USB_VENDOR_REALTEK, USB_PRODUCT_REALTEK_USBKR100 }, + { 0, 0 } +}; + +/* prototypes */ + +static device_probe_t rue_probe; +static device_attach_t rue_attach; +static device_detach_t rue_detach; +static device_shutdown_t rue_shutdown; + +static void +rue_cfg_do_request(struct rue_softc *sc, usb_device_request_t *req, + void *data); +static void +rue_cfg_read_mem(struct rue_softc *sc, u_int16_t addr, void *buf, + u_int16_t len); +static void +rue_cfg_write_mem(struct rue_softc *sc, u_int16_t addr, void *buf, + u_int16_t len); +static u_int8_t +rue_cfg_csr_read_1(struct rue_softc *sc, u_int16_t reg); + +static u_int16_t +rue_cfg_csr_read_2(struct rue_softc *sc, u_int16_t reg); + +static void +rue_cfg_csr_write_1(struct rue_softc *sc, u_int16_t reg, u_int8_t val); + +static void +rue_cfg_csr_write_2(struct rue_softc *sc, u_int16_t reg, u_int16_t val); + +static void +rue_cfg_csr_write_4(struct rue_softc *sc, int reg, u_int32_t val); + +static int +rue_cfg_miibus_readreg(device_t dev, int phy, int reg); + +static int +rue_cfg_miibus_writereg(device_t dev, int phy, int reg, int data); + +static void +rue_cfg_miibus_statchg(device_t dev); + +static void +rue_config_copy(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static void +rue_cfg_promisc_upd(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static void +rue_cfg_reset(struct rue_softc *sc); + +static void +rue_cfg_first_time_setup(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static void +rue_intr_clear_stall_callback(struct usbd_xfer *xfer); + +static void +rue_intr_callback(struct usbd_xfer *xfer); + +static void +rue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +rue_bulk_read_callback(struct usbd_xfer *xfer); + +static void +rue_bulk_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +rue_bulk_write_callback(struct usbd_xfer *xfer); + +static void +rue_cfg_tick(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static void +rue_start_cb(struct ifnet *ifp); + +static void +rue_start_transfers(struct rue_softc *sc); + +static void +rue_init_cb(void *arg); + +static void +rue_cfg_init(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static int +rue_ifmedia_upd_cb(struct ifnet *ifp); + +static void +rue_cfg_ifmedia_upd(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); +static void +rue_ifmedia_sts_cb(struct ifnet *ifp, struct ifmediareq *ifmr); + +static int +rue_ioctl_cb(struct ifnet *ifp, u_long command, caddr_t data); + +static void +rue_watchdog(void *arg); + +static void +rue_cfg_stop(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount); + +static const struct usbd_config rue_config[RUE_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = MCLBYTES, + .flags = (USBD_USE_DMA|USBD_FORCE_SHORT_XFER), + .callback = &rue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = (MCLBYTES + 4), + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &rue_bulk_read_callback, + .timeout = 0, /* no timeout */ + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &rue_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &rue_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [4] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &rue_intr_callback, + }, + + [5] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &rue_intr_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static device_method_t rue_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, rue_probe), + DEVMETHOD(device_attach, rue_attach), + DEVMETHOD(device_detach, rue_detach), + DEVMETHOD(device_shutdown, rue_shutdown), + + /* Bus interface */ + DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_driver_added, bus_generic_driver_added), + + /* MII interface */ + DEVMETHOD(miibus_readreg, rue_cfg_miibus_readreg), + DEVMETHOD(miibus_writereg, rue_cfg_miibus_writereg), + DEVMETHOD(miibus_statchg, rue_cfg_miibus_statchg), + + { 0, 0 } +}; + +static driver_t rue_driver = { + "rue", + rue_methods, + sizeof(struct rue_softc) +}; + +static devclass_t rue_devclass; + +DRIVER_MODULE(rue, uhub, rue_driver, rue_devclass, usbd_driver_load, 0); +DRIVER_MODULE(miibus, rue, miibus_driver, miibus_devclass, 0, 0); +MODULE_DEPEND(rue, usb, 1, 1, 1); +MODULE_DEPEND(rue, ether, 1, 1, 1); +MODULE_DEPEND(rue, miibus, 1, 1, 1); + +static void +rue_cfg_do_request(struct rue_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &(sc->sc_mtx), req, + data, 0, NULL, 1000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +#define RUE_CFG_SETBIT(sc, reg, x) \ + rue_cfg_csr_write_1(sc, reg, rue_cfg_csr_read_1(sc, reg) | (x)) + +#define RUE_CFG_CLRBIT(sc, reg, x) \ + rue_cfg_csr_write_1(sc, reg, rue_cfg_csr_read_1(sc, reg) & ~(x)) + +static void +rue_cfg_read_mem(struct rue_softc *sc, u_int16_t addr, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = UR_SET_ADDRESS; + USETW(req.wValue, addr); + USETW(req.wIndex, 0); + USETW(req.wLength, len); + + rue_cfg_do_request(sc, &req, buf); + return; +} + +static void +rue_cfg_write_mem(struct rue_softc *sc, u_int16_t addr, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = UR_SET_ADDRESS; + USETW(req.wValue, addr); + USETW(req.wIndex, 0); + USETW(req.wLength, len); + + rue_cfg_do_request(sc, &req, buf); + return; +} + +static u_int8_t +rue_cfg_csr_read_1(struct rue_softc *sc, u_int16_t reg) +{ + u_int8_t val; + rue_cfg_read_mem(sc, reg, &val, 1); + return val; +} + +static u_int16_t +rue_cfg_csr_read_2(struct rue_softc *sc, u_int16_t reg) +{ + u_int8_t val[2]; + rue_cfg_read_mem(sc, reg, &val, 2); + return UGETW(val); +} + +static void +rue_cfg_csr_write_1(struct rue_softc *sc, u_int16_t reg, u_int8_t val) +{ + rue_cfg_write_mem(sc, reg, &val, 1); + return; +} + +static void +rue_cfg_csr_write_2(struct rue_softc *sc, u_int16_t reg, u_int16_t val) +{ + u_int8_t temp[2]; + USETW(temp, val); + rue_cfg_write_mem(sc, reg, &temp, 2); + return; +} + +static void +rue_cfg_csr_write_4(struct rue_softc *sc, int reg, u_int32_t val) +{ + u_int8_t temp[4]; + USETDW(temp, val); + rue_cfg_write_mem(sc, reg, &temp, 4); + return; +} + +static int +rue_cfg_miibus_readreg(device_t dev, int phy, int reg) +{ + struct rue_softc * sc = device_get_softc(dev); + u_int16_t rval; + u_int16_t ruereg; + + if (phy != 0) { /* RTL8150 supports PHY == 0, only */ + return 0; + } + + mtx_lock(&(sc->sc_mtx)); /* XXX */ + + switch (reg) { + case MII_BMCR: + ruereg = RUE_BMCR; + break; + case MII_BMSR: + ruereg = RUE_BMSR; + break; + case MII_ANAR: + ruereg = RUE_ANAR; + break; + case MII_ANER: + ruereg = RUE_AER; + break; + case MII_ANLPAR: + ruereg = RUE_ANLP; + break; + case MII_PHYIDR1: + case MII_PHYIDR2: + rval = 0; + goto done; + default: + if ((RUE_REG_MIN <= reg) && (reg <= RUE_REG_MAX)) { + rval = rue_cfg_csr_read_1(sc, reg); + goto done; + } + printf("rue%d: bad phy register\n", sc->sc_unit); + rval = 0; + goto done; + } + + rval = rue_cfg_csr_read_2(sc, ruereg); + done: + mtx_unlock(&(sc->sc_mtx)); /* XXX */ + + return rval; +} + +static int +rue_cfg_miibus_writereg(device_t dev, int phy, int reg, int data) +{ + struct rue_softc * sc = device_get_softc(dev); + u_int16_t ruereg; + + if (phy != 0) { /* RTL8150 supports PHY == 0, only */ + return 0; + } + + mtx_lock(&(sc->sc_mtx)); /* XXX */ + + switch (reg) { + case MII_BMCR: + ruereg = RUE_BMCR; + break; + case MII_BMSR: + ruereg = RUE_BMSR; + break; + case MII_ANAR: + ruereg = RUE_ANAR; + break; + case MII_ANER: + ruereg = RUE_AER; + break; + case MII_ANLPAR: + ruereg = RUE_ANLP; + break; + case MII_PHYIDR1: + case MII_PHYIDR2: + goto done; + default: + if ((RUE_REG_MIN <= reg) && (reg <= RUE_REG_MAX)) { + rue_cfg_csr_write_1(sc, reg, data); + goto done; + } + printf("%s: bad phy register\n", + sc->sc_name); + goto done; + } + rue_cfg_csr_write_2(sc, ruereg, data); + done: + mtx_unlock(&(sc->sc_mtx)); /* XXX */ + + return 0; +} + +static void +rue_cfg_miibus_statchg(device_t dev) +{ + /* + * When the code below is enabled the card starts doing weird + * things after link going from UP to DOWN and back UP. + * + * Looks like some of register writes below messes up PHY + * interface. + * + * No visible regressions were found after commenting this code + * out, so that disable it for good. + */ +#if 0 + struct rue_softc * sc = device_get_softc(dev); + struct mii_data * mii = GET_MII(sc); + u_int16_t bmcr; + + mtx_lock(&(sc->sc_mtx)); /* XXX */ + + RUE_CFG_CLRBIT(sc, RUE_CR, (RUE_CR_RE | RUE_CR_TE)); + + bmcr = rue_cfg_csr_read_2(sc, RUE_BMCR); + + if (IFM_SUBTYPE(mii->mii_media_active) == IFM_100_TX) + bmcr |= RUE_BMCR_SPD_SET; + else + bmcr &= ~RUE_BMCR_SPD_SET; + + if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX) + bmcr |= RUE_BMCR_DUPLEX; + else + bmcr &= ~RUE_BMCR_DUPLEX; + + rue_cfg_csr_write_2(sc, RUE_BMCR, bmcr); + + RUE_CFG_SETBIT(sc, RUE_CR, (RUE_CR_RE | RUE_CR_TE)); + + mtx_unlock(&(sc->sc_mtx)); /* XXX */ +#endif + return; +} + +static void +rue_config_copy(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp = sc->sc_ifp; + struct ifmultiaddr * ifma; + u_int8_t h; + u_int8_t i; + + bzero(cc, sizeof(*cc)); + + if (ifp) { + for (i = 0; i < ETHER_ADDR_LEN; i++) { + cc->if_lladdr[i] = IF_LLADDR(ifp)[i]; + } + + cc->if_flags = ifp->if_flags; + + /* compute hash bits for multicast filter */ + + IF_ADDR_LOCK(ifp); + TAILQ_FOREACH (ifma, &ifp->if_multiaddrs, ifma_link) + { + if (ifma->ifma_addr->sa_family != AF_LINK) { + continue; + } + h = ether_crc32_be(LLADDR((struct sockaddr_dl *) + ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; + if (h < 32) + cc->if_hashes[0] |= (1 << h); + else + cc->if_hashes[1] |= (1 << (h - 32)); + } + IF_ADDR_UNLOCK(ifp); + } + return; +} + +/* + * Program the 64-bit multicast hash filter. + */ +static void +rue_cfg_promisc_upd(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount) +{ + u_int16_t rxcfg; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + rxcfg = rue_cfg_csr_read_2(sc, RUE_RCR); + + if ((cc->if_flags & IFF_ALLMULTI) || + (cc->if_flags & IFF_PROMISC)) { + rxcfg |= (RUE_RCR_AAM | RUE_RCR_AAP); + rxcfg &= ~RUE_RCR_AM; + rue_cfg_csr_write_2(sc, RUE_RCR, rxcfg); + rue_cfg_csr_write_4(sc, RUE_MAR0, 0xFFFFFFFF); + rue_cfg_csr_write_4(sc, RUE_MAR4, 0xFFFFFFFF); + return; + } + + /* first, zero all the existing hash bits */ + rue_cfg_csr_write_4(sc, RUE_MAR0, 0); + rue_cfg_csr_write_4(sc, RUE_MAR4, 0); + + if (cc->if_hashes[0] || + cc->if_hashes[1]) + rxcfg |= RUE_RCR_AM; + else + rxcfg &= ~RUE_RCR_AM; + + rxcfg &= ~(RUE_RCR_AAM | RUE_RCR_AAP); + + rue_cfg_csr_write_2(sc, RUE_RCR, rxcfg); + rue_cfg_csr_write_4(sc, RUE_MAR0, cc->if_hashes[0]); + rue_cfg_csr_write_4(sc, RUE_MAR4, cc->if_hashes[1]); + return; +} + +static void +rue_cfg_reset(struct rue_softc *sc) +{ + usbd_status err; + u_int16_t to; + + rue_cfg_csr_write_1(sc, RUE_CR, RUE_CR_SOFT_RST); + + for (to = 0; ; to++) { + + if (to < RUE_TIMEOUT) { + + err = usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + + if (err) { + break; + } + + if (!(rue_cfg_csr_read_1(sc, RUE_CR) & RUE_CR_SOFT_RST)) { + break; + } + } else { + printf("%s: reset timeout!\n", + sc->sc_name); + break; + } + } + + err = usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + return; +} + +/* + * Probe for a RTL8150 chip. + */ +static int +rue_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct rue_type *t; + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + t = rue_devs; + while (t->rue_vid) { + if ((uaa->vendor == t->rue_vid) && + (uaa->product == t->rue_did)) { + return UMATCH_VENDOR_PRODUCT; + } + t++; + } + return UMATCH_NONE; +} + +/* + * Attach the interface. Allocate softc structures, do ifmedia + * setup and ethernet/BPF attach. + */ +static int +rue_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct rue_softc *sc = device_get_softc(dev); + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", + device_get_nameunit(dev)); + + mtx_init(&(sc->sc_mtx), "rue lock", NULL, MTX_DEF | MTX_RECURSE); + + __callout_init_mtx(&(sc->sc_watchdog), + &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); + + error = usbd_set_config_no(uaa->device, RUE_CONFIG_NO, 0); + + if (error) { + device_printf(dev, "setting config " + "number failed!\n"); + goto detach; + } + + error = usbd_transfer_setup(uaa->device, RUE_IFACE_IDX, + sc->sc_xfer, rue_config, RUE_ENDPT_MAX, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), + &rue_config_copy, NULL, + sizeof(struct rue_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + mtx_lock(&(sc->sc_mtx)); + + sc->sc_flags |= RUE_FLAG_WAIT_LINK; + + /* start setup */ + + usbd_config_td_queue_command + (&(sc->sc_config_td), &rue_cfg_first_time_setup, 0); + + /* start watchdog (will exit mutex) */ + + rue_watchdog(sc); + + return 0; /* success */ + + detach: + rue_detach(dev); + return ENXIO; /* failure */ +} + +static void +rue_cfg_first_time_setup(struct rue_softc *sc, + struct rue_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp; + int error; + u_int8_t eaddr[min(ETHER_ADDR_LEN,6)]; + + if (cc == NULL) { + return; + } + + /* reset the adapter */ + rue_cfg_reset(sc); + + /* get station address from the EEPROM */ + rue_cfg_read_mem(sc, RUE_EEPROM_IDR0, + eaddr, ETHER_ADDR_LEN); + + mtx_unlock(&(sc->sc_mtx)); + + ifp = if_alloc(IFT_ETHER); + + mtx_lock(&(sc->sc_mtx)); + + if (ifp == NULL) { + printf("%s: could not if_alloc()\n", + sc->sc_name); + goto done; + } + + ifp->if_softc = sc; + if_initname(ifp, "rue", sc->sc_unit); + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_ioctl = rue_ioctl_cb; + ifp->if_start = rue_start_cb; + ifp->if_watchdog = NULL; + ifp->if_init = rue_init_cb; + ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + + /* XXX need Giant when accessing + * the device structures ! + */ + + mtx_unlock(&(sc->sc_mtx)); + + mtx_lock(&Giant); + + /* MII setup */ + error = mii_phy_probe(sc->sc_dev, &(sc->sc_miibus), + &rue_ifmedia_upd_cb, + &rue_ifmedia_sts_cb); + mtx_unlock(&Giant); + + mtx_lock(&(sc->sc_mtx)); + + if (error) { + printf("%s: MII without any PHY!\n", + sc->sc_name); + if_free(ifp); + goto done; + } + + sc->sc_ifp = ifp; + + /* + * Call MI attach routine. + */ + + ether_ifattach(ifp, eaddr); + + done: + return; +} + +static int +rue_detach(device_t dev) +{ + struct rue_softc * sc = device_get_softc(dev); + struct ifnet * ifp; + + mtx_lock(&(sc->sc_mtx)); + + usbd_config_td_stop(&(sc->sc_config_td)); + + __callout_stop(&sc->sc_watchdog); + + rue_cfg_stop(sc, NULL, 0); + + ifp = sc->sc_ifp; + + mtx_unlock(&(sc->sc_mtx)); + + /* get rid of any late children */ + bus_generic_detach(dev); + + if (ifp) { + ether_ifdetach(ifp); + if_free(ifp); + } + + usbd_transfer_unsetup(sc->sc_xfer, RUE_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &(sc->sc_mtx)); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + mtx_destroy(&(sc->sc_mtx)); + + return 0; +} + +static void +rue_intr_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct rue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[4]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~RUE_FLAG_INTR_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~RUE_FLAG_INTR_STALL; + DPRINTF(sc, 0, "interrupt read pipe stopped\n"); + return; +} + +static void +rue_intr_callback(struct usbd_xfer *xfer) +{ + struct rue_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct rue_intrpkt *p = xfer->buffer; + + USBD_CHECK_STATUS(xfer); + + tr_transferred: + + if (ifp && (ifp->if_drv_flags & IFF_DRV_RUNNING) && + (xfer->actlen >= sizeof(*p))) { + + ifp->if_ierrors += p->rue_rxlost_cnt; + ifp->if_ierrors += p->rue_crcerr_cnt; + ifp->if_collisions += p->rue_col_cnt; + } + + tr_setup: + if (sc->sc_flags & RUE_FLAG_INTR_STALL) { + usbd_transfer_start(sc->sc_xfer[5]); + } else { + usbd_start_hardware(xfer); + } + return; + + tr_error: + if (xfer->error != USBD_CANCELLED) { + /* start clear stall */ + sc->sc_flags |= RUE_FLAG_INTR_STALL; + usbd_transfer_start(sc->sc_xfer[5]); + } + return; +} + +static void +rue_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct rue_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 07:14:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D3C416A4DF; Wed, 30 Aug 2006 07:14:46 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 309B816A4DD for ; Wed, 30 Aug 2006 07:14:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F292C43D45 for ; Wed, 30 Aug 2006 07:14:45 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7U7EjsU023001 for ; Wed, 30 Aug 2006 07:14:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7U7EjxE022998 for perforce@freebsd.org; Wed, 30 Aug 2006 07:14:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 07:14:45 GMT Message-Id: <200608300714.k7U7EjxE022998@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 105309 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 07:14:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105309 Change 105309 by hselasky@hselasky_mini_itx on 2006/08/30 07:13:44 Zero alignment memory. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#5 (text+ko) ==== @@ -796,6 +796,7 @@ struct kue_softc *sc = xfer->priv_sc; struct ifnet *ifp = sc->sc_ifp; struct mbuf *m; + u_int32_t total_len; u_int8_t buf[2]; USBD_CHECK_STATUS(xfer); @@ -838,7 +839,7 @@ } xfer->length = (m->m_pkthdr.len + 2); - xfer->length += (64 - (xfer->length % 64)); + total_len = (xfer->length + (64 - (xfer->length % 64))); /* the first two bytes are the frame length */ @@ -850,6 +851,11 @@ usbd_m_copy_in(&(xfer->buf_data), 2, m, 0, m->m_pkthdr.len); + usbd_bzero(&(xfer->buf_data), xfer->length, + total_len - xfer->length); + + xfer->length = total_len; + /* * if there's a BPF listener, bounce a copy * of this frame to him: From owner-p4-projects@FreeBSD.ORG Wed Aug 30 10:37:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91CFB16A4E1; Wed, 30 Aug 2006 10:37:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5DAED16A4DE for ; Wed, 30 Aug 2006 10:37:10 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1119B43D45 for ; Wed, 30 Aug 2006 10:37:10 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UAb9So056606 for ; Wed, 30 Aug 2006 10:37:09 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UAb937056603 for perforce@freebsd.org; Wed, 30 Aug 2006 10:37:09 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 10:37:09 GMT Message-Id: <200608301037.k7UAb937056603@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105319 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 10:37:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=105319 Change 105319 by piso@piso_newluxor on 2006/08/30 10:36:21 Replace nat hand-rolled rwlock with a standard rwlock. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#7 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#7 (text+ko) ==== @@ -302,62 +302,27 @@ MODULE_DEPEND(ipfw, libalias, 1, 1, 1); struct _nat_chain { - struct cfg_nat *chain; - struct mtx mtx; /* lock guarding rule list */ - int busy_count; /* busy count for rw locks */ - int want_write; - struct cv cv; + struct cfg_nat *chain; + struct rwlock rwl; } nat_chain; #define NAT_LOCK_INIT(_chain) \ - mtx_init(&(_chain)->mtx, "NAT instances", NULL, \ - MTX_DEF | MTX_RECURSE) -#define NAT_LOCK_DESTROY(_chain) mtx_destroy(&(_chain)->mtx) + rw_init(&(_chain)->rwl, "NAT instances") +#define NAT_LOCK_DESTROY(_chain) rw_destroy(&(_chain)->rwl) #define NAT_WLOCK_ASSERT(_chain) do { \ - mtx_assert(&(_chain)->mtx, MA_OWNED); \ + rw_assert(&(_chain)->rwl, RA_WLOCKED); \ NET_ASSERT_GIANT(); \ } while (0) -static __inline void -NAT_RLOCK(struct _nat_chain *chain) -{ - mtx_lock(&chain->mtx); - chain->busy_count++; - mtx_unlock(&chain->mtx); -} +#define NAT_RLOCK(p) rw_rlock(&(p)->rwl) +#define NAT_RUNLOCK(p) rw_runlock(&(p)->rwl) +#define NAT_WLOCK(p) rw_wlock(&(p)->rwl) +#define NAT_WUNLOCK(p) rw_wunlock(&(p)->rwl) -static __inline void -NAT_RUNLOCK(struct _nat_chain *chain) -{ - mtx_lock(&chain->mtx); - chain->busy_count--; - if (chain->busy_count == 0 && chain->want_write) - cv_signal(&chain->cv); - mtx_unlock(&chain->mtx); -} - -static __inline void -NAT_WLOCK(struct _nat_chain *chain) -{ - mtx_lock(&chain->mtx); - chain->want_write++; - while (chain->busy_count > 0) - cv_wait(&chain->cv, &chain->mtx); -} - -static __inline void -NAT_WUNLOCK(struct _nat_chain *chain) -{ - chain->want_write--; - cv_signal(&chain->cv); - mtx_unlock(&chain->mtx); -} - static eventhandler_tag ifaddr_event_tag; static int fw_deny_unknown_exthdrs = 1; - /* * L3HDR maps an ipv4 pointer into a layer3 header pointer of type T * Other macros just cast void * into the appropriate type @@ -4925,8 +4890,6 @@ ip_fw_chk_ptr = ipfw_chk; callout_reset(&ipfw_timeout, hz, ipfw_tick, NULL); nat_chain.chain = NULL; - nat_chain.busy_count = 0; - nat_chain.want_write = 0; NAT_LOCK_INIT(&nat_chain); ifaddr_event_tag = EVENTHANDLER_REGISTER(ifaddr_event, ifaddr_change, NULL, EVENTHANDLER_PRI_ANY); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 10:52:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89EB016A4EC; Wed, 30 Aug 2006 10:52:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AAC216A4E7 for ; Wed, 30 Aug 2006 10:52:33 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C1F543D5F for ; Wed, 30 Aug 2006 10:52:32 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UAqVda057372 for ; Wed, 30 Aug 2006 10:52:32 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UAqV3a057369 for perforce@freebsd.org; Wed, 30 Aug 2006 10:52:31 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 10:52:31 GMT Message-Id: <200608301052.k7UAqV3a057369@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105321 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 10:52:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105321 Change 105321 by piso@piso_newluxor on 2006/08/30 10:51:55 Ipfw's kernel side defines malloc as M_IPFW/M_IPFW_TBL, while libalias uses M_ALIAS: avoid them to clash moving libalias malloc redefinition to alias_mod.h. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#5 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.h#21 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#6 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#5 (text+ko) ==== @@ -63,14 +63,6 @@ #ifdef _KERNEL /* XXX: LibAliasSetTarget() uses this constant. */ #define INADDR_NONE 0xffffffff -MALLOC_DECLARE(M_ALIAS); - -/* Use kernel allocator. */ -#if defined(_SYS_MALLOC_H_) -#define malloc(x) malloc(x, M_ALIAS, M_NOWAIT|M_ZERO) -#define calloc(x, n) malloc(x*n) -#define free(x) free(x, M_ALIAS) -#endif #endif /* Sizes of input and output link tables */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.h#21 (text+ko) ==== @@ -32,6 +32,17 @@ #ifndef _ALIAS_MOD_H_ #define _ALIAS_MOD_H_ +#ifdef _KERNEL +MALLOC_DECLARE(M_ALIAS); + +/* Use kernel allocator. */ +#if defined(_SYS_MALLOC_H_) +#define malloc(x) malloc(x, M_ALIAS, M_NOWAIT|M_ZERO) +#define calloc(x, n) malloc(x*n) +#define free(x) free(x, M_ALIAS) +#endif +#endif + /* Protocol handlers struct & function. */ /* Packet flow direction. */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#6 (text+ko) ==== @@ -80,6 +80,7 @@ #ifdef _KERNEL #include #include +#include #else #include #include "alias.h" /* Public API functions for libalias */ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 11:42:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7563C16A4E6; Wed, 30 Aug 2006 11:42:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3915516A4DD for ; Wed, 30 Aug 2006 11:42:35 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CEDA743D58 for ; Wed, 30 Aug 2006 11:42:34 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UBgYNW060880 for ; Wed, 30 Aug 2006 11:42:34 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UBgYx7060877 for perforce@freebsd.org; Wed, 30 Aug 2006 11:42:34 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 11:42:34 GMT Message-Id: <200608301142.k7UBgYx7060877@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 11:42:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=105322 Change 105322 by piso@piso_newluxor on 2006/08/30 11:42:29 Move the nat rwlock outside of nat_chain (in preparation of turning all the lists data structs into LIST macro). Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#8 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#8 (text+ko) ==== @@ -301,23 +301,23 @@ MODULE_DEPEND(ipfw, libalias, 1, 1, 1); +struct rwlock nat_chain_rwl; struct _nat_chain { - struct cfg_nat *chain; - struct rwlock rwl; + struct cfg_nat *chain; } nat_chain; #define NAT_LOCK_INIT(_chain) \ - rw_init(&(_chain)->rwl, "NAT instances") -#define NAT_LOCK_DESTROY(_chain) rw_destroy(&(_chain)->rwl) + rw_init(_chain, "NAT instances") +#define NAT_LOCK_DESTROY(_chain) rw_destroy(_chain) #define NAT_WLOCK_ASSERT(_chain) do { \ - rw_assert(&(_chain)->rwl, RA_WLOCKED); \ + rw_assert(_chain, RA_WLOCKED); \ NET_ASSERT_GIANT(); \ } while (0) -#define NAT_RLOCK(p) rw_rlock(&(p)->rwl) -#define NAT_RUNLOCK(p) rw_runlock(&(p)->rwl) -#define NAT_WLOCK(p) rw_wlock(&(p)->rwl) -#define NAT_WUNLOCK(p) rw_wunlock(&(p)->rwl) +#define NAT_RLOCK(p) rw_rlock(p) +#define NAT_RUNLOCK(p) rw_runlock(p) +#define NAT_WLOCK(p) rw_wlock(p) +#define NAT_WUNLOCK(p) rw_wunlock(p) static eventhandler_tag ifaddr_event_tag; @@ -2077,19 +2077,19 @@ static void unhook_entry(struct _chain **b, struct _chain *p) { - NAT_WLOCK_ASSERT(&nat_chain); + NAT_WLOCK_ASSERT(&nat_chain_rwl); for(; *b != p; b = &((*b)->next)) ; *b = p->next; } #define HOOK_NAT(b, p) do { \ - NAT_WLOCK_ASSERT(&nat_chain); \ + NAT_WLOCK_ASSERT(&nat_chain_rwl); \ hook_entry((struct _chain **)b, (struct _chain *)p); \ } while (0) #define UNHOOK_NAT(b, p) do { \ - NAT_WLOCK_ASSERT(&nat_chain); \ + NAT_WLOCK_ASSERT(&nat_chain_rwl); \ unhook_entry((struct _chain **)b, (struct _chain *)p); \ } while (0) @@ -3448,7 +3448,7 @@ retval = 0; t = ((ipfw_insn_nat *)cmd)->nat; if (t == NULL) { - NAT_RLOCK(&nat_chain); + NAT_RLOCK(&nat_chain_rwl); t = lookup_nat(cmd->arg1); if (t == NULL) { retval = IP_FW_DENY; @@ -3582,7 +3582,7 @@ args->m = mcl; retval = IP_FW_NAT; - NAT_RUNLOCK(&nat_chain); + NAT_RUNLOCK(&nat_chain_rwl); goto done; } @@ -4317,7 +4317,7 @@ struct cfg_nat *ptr; struct ifaddr *ifa; - NAT_WLOCK(&nat_chain); + NAT_WLOCK(&nat_chain_rwl); /* Check every nat entry... */ for (ptr = nat_chain.chain; ptr; ptr = ptr->next) { /* ...using nic 'ifp->if_xname' as dynamic alias address. */ @@ -4335,7 +4335,7 @@ mtx_unlock(&ifp->if_addr_mtx); } } - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); } /** @@ -4576,28 +4576,28 @@ /* * Find/create nat rule. */ - NAT_WLOCK(&nat_chain); + NAT_WLOCK(&nat_chain_rwl); ptr = lookup_nat(ser_n->id); if (ptr == NULL) { /* New rule: allocate and init new instance. */ ptr = malloc(sizeof(struct cfg_nat), M_IPFW, M_NOWAIT | M_ZERO); if (ptr == NULL) { free(buf, M_IPFW); - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); return (ENOSPC); } ptr->lib = LibAliasInit(NULL); if (ptr->lib == NULL) { free(ptr, M_IPFW); free(buf, M_IPFW); - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); return(EINVAL); } } else { /* Entry already present: temporarly unhook it. */ UNHOOK_NAT(&nat_chain.chain, ptr); flush_nat_ptrs(ser_n->id); } - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); /* * Basic nat configuration. @@ -4622,9 +4622,9 @@ ptr); /* Add new entries. */ free(buf, M_IPFW); if (err == 1) { - NAT_WLOCK(&nat_chain); + NAT_WLOCK(&nat_chain_rwl); HOOK_NAT(&nat_chain.chain, ptr); - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); } else /* Something bad happened, redir cfg not added. */ return(EINVAL); } @@ -4636,15 +4636,15 @@ int i; error = sooptcopyin(sopt, &i, sizeof i, sizeof i); - NAT_WLOCK(&nat_chain); + NAT_WLOCK(&nat_chain_rwl); ptr = lookup_nat(i); if (ptr == NULL) { error = EINVAL; - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); break; } UNHOOK_NAT(&nat_chain.chain, ptr); - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); flush_nat_ptrs(i); del_redir_spool_cfg(ptr, ptr->redir_chain); LibAliasUninit(ptr->lib); @@ -4666,7 +4666,7 @@ data = malloc(NAT_BUF_LEN, M_IPFW, M_NOWAIT | M_ZERO); if (data == NULL) return (ENOSPC); - NAT_RLOCK(&nat_chain); + NAT_RLOCK(&nat_chain_rwl); /* Serialize all the data. */ for (n = nat_chain.chain; (n && (off + sof_nat < NAT_BUF_LEN)); n = n->next) { @@ -4683,7 +4683,7 @@ } } } - NAT_RUNLOCK(&nat_chain); + NAT_RUNLOCK(&nat_chain_rwl); error = sooptcopyout(sopt, data, NAT_BUF_LEN); free(data, M_IPFW); @@ -4697,7 +4697,7 @@ int sof = LIBALIAS_BUF_SIZE; int i, size, cnt = 0; - NAT_RLOCK(&nat_chain); + NAT_RLOCK(&nat_chain_rwl); for (ptr = nat_chain.chain, size = i = 0; ptr; ptr = ptr->next) { if (ptr->lib->logDesc == NULL) continue; @@ -4711,7 +4711,7 @@ bcopy(ptr->lib->logDesc, &data[i], sof); i += sof; } - NAT_RUNLOCK(&nat_chain); + NAT_RUNLOCK(&nat_chain_rwl); error = sooptcopyout(sopt, data, size); free(data, M_IPFW); } @@ -4890,7 +4890,7 @@ ip_fw_chk_ptr = ipfw_chk; callout_reset(&ipfw_timeout, hz, ipfw_tick, NULL); nat_chain.chain = NULL; - NAT_LOCK_INIT(&nat_chain); + NAT_LOCK_INIT(&nat_chain_rwl); ifaddr_event_tag = EVENTHANDLER_REGISTER(ifaddr_event, ifaddr_change, NULL, EVENTHANDLER_PRI_ANY); return (0); @@ -4907,16 +4907,16 @@ callout_drain(&ipfw_timeout); IPFW_WLOCK(&layer3_chain); flush_tables(&layer3_chain); - NAT_WLOCK(&nat_chain); + NAT_WLOCK(&nat_chain_rwl); for (ptr = nat_chain.chain; ptr; ptr = ptr_temp) { ptr_temp = ptr->next; del_redir_spool_cfg(ptr, ptr->redir_chain); LibAliasUninit(ptr->lib); free(ptr, M_IPFW); } - NAT_WUNLOCK(&nat_chain); + NAT_WUNLOCK(&nat_chain_rwl); EVENTHANDLER_DEREGISTER(ifaddr_event, ifaddr_event_tag); - NAT_LOCK_DESTROY(&nat_chain); + NAT_LOCK_DESTROY(&nat_chain_rwl); layer3_chain.reap = NULL; free_chain(&layer3_chain, 1 /* kill default rule */); reap = layer3_chain.reap, layer3_chain.reap = NULL; From owner-p4-projects@FreeBSD.ORG Wed Aug 30 11:50:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B86716A50A; Wed, 30 Aug 2006 11:50:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C051016A506 for ; Wed, 30 Aug 2006 11:50:46 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0382243D60 for ; Wed, 30 Aug 2006 11:50:46 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UBojtI061397 for ; Wed, 30 Aug 2006 11:50:45 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UBojlh061394 for perforce@freebsd.org; Wed, 30 Aug 2006 11:50:45 GMT (envelope-from cognet@freebsd.org) Date: Wed, 30 Aug 2006 11:50:45 GMT Message-Id: <200608301150.k7UBojlh061394@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 105324 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 11:50:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=105324 Change 105324 by cognet@cognet on 2006/08/30 11:50:13 Avoid mux@ anger by fixing 2 style bugs. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#4 (text+ko) ==== @@ -372,7 +372,8 @@ _pci_io_bs_w_4(void *v, bus_space_handle_t ioh, bus_size_t off, u_int32_t val) { - _bs_w(v, ioh, off, 0,val); + + _bs_w(v, ioh, off, 0, val); } #ifdef __ARMEB__ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 13:21:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95B8016A4E0; Wed, 30 Aug 2006 13:21:47 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E0EE16A4DE for ; Wed, 30 Aug 2006 13:21:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E54943D73 for ; Wed, 30 Aug 2006 13:21:40 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UDLenP076513 for ; Wed, 30 Aug 2006 13:21:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UDLe7J076510 for perforce@freebsd.org; Wed, 30 Aug 2006 13:21:40 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 13:21:40 GMT Message-Id: <200608301321.k7UDLe7J076510@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 105327 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 13:21:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=105327 Change 105327 by hselasky@hselasky_mini_itx on 2006/08/30 13:21:20 Finished reworking "if_udav". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_udavreg.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#4 (text+ko) ==== @@ -1,0 +1,1492 @@ +/* $NetBSD: if_udav.c,v 1.2 2003/09/04 15:17:38 tsutsui Exp $ */ +/* $nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_udav.c,v 1.21 2006/02/14 12:44:55 glebius Exp $ */ +/*- + * Copyright (c) 2003 + * Shingo WATANABE . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the author nor the names of any co-contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +/* + * DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY) + * The spec can be found at the following url. + * http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9601-DS-P01-930914.pdf + */ + +/* + * NOTE: all function names beginning like "udav_cfg_" can only + * be called from within the config thread function ! + */ + +/* + * TODO: + * Interrupt Endpoint support + * External PHYs + * powerhook() support? + */ + +#include "opt_inet.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#define usbd_config_td_cc udav_config_copy +#define usbd_config_td_softc udav_softc + +#include +#include +#include + +#include "usbdevs.h" + +#include +#include + +/* "device miibus" required. See GENERIC if you get errors here. */ +#include "miibus_if.h" + +#include + +__FBSDID("$FreeBSD: src/sys/dev/usb/if_udav.c,v 1.21 2006/02/14 12:44:55 glebius Exp $"); + +/* prototypes */ + +static device_probe_t udav_probe; +static device_attach_t udav_attach; +static device_detach_t udav_detach; +static device_shutdown_t udav_shutdown; + +static void +udav_cfg_first_time_setup(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static void +udav_cfg_do_request(struct udav_softc *sc, usb_device_request_t *req, + void *data); +static void +udav_cfg_csr_read(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len); +static void +udav_cfg_csr_write(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len); +static u_int8_t +udav_cfg_csr_read1(struct udav_softc *sc, u_int16_t offset); + +static void +udav_cfg_csr_write1(struct udav_softc *sc, u_int16_t offset, + u_int8_t ch); +static void +udav_init_cb(void *arg); + +static void +udav_cfg_init(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static void +udav_cfg_reset(struct udav_softc *sc); + +static void +udav_config_copy(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static void +udav_cfg_promisc_upd(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static void +udav_start_cb(struct ifnet *ifp); + +static void +udav_start_transfers(struct udav_softc *sc); + +static void +udav_bulk_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +udav_bulk_write_callback(struct usbd_xfer *xfer); + +static void +udav_bulk_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +udav_bulk_read_callback(struct usbd_xfer *xfer); + +static void +udav_intr_clear_stall_callback(struct usbd_xfer *xfer); + +static void +udav_intr_callback(struct usbd_xfer *xfer); + +static int +udav_ioctl_cb(struct ifnet *ifp, u_long cmd, caddr_t data); + +static void +udav_watchdog(void *arg); + +static void +udav_cfg_stop(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static int +udav_ifmedia_change_cb(struct ifnet *ifp); + +static void +udav_cfg_ifmedia_change(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static void +udav_ifmedia_status_cb(struct ifnet *ifp, struct ifmediareq *ifmr); + +static void +udav_cfg_tick(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount); +static int +udav_cfg_miibus_readreg(device_t dev, int phy, int reg); + +static void +udav_cfg_miibus_writereg(device_t dev, int phy, int reg, int data); + +static void +udav_cfg_miibus_statchg(device_t dev); + + +static const struct usbd_config udav_config[UDAV_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = (MCLBYTES + 2), + .flags = (USBD_USE_DMA|USBD_FORCE_SHORT_XFER), + .callback = &udav_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = (MCLBYTES + 3), + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &udav_bulk_read_callback, + .timeout = 0, /* no timeout */ + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &udav_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &udav_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [4] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &udav_intr_callback, + }, + + [5] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &udav_intr_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static device_method_t udav_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, udav_probe), + DEVMETHOD(device_attach, udav_attach), + DEVMETHOD(device_detach, udav_detach), + DEVMETHOD(device_shutdown, udav_shutdown), + + /* bus interface */ + DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_driver_added, bus_generic_driver_added), + + /* MII interface */ + DEVMETHOD(miibus_readreg, udav_cfg_miibus_readreg), + DEVMETHOD(miibus_writereg, udav_cfg_miibus_writereg), + DEVMETHOD(miibus_statchg, udav_cfg_miibus_statchg), + + { 0, 0 } +}; + +static driver_t udav_driver = { + "udav", + udav_methods, + sizeof(struct udav_softc) +}; + +static devclass_t udav_devclass; + +DRIVER_MODULE(udav, uhub, udav_driver, udav_devclass, usbd_driver_load, 0); +DRIVER_MODULE(miibus, udav, miibus_driver, miibus_devclass, 0, 0); +MODULE_DEPEND(udav, usb, 1, 1, 1); +MODULE_DEPEND(udav, ether, 1, 1, 1); +MODULE_DEPEND(udav, miibus, 1, 1, 1); + +#ifdef USB_DEBUG +#define DPRINTF(sc,n,fmt,...) \ + do { if (udav_debug > (n)) { \ + printf("%s:%s: " fmt, (sc)->sc_name, \ + __FUNCTION__,## __VA_ARGS__); } } while (0) + +static int udav_debug = 0; +SYSCTL_NODE(_hw_usb, OID_AUTO, udav, CTLFLAG_RW, 0, "USB udav"); +SYSCTL_INT(_hw_usb_udav, OID_AUTO, debug, CTLFLAG_RW, &udav_debug, 0, + "udav debug level"); +#else +#define DPRINTF(...) +#endif + +#define UDAV_CFG_SETBIT(sc, reg, x) \ + udav_cfg_csr_write1(sc, reg, udav_cfg_csr_read1(sc, reg) | (x)) + +#define UDAV_CFG_CLRBIT(sc, reg, x) \ + udav_cfg_csr_write1(sc, reg, udav_cfg_csr_read1(sc, reg) & ~(x)) + +static const struct udav_type { + struct usb_devno udav_dev; + u_int16_t udav_flags; +} udav_devs [] = { + /* Corega USB-TXC */ + {{ USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TXC }, 0}, +#if 0 + /* DAVICOM DM9601 Generic? */ + /* XXX: The following ids was obtained from the data sheet. */ + {{ 0x0a46, 0x9601 }, 0}, +#endif +}; +#define udav_lookup(v, p) ((const struct udav_type *)usb_lookup(udav_devs, v, p)) + +static int +udav_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + return ((udav_lookup(uaa->vendor, uaa->product) != NULL) ? + UMATCH_VENDOR_PRODUCT : UMATCH_NONE); +} + +static int +udav_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct udav_softc *sc = device_get_softc(dev); + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + sc->sc_flags = udav_lookup(uaa->vendor, uaa->product)->udav_flags; + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", + device_get_nameunit(dev)); + + mtx_init(&(sc->sc_mtx), "udav lock", NULL, MTX_DEF | MTX_RECURSE); + + __callout_init_mtx(&(sc->sc_watchdog), + &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); + + error = usbd_set_config_no(uaa->device, UDAV_CONFIG_NO, 1); + + if (error) { + device_printf(dev, "setting config " + "number failed!\n"); + goto detach; + } + + error = usbd_transfer_setup(uaa->device, UDAV_IFACE_INDEX, + sc->sc_xfer, udav_config, UDAV_ENDPT_MAX, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), + &udav_config_copy, NULL, + sizeof(struct udav_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + mtx_lock(&(sc->sc_mtx)); + + sc->sc_flags |= UDAV_FLAG_WAIT_LINK; + + /* start setup */ + + usbd_config_td_queue_command + (&(sc->sc_config_td), &udav_cfg_first_time_setup, 0); + + /* start watchdog (will exit mutex) */ + + udav_watchdog(sc); + + return 0; /* success */ + + detach: + udav_detach(dev); + return ENXIO; /* failure */ +} + +static void +udav_cfg_first_time_setup(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp; + int error; + u_int8_t eaddr[min(ETHER_ADDR_LEN,6)]; + + if (cc == NULL) { + return; + } + + /* reset the adapter */ + + udav_cfg_reset(sc); + + /* get Ethernet Address */ + + udav_cfg_csr_read(sc, UDAV_PAR, eaddr, ETHER_ADDR_LEN); + + mtx_unlock(&(sc->sc_mtx)); + + ifp = if_alloc(IFT_ETHER); + + mtx_lock(&(sc->sc_mtx)); + + if (ifp == NULL) { + printf("%s: could not if_alloc()\n", + sc->sc_name); + goto done; + } + + ifp->if_softc = sc; + if_initname(ifp, "udav", sc->sc_unit); + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_start = udav_start_cb; + ifp->if_ioctl = udav_ioctl_cb; + ifp->if_watchdog = NULL; + ifp->if_init = udav_init_cb; + ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + + /* XXX need Giant when accessing + * the device structures ! + */ + + mtx_unlock(&(sc->sc_mtx)); + + mtx_lock(&Giant); + + error = mii_phy_probe(sc->sc_dev, &(sc->sc_miibus), + &udav_ifmedia_change_cb, + &udav_ifmedia_status_cb); + mtx_unlock(&Giant); + + mtx_lock(&(sc->sc_mtx)); + + if (error) { + printf("%s: MII without any PHY!\n", + sc->sc_name); + if_free(ifp); + goto done; + } + + sc->sc_ifp = ifp; + + /* + * Call MI attach routine. + */ + + ether_ifattach(ifp, eaddr); + + done: + return; +} + +static int +udav_detach(device_t dev) +{ + struct udav_softc * sc = device_get_softc(dev); + struct ifnet * ifp; + + mtx_lock(&(sc->sc_mtx)); + + usbd_config_td_stop(&(sc->sc_config_td)); + + __callout_stop(&sc->sc_watchdog); + + udav_cfg_stop(sc, NULL, 0); + + ifp = sc->sc_ifp; + + mtx_unlock(&(sc->sc_mtx)); + + /* get rid of any late children */ + bus_generic_detach(dev); + + if (ifp) { + ether_ifdetach(ifp); + if_free(ifp); + } + + usbd_transfer_unsetup(sc->sc_xfer, UDAV_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &(sc->sc_mtx)); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + mtx_destroy(&(sc->sc_mtx)); + + return 0; +} + +static void +udav_cfg_do_request(struct udav_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &(sc->sc_mtx), req, + data, 0, NULL, 1000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +#if 0 +static void +udav_cfg_mem_read(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + len &= 0xff; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_MEM_READ; + USETW(req.wValue, 0x0000); + USETW(req.wIndex, offset); + USETW(req.wLength, len); + + udav_cfg_do_request(sc, &req, buf); + return; +} + +static void +udav_cfg_mem_write(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + len &= 0xff; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_MEM_WRITE; + USETW(req.wValue, 0x0000); + USETW(req.wIndex, offset); + USETW(req.wLength, len); + + udav_cfg_do_request(sc, &req, buf); + return; +} + +static void +udav_cfg_mem_write1(struct udav_softc *sc, u_int16_t offset, + u_int8_t ch) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_MEM_WRITE1; + USETW(req.wValue, ch); + USETW(req.wIndex, offset); + USETW(req.wLength, 0x0000); + + udav_cfg_do_request(sc, &req, NULL); + return; +} +#endif + +static void +udav_cfg_csr_read(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + len &= 0xff; + + req.bmRequestType = UT_READ_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_REG_READ; + USETW(req.wValue, 0x0000); + USETW(req.wIndex, offset); + USETW(req.wLength, len); + + udav_cfg_do_request(sc, &req, buf); + return; +} + +static void +udav_cfg_csr_write(struct udav_softc *sc, u_int16_t offset, void *buf, + u_int16_t len) +{ + usb_device_request_t req; + + offset &= 0xff; + len &= 0xff; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_REG_WRITE; + USETW(req.wValue, 0x0000); + USETW(req.wIndex, offset); + USETW(req.wLength, len); + + udav_cfg_do_request(sc, &req, buf); + return; +} + +static u_int8_t +udav_cfg_csr_read1(struct udav_softc *sc, u_int16_t offset) +{ + u_int8_t val; + udav_cfg_csr_read(sc, offset, &val, 1); + return val; +} + +static void +udav_cfg_csr_write1(struct udav_softc *sc, u_int16_t offset, + u_int8_t ch) +{ + usb_device_request_t req; + + offset &= 0xff; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = UDAV_REQ_REG_WRITE1; + USETW(req.wValue, ch); + USETW(req.wIndex, offset); + USETW(req.wLength, 0x0000); + + udav_cfg_do_request(sc, &req, NULL); + return; +} + +static void +udav_init_cb(void *arg) +{ + struct udav_softc *sc = arg; + + mtx_lock(&(sc->sc_mtx)); + usbd_config_td_queue_command + (&(sc->sc_config_td), &udav_cfg_init, 0); + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +udav_cfg_init(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount) +{ + struct mii_data *mii = GET_MII(sc); + + if (cc == NULL) { + + /* immediate configuration */ + + struct ifnet *ifp = sc->sc_ifp; + + udav_cfg_stop(sc, NULL, 0); + + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + sc->sc_flags |= UDAV_FLAG_HL_READY; + + return; + } + + /* + * Cancel pending I/O + */ + + udav_cfg_stop(sc, cc, 0); + + /* set MAC address */ + + udav_cfg_csr_write(sc, UDAV_PAR, cc->if_lladdr, ETHER_ADDR_LEN); + + /* initialize network control register */ + + /* disable loopback */ + + UDAV_CFG_CLRBIT(sc, UDAV_NCR, UDAV_NCR_LBK0 | UDAV_NCR_LBK1); + + /* Initialize RX control register */ + UDAV_CFG_SETBIT(sc, UDAV_RCR, UDAV_RCR_DIS_LONG | UDAV_RCR_DIS_CRC); + + /* load multicast filter and update promiscious mode bit */ + udav_cfg_promisc_upd(sc, cc, 0); + + /* enable RX */ + UDAV_CFG_SETBIT(sc, UDAV_RCR, UDAV_RCR_RXEN); + + /* clear POWER_DOWN state of internal PHY */ + UDAV_CFG_SETBIT(sc, UDAV_GPCR, UDAV_GPCR_GEP_CNTL0); + UDAV_CFG_CLRBIT(sc, UDAV_GPR, UDAV_GPR_GEPIO0); + + mii_mediachg(mii); + + sc->sc_flags |= (UDAV_FLAG_READ_STALL| + UDAV_FLAG_WRITE_STALL| + UDAV_FLAG_LL_READY); + + udav_start_transfers(sc); + + return; +} + +static void +udav_cfg_reset(struct udav_softc *sc) +{ + usbd_status err; + u_int16_t to; + + /* Select PHY */ +#if 1 + /* + * XXX: force select internal phy. + * external phy routines are not tested. + */ + UDAV_CFG_CLRBIT(sc, UDAV_NCR, UDAV_NCR_EXT_PHY); +#else + if (sc->sc_flags & UDAV_EXT_PHY) { + UDAV_CFG_SETBIT(sc, UDAV_NCR, UDAV_NCR_EXT_PHY); + } else { + UDAV_CFG_CLRBIT(sc, UDAV_NCR, UDAV_NCR_EXT_PHY); + } +#endif + + UDAV_CFG_SETBIT(sc, UDAV_NCR, UDAV_NCR_RST); + + for (to = 0; ; to++) { + + if (to < 100) { + + err = usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + + if (err) { + break; + } + + if (!(udav_cfg_csr_read1(sc, UDAV_NCR) & UDAV_NCR_RST)) { + break; + } + + } else { + printf("%s: reset timeout!\n", + sc->sc_name); + break; + } + } + + err = usbd_config_td_sleep(&(sc->sc_config_td), hz/100); + + return; +} + +#define UDAV_BITS 6 + +#define UDAV_CALCHASH(addr) \ + (ether_crc32_le((addr), ETHER_ADDR_LEN) & ((1 << UDAV_BITS) - 1)) + +static void +udav_config_copy(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount) +{ + struct ifnet * ifp = sc->sc_ifp; + struct ifmultiaddr * ifma; + u_int8_t h; + u_int8_t i; + + bzero(cc, sizeof(*cc)); + + if (ifp) { + for (i = 0; i < ETHER_ADDR_LEN; i++) { + cc->if_lladdr[i] = IF_LLADDR(ifp)[i]; + } + + cc->if_flags = ifp->if_flags; + + cc->if_hashes[7] |= 0x80; /* broadcast address */ + + IF_ADDR_LOCK(ifp); + TAILQ_FOREACH(ifma, &(ifp->if_multiaddrs), ifma_link) + { + if (ifma->ifma_addr->sa_family != AF_LINK) { + continue; + } + h = UDAV_CALCHASH(LLADDR((struct sockaddr_dl *) + ifma->ifma_addr)); + cc->if_hashes[h>>3] |= 1 << (h & 0x7); + } + IF_ADDR_UNLOCK(ifp); + } + return; +} + +static void +udav_cfg_promisc_upd(struct udav_softc *sc, + struct udav_config_copy *cc, u_int16_t refcount) +{ + u_int8_t rxmode; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + rxmode = udav_cfg_csr_read1(sc, UDAV_RCR); + + rxmode &= ~(UDAV_RCR_ALL|UDAV_RCR_PRMSC); + + if (cc->if_flags & IFF_PROMISC) { + + rxmode |= UDAV_RCR_ALL|UDAV_RCR_PRMSC; + + } else if (cc->if_flags & IFF_ALLMULTI) { + + rxmode |= UDAV_RCR_ALL; + } + + /* write hash value to the register */ + udav_cfg_csr_write(sc, UDAV_MAR, cc->if_hashes, sizeof(cc->if_hashes)); + + /* write new mode bits */ + udav_cfg_csr_write1(sc, UDAV_RCR, rxmode); + + return; +} + +static void +udav_start_cb(struct ifnet *ifp) +{ + struct udav_softc *sc = ifp->if_softc; + + mtx_lock(&(sc->sc_mtx)); + + udav_start_transfers(sc); + + mtx_unlock(&(sc->sc_mtx)); + + return; +} + +static void +udav_start_transfers(struct udav_softc *sc) +{ + if ((sc->sc_flags & UDAV_FLAG_LL_READY) && + (sc->sc_flags & UDAV_FLAG_HL_READY)) { + + /* start the USB transfers, + * if not already started: + */ + usbd_transfer_start(sc->sc_xfer[4]); + usbd_transfer_start(sc->sc_xfer[1]); + usbd_transfer_start(sc->sc_xfer[0]); + } + return; +} + +static void +udav_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct udav_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~UDAV_FLAG_WRITE_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~UDAV_FLAG_WRITE_STALL; + DPRINTF(sc, 0, "bulk write pipe stopped\n"); + return; +} + +static void +udav_bulk_write_callback(struct usbd_xfer *xfer) +{ + struct udav_softc *sc = xfer->priv_sc; + struct ifnet *ifp = sc->sc_ifp; + struct mbuf *m; + u_int32_t extra_len; + u_int8_t buf[2]; + + USBD_CHECK_STATUS(xfer); + + tr_error: + DPRINTF(sc, 10, "transfer error, %s\n", + usbd_errstr(xfer->error)); + + if (xfer->error != USBD_CANCELLED) { + /* try to clear stall first */ + sc->sc_flags |= UDAV_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[2]); + } + + ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + return; + + tr_transferred: + DPRINTF(sc, 10, "transfer complete\n"); + + ifp->if_opackets++; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + tr_setup: + + if (sc->sc_flags & UDAV_FLAG_WRITE_STALL) { + usbd_transfer_start(sc->sc_xfer[2]); + goto done; + } + + if (sc->sc_flags & UDAV_FLAG_WAIT_LINK) { + /* don't send anything + * if there is no link ! + */ + goto done; + } + + IF_DEQUEUE(&(ifp->if_snd), m); + + if (m == NULL) { + goto done; + } + + if (m->m_pkthdr.len > MCLBYTES) { + m->m_pkthdr.len = MCLBYTES; + } + + if (m->m_pkthdr.len < UDAV_MIN_FRAME_LEN) { + extra_len = UDAV_MIN_FRAME_LEN - m->m_pkthdr.len; + } else { + extra_len = 0; + } + + xfer->length = (m->m_pkthdr.len + extra_len); + + /* + * the frame length is specified + * in the first 2 bytes of the buffer + */ + buf[0] = (u_int8_t)(xfer->length); + buf[1] = (u_int8_t)(xfer->length >> 8); + + xfer->length += 2; + + usbd_copy_in(&(xfer->buf_data), 0, buf, 2); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 14:04:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E8DE16A4DE; Wed, 30 Aug 2006 14:04:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1CE6416A4E2 for ; Wed, 30 Aug 2006 14:04:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79EB643D62 for ; Wed, 30 Aug 2006 14:04:34 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UE4YPG079700 for ; Wed, 30 Aug 2006 14:04:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UE4Y6U079697 for perforce@freebsd.org; Wed, 30 Aug 2006 14:04:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 14:04:34 GMT Message-Id: <200608301404.k7UE4Y6U079697@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 105328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 14:04:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=105328 Change 105328 by hselasky@hselasky_mini_itx on 2006/08/30 14:04:20 Make network drivers smarter by polling status before checking it, instead of after. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#7 (text+ko) ==== @@ -1339,14 +1339,14 @@ mii_tick(mii); + mii_pollstat(mii); + if ((sc->sc_flags & AUE_FLAG_WAIT_LINK) && (mii->mii_media_status & IFM_ACTIVE) && (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { sc->sc_flags &= ~AUE_FLAG_WAIT_LINK; } - mii_pollstat(mii); - sc->sc_media_active = mii->mii_media_active; sc->sc_media_status = mii->mii_media_status; ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#6 (text+ko) ==== @@ -1058,14 +1058,14 @@ mii_tick(mii); + mii_pollstat(mii); + if ((sc->sc_flags & AXE_FLAG_WAIT_LINK) && (mii->mii_media_status & IFM_ACTIVE) && (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { sc->sc_flags &= ~AXE_FLAG_WAIT_LINK; } - mii_pollstat(mii); - sc->sc_media_active = mii->mii_media_active; sc->sc_media_status = mii->mii_media_status; @@ -1287,9 +1287,6 @@ } /* - * Stop the adapter and free any mbufs allocated to the - * RX and TX lists. - * * NOTE: can be called when "ifp" is NULL */ static void ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#5 (text+ko) ==== @@ -1195,14 +1195,14 @@ mii_tick(mii); + mii_pollstat(mii); + if ((sc->sc_flags & RUE_FLAG_WAIT_LINK) && (mii->mii_media_status & IFM_ACTIVE) && (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { sc->sc_flags &= ~RUE_FLAG_WAIT_LINK; } - mii_pollstat(mii); - sc->sc_media_active = mii->mii_media_active; sc->sc_media_status = mii->mii_media_status; ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#5 (text+ko) ==== @@ -1373,14 +1373,14 @@ mii_tick(mii); + mii_pollstat(mii); + if ((sc->sc_flags & UDAV_FLAG_WAIT_LINK) && (mii->mii_media_status & IFM_ACTIVE) && (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { sc->sc_flags &= ~UDAV_FLAG_WAIT_LINK; } - mii_pollstat(mii); - sc->sc_media_active = mii->mii_media_active; sc->sc_media_status = mii->mii_media_status; From owner-p4-projects@FreeBSD.ORG Wed Aug 30 15:32:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DD2C16A4DF; Wed, 30 Aug 2006 15:32:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28B0416A4DD for ; Wed, 30 Aug 2006 15:32:30 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A841643D4C for ; Wed, 30 Aug 2006 15:32:29 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UFWRUJ085223 for ; Wed, 30 Aug 2006 15:32:27 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UFWRjZ085220 for perforce@freebsd.org; Wed, 30 Aug 2006 15:32:27 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Wed, 30 Aug 2006 15:32:27 GMT Message-Id: <200608301532.k7UFWRjZ085220@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 105332 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 15:32:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105332 Change 105332 by tkuik@tkuik_freebsd on 2006/08/30 15:31:50 Fixed problem where the fs & gs descriptors were not being updated during a thread context switch. This problem caused the pthread library to not work properly under XEN. Affected files ... .. //depot/projects/xen3/src/sys/i386-xen/i386-xen/machdep.c#14 edit .. //depot/projects/xen3/src/sys/i386-xen/i386-xen/xen_machdep.c#16 edit .. //depot/projects/xen3/src/sys/i386/i386/swtch.s#4 edit .. //depot/projects/xen3/src/sys/i386/i386/sys_machdep.c#5 edit .. //depot/projects/xen3/src/sys/i386/i386/vm_machdep.c#6 edit Differences ... ==== //depot/projects/xen3/src/sys/i386-xen/i386-xen/machdep.c#14 (text+ko) ==== @@ -2501,6 +2501,10 @@ #endif thread0.td_pcb->pcb_ext = 0; thread0.td_frame = &proc0_tf; +#ifdef XEN + thread0.td_pcb->pcb_fsd = PCPU_GET(fsgs_gdt)[0]; + thread0.td_pcb->pcb_gsd = PCPU_GET(fsgs_gdt)[1]; +#endif } void ==== //depot/projects/xen3/src/sys/i386-xen/i386-xen/xen_machdep.c#16 (text+ko) ==== @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -78,6 +79,7 @@ void ni_cli(void); void ni_sti(void); + void ni_cli(void) { @@ -156,14 +158,14 @@ printk(const char *fmt, ...) { __va_list ap; - int ret; + int retval; static char buf[PRINTK_BUFSIZE]; va_start(ap, fmt); - ret = vsnprintf(buf, PRINTK_BUFSIZE - 1, fmt, ap); + retval = vsnprintf(buf, PRINTK_BUFSIZE - 1, fmt, ap); va_end(ap); - buf[ret] = 0; - (void)HYPERVISOR_console_write(buf, ret); + buf[retval] = 0; + (void)HYPERVISOR_console_write(buf, retval); } @@ -1038,3 +1040,41 @@ panic("xen_failsafe_handler called!\n"); } + +void xen_handle_thread_switch(struct pcb *pcb); + +/* This is called by cpu_switch() when switching threads. */ +/* The pcb arg refers to the process control block of the */ +/* next thread which is to run */ +void +xen_handle_thread_switch(struct pcb *pcb) +{ + uint32_t *a = (uint32_t *)&PCPU_GET(fsgs_gdt)[0]; + uint32_t *b = (uint32_t *)&pcb->pcb_fsd; + multicall_entry_t mcl[3]; + int i = 0; + + /* Notify Xen of task switch */ + mcl[i].op = __HYPERVISOR_stack_switch; + mcl[i].args[0] = GSEL(GDATA_SEL, SEL_KPL); + mcl[i++].args[1] = (unsigned long)pcb; + + /* Check for update of fsd */ + if (*a != *b || *(a+1) != *(b+1)) { + mcl[i].op = __HYPERVISOR_update_descriptor; + *(uint64_t *)&mcl[i].args[0] = vtomach((vm_offset_t)a); + *(uint64_t *)&mcl[i++].args[2] = *(uint64_t *)b; + } + + a += 2; + b += 2; + + /* Check for update of gsd */ + if (*a != *b || *(a+1) != *(b+1)) { + mcl[i].op = __HYPERVISOR_update_descriptor; + *(uint64_t *)&mcl[i].args[0] = vtomach((vm_offset_t)a); + *(uint64_t *)&mcl[i++].args[2] = *(uint64_t *)b; + } + + (void)HYPERVISOR_multicall(mcl, i); +} ==== //depot/projects/xen3/src/sys/i386/i386/swtch.s#4 (text+ko) ==== @@ -221,23 +221,7 @@ movl %esi, 4(%ebx) movl $GPROC0_SEL*8, %esi /* GSEL(GPROC0_SEL, SEL_KPL) */ ltr %si -#else - /* notify Xen of task switch */ - pushl %edx /* &pcb is the new stack base */ - pushl $KDSEL - pushl $HYPERVISOR_STACK_SWITCH - call ni_queue_multicall2 - addl $12,%esp - /* XXX handle DOM0 IOPL case here (KMM) */ - /* we currently don't support running FreeBSD */ - /* in DOM0 so we can skip for now */ - - call ni_execute_multicall_list - -#endif /* XEN */ 3: - -#ifndef XEN /* XXX skip updating selectors for the moment */ /* Copy the %fs and %gs selectors into this pcpu gdt */ leal PCB_FSD(%edx), %esi movl PCPU(FSGS_GDT), %edi @@ -249,7 +233,22 @@ movl 12(%esi), %ebx movl %eax, 8(%edi) movl %ebx, 12(%edi) -#endif +#else + /* Notify Xen of task switch and update fs/gs descriptors */ + pushl %eax + pushl %ecx + pushl %edx + call xen_handle_thread_switch + popl %edx + popl %ecx + popl %eax + + /* XXX handle DOM0 IOPL case here (KMM) */ + /* we currently don't support running FreeBSD */ + /* in DOM0 so we can skip for now */ + +#endif /* XEN */ + /* Restore context. */ movl PCB_EBX(%edx),%ebx movl PCB_ESP(%edx),%esp ==== //depot/projects/xen3/src/sys/i386/i386/sys_machdep.c#5 (text+ko) ==== @@ -182,12 +182,13 @@ critical_enter(); #ifndef XEN PCPU_GET(fsgs_gdt)[0] = sd; + td->td_pcb->pcb_fsd = sd; #else sd.sd_lolimit = 0xc3f0; /* < 4GB limit */ - HYPERVISOR_update_descriptor(vtomach(&PCPU_GET(fsgs_gdt)[1]), + HYPERVISOR_update_descriptor(vtomach(&PCPU_GET(fsgs_gdt)[0]), *(uint64_t *)&sd); + td->td_pcb->pcb_fsd = PCPU_GET(fsgs_gdt)[0]; #endif - td->td_pcb->pcb_fsd = sd; critical_exit(); td->td_frame->tf_fs = GSEL(GUFS_SEL, SEL_UPL); } @@ -219,12 +220,13 @@ critical_enter(); #ifndef XEN PCPU_GET(fsgs_gdt)[1] = sd; + td->td_pcb->pcb_gsd = sd; #else sd.sd_lolimit = 0xc3f0; /* 4GB limit, wraps around */ HYPERVISOR_update_descriptor(vtomach(&PCPU_GET(fsgs_gdt)[1]), *(uint64_t *)&sd); + td->td_pcb->pcb_gsd = PCPU_GET(fsgs_gdt)[1]; #endif - td->td_pcb->pcb_gsd = sd; critical_exit(); load_gs(GSEL(GUGS_SEL, SEL_UPL)); } ==== //depot/projects/xen3/src/sys/i386/i386/vm_machdep.c#6 (text+ko) ==== @@ -503,7 +503,14 @@ /* set %gs */ td->td_pcb->pcb_gsd = sd; if (td == curthread) { +#ifndef XEN PCPU_GET(fsgs_gdt)[1] = sd; +#else + sd.sd_lolimit = 0xc3f0; /* 4GB limit, wraps around */ + HYPERVISOR_update_descriptor(vtomach(&PCPU_GET(fsgs_gdt)[1]), + *(uint64_t *)&sd); + td->td_pcb->pcb_gsd = PCPU_GET(fsgs_gdt)[1]; +#endif load_gs(GSEL(GUGS_SEL, SEL_UPL)); } critical_exit(); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 15:58:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F06F516A4DE; Wed, 30 Aug 2006 15:58:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4D8916A4DA for ; Wed, 30 Aug 2006 15:58:15 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8374543D46 for ; Wed, 30 Aug 2006 15:58:15 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UFTM78085014 for ; Wed, 30 Aug 2006 15:29:22 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UFTMjK085011 for perforce@freebsd.org; Wed, 30 Aug 2006 15:29:22 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Wed, 30 Aug 2006 15:29:22 GMT Message-Id: <200608301529.k7UFTMjK085011@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 105331 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 15:58:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=105331 Change 105331 by tkuik@tkuik_freebsd on 2006/08/30 15:29:15 Let npx_probe() run & assume exception 16 works under Xen. Affected files ... .. //depot/projects/xen3/src/sys/i386/isa/npx.c#4 edit Differences ... ==== //depot/projects/xen3/src/sys/i386/isa/npx.c#4 (text+ko) ==== @@ -270,10 +270,6 @@ return (0); } -#ifdef XEN - return (1); -#endif - save_idt_npxtrap = idt[IDT_MF]; setidt(IDT_MF, probetrap, SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); @@ -354,9 +350,12 @@ return (0); #endif npx_traps_while_probing = npx_intrs_while_probing = 0; +#ifndef XEN fp_divide_by_0(); DELAY(1000); /* wait for any IRQ13 */ - if (npx_traps_while_probing != 0) { + if (npx_traps_while_probing != 0) +#endif + { /* * Good, exception 16 works. */ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 15:58:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4555F16A554; Wed, 30 Aug 2006 15:58:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A3AE16A4FB for ; Wed, 30 Aug 2006 15:58:16 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B893F43D45 for ; Wed, 30 Aug 2006 15:58:15 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UFSKLp084950 for ; Wed, 30 Aug 2006 15:28:20 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UFSKkd084947 for perforce@freebsd.org; Wed, 30 Aug 2006 15:28:20 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Wed, 30 Aug 2006 15:28:20 GMT Message-Id: <200608301528.k7UFSKkd084947@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 105330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 15:58:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=105330 Change 105330 by tkuik@tkuik_freebsd on 2006/08/30 15:28:02 Clear PMAP1 & PMAP2 entries after use to prevent grant transfer failures in case the page being mapped is later transferred to another domain. Affected files ... .. //depot/projects/xen3/src/sys/i386-xen/i386-xen/pmap.c#7 edit Differences ... ==== //depot/projects/xen3/src/sys/i386-xen/i386-xen/pmap.c#7 (text+ko) ==== @@ -249,6 +249,9 @@ #endif static pt_entry_t *PMAP1 = 0, *PMAP2; static pt_entry_t *PADDR1 = 0, *PADDR2; +#ifdef XEN +static int PMAP1_inuse = 0, PMAP2_inuse = 0; +#endif #ifdef SMP static int PMAP1cpu; static int PMAP1changedcpu; @@ -765,6 +768,7 @@ if (tmppf != newpf) { PT_SET_VA(PMAP2, newpf | PG_V | PG_A, FALSE); pmap_invalidate_page(kernel_pmap, (vm_offset_t)PADDR2); + PMAP2_inuse = 1; } #else @@ -827,13 +831,14 @@ return (vtopte(va)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); - newpf = *pde & PG_FRAME; #ifdef XEN newpf = PT_GET(pde) & PG_FRAME; tmppf = PT_GET(PMAP1) & PG_FRAME; if (tmppf != newpf) { PT_SET_VA(PMAP1, newpf | PG_V | PG_A, TRUE); + PMAP1_inuse = 1; #else + newpf = *pde & PG_FRAME; if ((*PMAP1 & PG_FRAME) != newpf) { *PMAP1 = newpf | PG_RW | PG_V | PG_A | PG_M; #endif @@ -889,6 +894,12 @@ rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); #endif pmap_pte_release(pte); +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif } PMAP_UNLOCK(pmap); return (rtval); @@ -918,6 +929,12 @@ pte = pmap_pte(pmap, va); rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); pmap_pte_release(pte); +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif } PMAP_UNLOCK(pmap); return (rtval); @@ -957,6 +974,10 @@ sched_pin(); #ifdef XEN pte = PT_GET(pmap_pte_quick(pmap, va)); + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } #else pte = *pmap_pte_quick(pmap, va); #endif @@ -1739,6 +1760,12 @@ free_pv_entry(pv); } } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); if (allocated_pv == NULL) { if (vpq == &vm_page_queues[PQ_INACTIVE]) { @@ -1845,10 +1872,16 @@ mtx_assert(&vm_page_queue_mtx, MA_OWNED); KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); PMAP_LOCK_ASSERT(pmap, MA_OWNED); - if ((pte = pmap_pte_quick(pmap, va)) == NULL || *pte == 0) - return; - pmap_remove_pte(pmap, pte, va); - pmap_invalidate_page(pmap, va); + if ((pte = pmap_pte_quick(pmap, va)) && *pte) { + pmap_remove_pte(pmap, pte, va); + pmap_invalidate_page(pmap, va); + } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif } /* @@ -1939,6 +1972,12 @@ break; } } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif out: sched_unpin(); vm_page_unlock_queues(); @@ -2006,6 +2045,12 @@ free_pv_entry(pv); } vm_page_flag_clear(m, PG_WRITEABLE); +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); } @@ -2106,6 +2151,12 @@ } } } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); vm_page_unlock_queues(); if (anychanged) @@ -2302,6 +2353,12 @@ } else pte_store(pte, newpte | PG_A); } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); @@ -2542,6 +2599,12 @@ */ pmap_pte_set_w(pte, wired); pmap_pte_release(pte); +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif PMAP_UNLOCK(pmap); } @@ -2666,6 +2729,12 @@ } } PT_UPDATES_FLUSH(); +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(src_pmap); @@ -2956,6 +3025,12 @@ pmap_unuse_pt(pmap, pv->pv_va); free_pv_entry(pv); } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); pmap_invalidate_all(pmap); PMAP_UNLOCK(pmap); @@ -2996,6 +3071,12 @@ if (rv) break; } +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); return (rv); } @@ -3094,6 +3175,12 @@ } if (bit == PG_RW) vm_page_flag_clear(m, PG_WRITEABLE); +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif sched_unpin(); } @@ -3172,6 +3259,12 @@ } PMAP_UNLOCK(pv->pv_pmap); } while ((pv = pvn) != NULL && pv != pvf); +#ifdef XEN + if (PMAP1_inuse) { + PT_CLEAR_VA(PMAP1, TRUE); + PMAP1_inuse = 0; + } +#endif } sched_unpin(); @@ -3270,6 +3363,12 @@ ptep = pmap_pte(pmap, addr); pte = (ptep != NULL) ? PT_GET(ptep) : 0; pmap_pte_release(ptep); +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif PMAP_UNLOCK(pmap); if (pte != 0) { @@ -3401,8 +3500,7 @@ index = 0; printf("\n"); } - sx_sunlock(&allproc_lock); - return npte; + goto done; } pte = pmap_pte(pmap, va); if (pte && pmap_pte_v(pte)) { @@ -3426,6 +3524,13 @@ } } } + done: +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif sx_sunlock(&allproc_lock); return npte; } @@ -3460,6 +3565,12 @@ printf("%x:%x ", va, *ptep); }; +#ifdef XEN + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } +#endif } void @@ -3492,6 +3603,10 @@ pmap_pte_release(pte); } PT_UPDATES_FLUSH(); + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } } void @@ -3506,6 +3621,10 @@ pmap_pte_release(pte); } PT_UPDATES_FLUSH(); + if (PMAP2_inuse) { + PT_CLEAR_VA(PMAP2, TRUE); + PMAP2_inuse = 0; + } } From owner-p4-projects@FreeBSD.ORG Wed Aug 30 16:07:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C84DB16A4E1; Wed, 30 Aug 2006 16:07:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B2D316A4DD for ; Wed, 30 Aug 2006 16:07:18 +0000 (UTC) (envelope-from m@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2006743D82 for ; Wed, 30 Aug 2006 16:07:12 +0000 (GMT) (envelope-from m@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UG7BwZ088290 for ; Wed, 30 Aug 2006 16:07:11 GMT (envelope-from m@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UG7BMa088287 for perforce@freebsd.org; Wed, 30 Aug 2006 16:07:11 GMT (envelope-from m@FreeBSD.org) Date: Wed, 30 Aug 2006 16:07:11 GMT Message-Id: <200608301607.k7UG7BMa088287@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to m@FreeBSD.org using -f From: Markus Boelter To: Perforce Change Reviews Cc: Subject: PERFORCE change 105334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 16:07:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=105334 Change 105334 by m@m_jana on 2006/08/30 16:06:23 deleted old repos. new files will come due to lack of internet the last weeks during moving to my new apartment :/ Affected files ... .. //depot/projects/soc2006/m_netboot_server/freesbie/COPYING#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/Makefile#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/README#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/amd64/FREESBIE#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/freesbie.conf#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/freesbie.defaults.conf#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/i386/FREESBIE#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/make.conf#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/make.conf.minimal#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/packages#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/powerpc/FREESBIE#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/rc.d/unionfs#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/rc.d/uzip#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/adduser.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/adduser/homemfs.rc#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/buildmodules.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/comconsole.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customroot.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customroot/README#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customscripts.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customscripts/README#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua.sh#3 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/200_install.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/400_configure.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/600_upgrade.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/800_netboot.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/950_reboot.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/Makefile#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/bsdinstaller#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/BSDInstaller.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/DragonFly.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/FreeBSD.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/NetBSD.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/OpenBSD.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/100_choose_where_from.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/200_select_disk.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/300_select_part.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/400_mount_target_system.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/450_init_configuration.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/500_menu.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/550_write_configuration.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/600_unmount_target_system.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/100_set_root_password.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/200_add_user.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/300_set_timezone.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/350_set_datetime.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/400_change_console_settings.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/500_install_packages.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/550_remove_packages.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/dfuibe_lua.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/100_welcome.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/200_select_disk.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/220_format_disk.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/250_partition_disk.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/270_install_bootblocks.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/300_select_part.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/400_select_subparts.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/405_warn_omitted_subparts.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/407_create_subparts.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/410_select_additional_filesystems.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/420_preselect_packages.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/450_select_packages.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/490_confirm_install_os.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/500_install_os.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/800_finished.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/900_reboot.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/bitwise.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/cmdchain.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/configvars.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/flow.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/menu.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/network.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/network_ui.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/package.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/package_ui.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/storage.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/storage_ui.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/target_system.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/target_system_ui.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/uinav.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/netboot/500_setup_server.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/netboot/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/050_welcome.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/100_select_language.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/150_configure_console.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/400_load_kernel_modules.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/800_configure_network.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/po/dfuibe_lua.pot#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/po/ru.po#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/apptest.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/bitwise.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/clock.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/commands.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/configvars.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/dfui.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/expander.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/filesystem.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/final.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/middle.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/start.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/one.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/two.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/010_first.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/020_second.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/030_third.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu/010_first.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/network.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/pipe.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/progress.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/pty.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/storage.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/wait_for.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/100_begin_upgrade.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/200_select_disk.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/300_select_part.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/400_mount_target_system.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/500_perform_upgrade.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/550_upgrade_configuration.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/600_unmount_target_system.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/main.lua#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/etcmfs.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/etcmfs/etcmfs.rc#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/installports.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks/mountdisks.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks/mountdisksrc.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/rootmfs.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/rootmfs/rootmfs.rc#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound/snd_card_ids.txt#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound/sound_detect.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/swapfind.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/swapfind/swapfind.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/varmfs.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/varmfs/varmfs.rc#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xconfig-probe.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xkbdlayout.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xorg.conf.orig#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xconfig.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xkbdlayout.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xorg.conf.orig#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/buildkernel.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/buildworld.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/cleandir.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/clonefs.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/custom/README#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/extra.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/flash.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/img.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/installkernel.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/installworld.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/iso.sh#3 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/launch.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/pkginstall.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/pkgselect.sh#2 delete .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/powerpc/iso.sh#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Aug 30 16:40:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BAE9616A4E1; Wed, 30 Aug 2006 16:40:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 80B2E16A4DD for ; Wed, 30 Aug 2006 16:40:54 +0000 (UTC) (envelope-from m@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1DEAC43D45 for ; Wed, 30 Aug 2006 16:40:54 +0000 (GMT) (envelope-from m@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UGesQG090314 for ; Wed, 30 Aug 2006 16:40:54 GMT (envelope-from m@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UGerhu090311 for perforce@freebsd.org; Wed, 30 Aug 2006 16:40:53 GMT (envelope-from m@FreeBSD.org) Date: Wed, 30 Aug 2006 16:40:53 GMT Message-Id: <200608301640.k7UGerhu090311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to m@FreeBSD.org using -f From: Markus Boelter To: Perforce Change Reviews Cc: Subject: PERFORCE change 105338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 16:40:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=105338 Change 105338 by m@m_jana on 2006/08/30 16:40:12 new files from new development server added. Luckily I have internet again! Affected files ... .. //depot/projects/soc2006/m_netboot_server/freesbie/COPYING#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/Makefile#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/README#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/amd64/FREESBIE#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/freesbie.conf#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/freesbie.defaults.conf#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/i386/FREESBIE#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/make.conf#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/make.conf.minimal#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/packages#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/powerpc/FREESBIE#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/rc.d/unionfs#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/conf/rc.d/uzip#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/adduser.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/adduser/homemfs.rc#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/autoinstall.sh#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/autoinstall/autoinstall.conf#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/autoinstall/autoinstall.rc#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/buildmodules.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/comconsole.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customroot.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customroot/README#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customscripts.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/customscripts/README#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua.sh#4 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/200_install.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/400_configure.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/600_upgrade.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/800_netboot.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/950_reboot.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/Makefile#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/bsdinstaller#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/BSDInstaller.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/DragonFly.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/FreeBSD.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/NetBSD.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/conf/OpenBSD.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/100_choose_where_from.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/200_select_disk.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/300_select_part.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/400_mount_target_system.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/450_init_configuration.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/500_menu.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/550_write_configuration.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/600_unmount_target_system.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/100_set_root_password.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/200_add_user.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/300_set_timezone.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/350_set_datetime.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/400_change_console_settings.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/500_install_packages.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/550_remove_packages.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/configure/menu/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/dfuibe_lua.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/100_welcome.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/200_select_disk.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/220_format_disk.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/250_partition_disk.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/270_install_bootblocks.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/300_select_part.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/400_select_subparts.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/405_warn_omitted_subparts.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/407_create_subparts.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/410_select_additional_filesystems.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/420_preselect_packages.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/430_select_dists.lua#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/432_kernel.lua#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/435_ports.lua#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/450_select_packages.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/490_confirm_install_os.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/500_install_os.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/800_finished.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/900_reboot.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/Makefile#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/install/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/bitwise.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/cmdchain.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/configvars.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/flow.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/menu.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/network.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/network_ui.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/package.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/package_ui.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/storage.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/storage_ui.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/target_system.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/target_system_ui.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/lib/uinav.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/netboot/500_setup_server.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/netboot/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/050_welcome.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/100_select_language.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/150_configure_console.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/400_load_kernel_modules.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/800_configure_network.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/pit/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/po/dfuibe_lua.pot#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/po/ru.po#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/apptest.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/bitwise.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/clock.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/commands.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/configvars.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/dfui.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/expander.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/filesystem.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/final.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/middle.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/start.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/one.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/fsm/subfsm/two.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/010_first.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/020_second.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/030_third.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu/010_first.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/500_submenu/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/menu/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/network.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/pipe.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/progress.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/pty.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/storage.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/scripts/test/wait_for.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/100_begin_upgrade.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/200_select_disk.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/300_select_part.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/400_mount_target_system.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/500_perform_upgrade.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/550_upgrade_configuration.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/600_unmount_target_system.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/dfuibe_lua/upgrade/main.lua#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/etcmfs.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/etcmfs/etcmfs.rc#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/installports.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks/mountdisks.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/mountdisks/mountdisksrc.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/rootmfs.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/rootmfs/rootmfs.rc#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound/snd_card_ids.txt#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/sound/sound_detect.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/swapfind.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/swapfind/swapfind.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/varmfs.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/varmfs/varmfs.rc#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xconfig-probe.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xkbdlayout.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig-probe/xorg.conf.orig#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xconfig.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xkbdlayout.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/extra/xconfig/xorg.conf.orig#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/p#1 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/buildkernel.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/buildworld.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/cleandir.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/clonefs.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/custom/README#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/extra.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/flash.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/img.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/installkernel.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/installworld.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/iso.sh#4 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/launch.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/pkginstall.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/pkgselect.sh#3 add .. //depot/projects/soc2006/m_netboot_server/freesbie/scripts/powerpc/iso.sh#3 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Aug 30 17:51:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDC2316A5A8; Wed, 30 Aug 2006 17:51:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A354A16A552 for ; Wed, 30 Aug 2006 17:51:22 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC34A43D66 for ; Wed, 30 Aug 2006 17:51:21 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UHpLQc003651 for ; Wed, 30 Aug 2006 17:51:21 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UHpL0b003648 for perforce@freebsd.org; Wed, 30 Aug 2006 17:51:21 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 17:51:21 GMT Message-Id: <200608301751.k7UHpL0b003648@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 105339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 17:51:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=105339 Change 105339 by gonzo@gonzo_hq on 2006/08/30 17:51:12 o Make LDFLAGS in bsnmpd's Makefile endianess-aware. Affected files ... .. //depot/projects/mips2/src/usr.sbin/bsnmpd/bsnmpd/Makefile#2 edit Differences ... ==== //depot/projects/mips2/src/usr.sbin/bsnmpd/bsnmpd/Makefile#2 (text+ko) ==== @@ -29,7 +29,7 @@ DPADD= ${LIBBEGEMOT} ${LIBBSNMP} ${LIBWRAP} LDADD= -lbegemot -lbsnmp -lwrap -LDFLAGS= -export-dynamic +LDFLAGS+= -export-dynamic oid.h: tree.def gensnmptree -e ${XSYM} < ${.ALLSRC} > ${.TARGET} From owner-p4-projects@FreeBSD.ORG Wed Aug 30 17:53:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 902F616A4DE; Wed, 30 Aug 2006 17:53:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54FA516A4E7 for ; Wed, 30 Aug 2006 17:53:26 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F2AC43D6B for ; Wed, 30 Aug 2006 17:53:25 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UHrPLt003723 for ; Wed, 30 Aug 2006 17:53:25 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UHrPfg003720 for perforce@freebsd.org; Wed, 30 Aug 2006 17:53:25 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 17:53:25 GMT Message-Id: <200608301753.k7UHrPfg003720@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 105340 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 17:53:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=105340 Change 105340 by gonzo@gonzo_hq on 2006/08/30 17:52:53 o Disable sysinstall/kgmon build just as arm folks did. Affected files ... .. //depot/projects/mips2/src/usr.sbin/Makefile#3 edit Differences ... ==== //depot/projects/mips2/src/usr.sbin/Makefile#3 (text+ko) ==== @@ -193,7 +193,7 @@ zic \ ${_zzz} -.if ${MACHINE_ARCH} != "arm" +.if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips" _sysinstall= sysinstall .endif @@ -281,7 +281,7 @@ _usbdevs= usbdevs .endif -.if ${MACHINE_ARCH} == "arm" +.if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips" _kgmon= kgmon .endif From owner-p4-projects@FreeBSD.ORG Wed Aug 30 17:54:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 083DD16A4E2; Wed, 30 Aug 2006 17:54:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D836C16A4DE for ; Wed, 30 Aug 2006 17:54:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5FB3043D5E for ; Wed, 30 Aug 2006 17:54:27 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UHsR6B003756 for ; Wed, 30 Aug 2006 17:54:27 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UHsR33003753 for perforce@freebsd.org; Wed, 30 Aug 2006 17:54:27 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 17:54:27 GMT Message-Id: <200608301754.k7UHsR33003753@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 105341 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 17:54:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=105341 Change 105341 by gonzo@gonzo_hq on 2006/08/30 17:54:13 o Add mips support to gprof binary. Affected files ... .. //depot/projects/mips2/src/usr.bin/gprof/gprof.h#2 edit .. //depot/projects/mips2/src/usr.bin/gprof/mips.h#1 add Differences ... ==== //depot/projects/mips2/src/usr.bin/gprof/gprof.h#2 (text+ko) ==== @@ -56,6 +56,9 @@ #if __ia64__ # include "ia64.h" #endif +#if __mips__ +# include "mips.h" +#endif #if __powerpc__ # include "powerpc.h" #endif From owner-p4-projects@FreeBSD.ORG Wed Aug 30 17:58:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 724D916A4E5; Wed, 30 Aug 2006 17:58:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3544016A4E1 for ; Wed, 30 Aug 2006 17:58:34 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 412D543D53 for ; Wed, 30 Aug 2006 17:58:33 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UHwX1u003944 for ; Wed, 30 Aug 2006 17:58:33 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UHwW58003941 for perforce@freebsd.org; Wed, 30 Aug 2006 17:58:32 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 17:58:32 GMT Message-Id: <200608301758.k7UHwW58003941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 17:58:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=105342 Change 105342 by piso@piso_newluxor on 2006/08/30 17:58:23 nat_chain, redir_chain and spool_chain were converted to use queue(3). Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#5 edit .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#9 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#5 (text+ko) ==== @@ -320,7 +320,7 @@ /* Server pool support (LSNAT). */ struct cfg_spool { - struct cfg_spool *next; /* chain of spool instances */ + LIST_ENTRY(cfg_spool) _next; /* chain of spool instances */ struct in_addr addr; u_short port; }; @@ -332,7 +332,7 @@ /* Nat redirect configuration. */ struct cfg_redir { - struct cfg_redir *next; /* chain of redir instances */ + LIST_ENTRY(cfg_redir) _next; /* chain of redir instances */ u_int16_t mode; /* type of redirect mode */ struct in_addr laddr; /* local ip address */ struct in_addr paddr; /* public ip address */ @@ -345,20 +345,21 @@ int proto; /* protocol: tcp/udp */ struct alias_link **alink; u_int16_t spool_cnt; /* number of entry in spool chain */ - struct cfg_spool *spool_chain; /* chain of spool instances */ + /* chain of spool instances */ + LIST_HEAD(spool_chain, cfg_spool) spool_chain; }; #define NAT_BUF_LEN 1024 /* Nat configuration data struct. */ struct cfg_nat { - struct cfg_nat *next; /* chain of nat instances */ + LIST_ENTRY(cfg_nat) _next; /* chain of nat instances */ int id; /* nat id */ struct in_addr ip; /* nat ip address */ char if_name[IF_NAMESIZE]; /* interface name */ int mode; /* aliasing mode */ struct libalias *lib; /* libalias instance */ - int redir_cnt; /* number of entry in spool chain */ - struct cfg_redir *redir_chain; /* chain of redir instances */ + int redir_cnt; /* number of entry in spool chain */ + LIST_HEAD(redir_chain, cfg_redir) redir_chain; /* chain of redir instances */ }; /* Nat command. */ ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#9 (text+ko) ==== @@ -302,9 +302,7 @@ MODULE_DEPEND(ipfw, libalias, 1, 1, 1); struct rwlock nat_chain_rwl; -struct _nat_chain { - struct cfg_nat *chain; -} nat_chain; +LIST_HEAD(nat_chain, cfg_nat) nat_chain = LIST_HEAD_INITIALIZER(foo); #define NAT_LOCK_INIT(_chain) \ rw_init(_chain, "NAT instances") @@ -2058,13 +2056,14 @@ lookup_nat(const int i) { struct cfg_nat *ptr; - for (ptr = nat_chain.chain; ptr != NULL; ptr = ptr->next) - if (ptr->id == i) return(ptr); - return(NULL); + LIST_FOREACH(ptr, &nat_chain, _next) + if (ptr->id == i) + return(ptr); + return (NULL); } /* Attach p to b chain. */ -static void +__unused static void hook_entry(struct _chain **b, struct _chain *p) { /* XXX better to make an in-order addition... */ @@ -2074,7 +2073,7 @@ } /* Remove p from b chain. */ -static void +__unused static void unhook_entry(struct _chain **b, struct _chain *p) { NAT_WLOCK_ASSERT(&nat_chain_rwl); @@ -2084,32 +2083,32 @@ } #define HOOK_NAT(b, p) do { \ - NAT_WLOCK_ASSERT(&nat_chain_rwl); \ - hook_entry((struct _chain **)b, (struct _chain *)p); \ + NAT_WLOCK_ASSERT(&nat_chain_rwl); \ + LIST_INSERT_HEAD(b, p, _next); \ } while (0) -#define UNHOOK_NAT(b, p) do { \ - NAT_WLOCK_ASSERT(&nat_chain_rwl); \ - unhook_entry((struct _chain **)b, (struct _chain *)p); \ +#define UNHOOK_NAT(p) do { \ + NAT_WLOCK_ASSERT(&nat_chain_rwl); \ + LIST_REMOVE(p, _next); \ } while (0) #define HOOK_REDIR(b, p) do { \ - hook_entry((struct _chain **)b, (struct _chain *)p); \ + LIST_INSERT_HEAD(b, p, _next); \ } while (0) #define HOOK_SPOOL(b, p) do { \ - hook_entry((struct _chain **)b, (struct _chain *)p); \ + LIST_INSERT_HEAD(b, p, _next); \ } while (0) static void -del_redir_spool_cfg(struct cfg_nat *n, struct cfg_redir *r) { - struct cfg_redir *tmp_r; - struct cfg_spool *tmp_s; +del_redir_spool_cfg(struct cfg_nat *n, struct redir_chain *head) { + struct cfg_redir *r, *tmp_r; + struct cfg_spool *s, *tmp_s; int i, num; - while(r) { + LIST_FOREACH_SAFE(r, head, _next, tmp_r) { num = 1; /* Number of alias_link to delete. */ - switch (r->mode) { + switch (r->mode) { case REDIR_PORT: num = r->pport_cnt; case REDIR_ADDR: @@ -2119,15 +2118,13 @@ LibAliasRedirectDelete(n->lib, r->alink[i]); /* Del spool cfg if any. */ - while(r->spool_chain) { - tmp_s = r->spool_chain->next; - free(r->spool_chain, M_IPFW); - r->spool_chain = tmp_s; + LIST_FOREACH_SAFE(s, &r->spool_chain, _next, tmp_s) { + LIST_REMOVE(s, _next); + free(s, M_IPFW); } - tmp_r = r->next; free(r->alink, M_IPFW); + LIST_REMOVE(r, _next); free(r, M_IPFW); - r = tmp_r; break; default: printf("unknown redirect mode: %u\n", r->mode); @@ -2135,7 +2132,6 @@ break; } } - n->redir_chain = NULL; } static int @@ -2146,31 +2142,25 @@ struct cfg_redir *r, *ser_r; struct cfg_spool *s, *ser_s; int cnt, off, i; + char *panic_err; for(cnt = 0, off = 0; cnt < ptr->redir_cnt; cnt++) { ser_r = (struct cfg_redir *)&buf[off]; r = malloc(sof_redir, M_IPFW, M_NOWAIT | M_ZERO); if (r == NULL) { - /* Try to recover: - * set the actual number of redir entries - * that were hooked succesfully. - */ - ptr->redir_cnt = cnt; - del_redir_spool_cfg(ptr, ptr->redir_chain); - // XXX - NAT_WUNLOCK... - return (ENOSPC); + panic_err = "malloc(sof_redir, ...) failed"; + goto bad; } memcpy(r, ser_r, sof_redir); + LIST_INIT(&r->spool_chain); off += sof_redir; r->alink = malloc(sof_alinkp*r->pport_cnt, M_IPFW, M_NOWAIT | M_ZERO); - if (r->alink == NULL) { - r->pport_cnt = 0; - del_redir_spool_cfg(ptr, ptr->redir_chain); - // XXX - NAT_WUNLOCK... - return (ENOSPC); + if (r->alink == NULL) { + panic_err = "malloc(sof_alinkp*r->pport_cnt, ...) failed"; + goto bad; } - switch(r->mode) { + switch (r->mode) { case REDIR_ADDR: r->alink[0] = LibAliasRedirectAddr(ptr->lib, r->laddr, @@ -2206,17 +2196,16 @@ printf("unknown redirect mode: %u\n", r->mode); break; } - if (r->alink[0] == NULL) { /* panic?!?!? */ - free(r->alink, M_IPFW); - printf("previous LibAliasRedirect* returned NULL!!!\n"); + if (r->alink[0] == NULL) { + panic_err = "LibAliasRedirect* returned NULL!!!\n"; + goto bad; } else /* LSNAT handling. */ for (i=0; i < r->spool_cnt; i++) { ser_s = (struct cfg_spool *)&buf[off]; s = malloc(sof_redir, M_IPFW, M_NOWAIT | M_ZERO); if (s == NULL) { - r->spool_cnt = i; - del_redir_spool_cfg(ptr, r); - return (ENOSPC); + panic_err = "malloc(sof_redir, ...) failed"; + goto bad; } memcpy(s, ser_s, sof_spool); LibAliasAddServer(ptr->lib, r->alink[0], @@ -2230,6 +2219,9 @@ HOOK_REDIR(&ptr->redir_chain, r); } return (1); +bad: + /* something really bad happened: panic! */ + panic("%s\n", panic_err); } /* @@ -4319,7 +4311,7 @@ NAT_WLOCK(&nat_chain_rwl); /* Check every nat entry... */ - for (ptr = nat_chain.chain; ptr; ptr = ptr->next) { + LIST_FOREACH(ptr, &nat_chain, _next) { /* ...using nic 'ifp->if_xname' as dynamic alias address. */ if (strncmp(ptr->if_name, ifp->if_xname, IF_NAMESIZE) == 0) { mtx_lock(&ifp->if_addr_mtx); @@ -4564,7 +4556,6 @@ { struct cfg_nat *ptr, *ser_n; char *buf; - int err=0; buf = malloc(NAT_BUF_LEN, M_IPFW, M_NOWAIT | M_ZERO); if (buf == NULL) @@ -4592,9 +4583,10 @@ free(buf, M_IPFW); NAT_WUNLOCK(&nat_chain_rwl); return(EINVAL); - } + } + LIST_INIT(&ptr->redir_chain); } else { /* Entry already present: temporarly unhook it. */ - UNHOOK_NAT(&nat_chain.chain, ptr); + UNHOOK_NAT(ptr); flush_nat_ptrs(ser_n->id); } NAT_WUNLOCK(&nat_chain_rwl); @@ -4617,16 +4609,13 @@ /* * Redir and LSNAT configuration. */ - del_redir_spool_cfg(ptr, ptr->redir_chain); /* Delete old cfgs. */ - err = add_redir_spool_cfg(&buf[(sizeof(struct cfg_nat))], - ptr); /* Add new entries. */ + del_redir_spool_cfg(ptr, &ptr->redir_chain); /* Delete old cfgs. */ + add_redir_spool_cfg(&buf[(sizeof(struct cfg_nat))], + ptr); /* Add new entries. */ free(buf, M_IPFW); - if (err == 1) { - NAT_WLOCK(&nat_chain_rwl); - HOOK_NAT(&nat_chain.chain, ptr); - NAT_WUNLOCK(&nat_chain_rwl); - } else /* Something bad happened, redir cfg not added. */ - return(EINVAL); + NAT_WLOCK(&nat_chain_rwl); + HOOK_NAT(&nat_chain, ptr); + NAT_WUNLOCK(&nat_chain_rwl); } break; @@ -4643,10 +4632,10 @@ NAT_WUNLOCK(&nat_chain_rwl); break; } - UNHOOK_NAT(&nat_chain.chain, ptr); + UNHOOK_NAT(ptr); NAT_WUNLOCK(&nat_chain_rwl); flush_nat_ptrs(i); - del_redir_spool_cfg(ptr, ptr->redir_chain); + del_redir_spool_cfg(ptr, &ptr->redir_chain); LibAliasUninit(ptr->lib); free(ptr, M_IPFW); } @@ -4668,20 +4657,26 @@ return (ENOSPC); NAT_RLOCK(&nat_chain_rwl); /* Serialize all the data. */ - for (n = nat_chain.chain; (n && (off + sof_nat < NAT_BUF_LEN)); - n = n->next) { - bcopy(n, &data[off], sof_nat); - off += sof_nat; - for (r = n->redir_chain; (r && (off + sof_redir < NAT_BUF_LEN)); - r = r->next) { - bcopy(r, &data[off], sof_redir); - off += sof_redir; - for (s = r->spool_chain; (s && (off + sof_spool < NAT_BUF_LEN)); - s = s->next) { - bcopy(s, &data[off], sof_spool); - off += sof_spool; + LIST_FOREACH(n, &nat_chain, _next) { + if (off + sof_nat < NAT_BUF_LEN) { + bcopy(n, &data[off], sof_nat); + off += sof_nat; + LIST_FOREACH(r, &n->redir_chain, _next) { + if (off + sof_redir < NAT_BUF_LEN) { + bcopy(r, &data[off], sof_redir); + off += sof_redir; + LIST_FOREACH(s, &r->spool_chain, _next) { + if (off + sof_spool < NAT_BUF_LEN) { + bcopy(s, &data[off], sof_spool); + off += sof_spool; + } else + break; + } + } else + break; } - } + } else + break; } NAT_RUNLOCK(&nat_chain_rwl); @@ -4697,8 +4692,9 @@ int sof = LIBALIAS_BUF_SIZE; int i, size, cnt = 0; - NAT_RLOCK(&nat_chain_rwl); - for (ptr = nat_chain.chain, size = i = 0; ptr; ptr = ptr->next) { + NAT_RLOCK(&nat_chain_rwl); + size = i = 0; + LIST_FOREACH(ptr, &nat_chain, _next) { if (ptr->lib->logDesc == NULL) continue; cnt++; @@ -4889,7 +4885,6 @@ ip_fw_ctl_ptr = ipfw_ctl; ip_fw_chk_ptr = ipfw_chk; callout_reset(&ipfw_timeout, hz, ipfw_tick, NULL); - nat_chain.chain = NULL; NAT_LOCK_INIT(&nat_chain_rwl); ifaddr_event_tag = EVENTHANDLER_REGISTER(ifaddr_event, ifaddr_change, NULL, EVENTHANDLER_PRI_ANY); @@ -4908,9 +4903,9 @@ IPFW_WLOCK(&layer3_chain); flush_tables(&layer3_chain); NAT_WLOCK(&nat_chain_rwl); - for (ptr = nat_chain.chain; ptr; ptr = ptr_temp) { - ptr_temp = ptr->next; - del_redir_spool_cfg(ptr, ptr->redir_chain); + LIST_FOREACH_SAFE(ptr, &nat_chain, _next, ptr_temp) { + LIST_REMOVE(ptr, _next); + del_redir_spool_cfg(ptr, &ptr->redir_chain); LibAliasUninit(ptr->lib); free(ptr, M_IPFW); } From owner-p4-projects@FreeBSD.ORG Wed Aug 30 18:02:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16EAF16A4E0; Wed, 30 Aug 2006 18:02:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E683316A4DE for ; Wed, 30 Aug 2006 18:02:38 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CE5143D58 for ; Wed, 30 Aug 2006 18:02:38 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UI2cS9004192 for ; Wed, 30 Aug 2006 18:02:38 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UI2cI3004189 for perforce@freebsd.org; Wed, 30 Aug 2006 18:02:38 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 18:02:38 GMT Message-Id: <200608301802.k7UI2cI3004189@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 105343 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 18:02:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=105343 Change 105343 by gonzo@gonzo_hq on 2006/08/30 18:02:37 o Add MIPS support. I belive rtld_start.S from NetBSD is suitable for our needs, but reloc.c has a bunch of stubs marked with "assert(NULL)". All these stubs (and stubs in following submits) are items of FreeBSD/mips TODO list, they were added to make world buildable and therefore ready to teamwork. Affected files ... .. //depot/projects/mips2/src/libexec/rtld-elf/mips/reloc.c#1 add .. //depot/projects/mips2/src/libexec/rtld-elf/mips/rtld_machdep.h#1 add .. //depot/projects/mips2/src/libexec/rtld-elf/mips/rtld_start.S#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Aug 30 18:19:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 131AE16A50B; Wed, 30 Aug 2006 18:19:00 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB0A516A50D for ; Wed, 30 Aug 2006 18:18:59 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88B8243D46 for ; Wed, 30 Aug 2006 18:18:59 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UIIxrp006102 for ; Wed, 30 Aug 2006 18:18:59 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UIIx07006099 for perforce@freebsd.org; Wed, 30 Aug 2006 18:18:59 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 18:18:59 GMT Message-Id: <200608301818.k7UIIx07006099@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 105344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 18:19:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=105344 Change 105344 by gonzo@gonzo_hq on 2006/08/30 18:18:00 o Explicitly cast __bswapXX routines to respective unsigned int. Having been unwinded with signed long arguments by preprocessor these defines are casted to signed type by gcc. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/endian.h#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/endian.h#4 (text+ko) ==== @@ -105,11 +105,11 @@ ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); } -#define __bswap16(x) (__is_constant(x) ? __bswap16_const(x) : \ +#define __bswap16(x) (__uint16_t)(__is_constant(x) ? __bswap16_const(x) : \ __bswap16_var(x)) -#define __bswap32(x) (__is_constant(x) ? __bswap32_const(x) : \ +#define __bswap32(x) (__uint32_t)(__is_constant(x) ? __bswap32_const(x) : \ __bswap32_var(x)) -#define __bswap64(x) (__is_constant(x) ? __bswap64_const(x) : \ +#define __bswap64(x) (__uint64_t)(__is_constant(x) ? __bswap64_const(x) : \ __bswap64_var(x)) #ifdef _MIPSEB From owner-p4-projects@FreeBSD.ORG Wed Aug 30 18:33:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2278416A4E1; Wed, 30 Aug 2006 18:33:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D9EDA16A4DD for ; Wed, 30 Aug 2006 18:33:29 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D16243DA6 for ; Wed, 30 Aug 2006 18:33:17 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UIXHO0006913 for ; Wed, 30 Aug 2006 18:33:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UIXGmu006900 for perforce@freebsd.org; Wed, 30 Aug 2006 18:33:16 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 18:33:16 GMT Message-Id: <200608301833.k7UIXGmu006900@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 105345 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 18:33:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105345 Change 105345 by hselasky@hselasky_mini_itx on 2006/08/30 18:32:57 Allow the USB-cdev sleep routine to take a timeout as an argument. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uhid.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/ulpt.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#19 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uhid.c#8 (text+ko) ==== @@ -399,7 +399,7 @@ usbd_transfer_start(sc->sc_xfer[4]); - error = usb_cdev_sleep(&(sc->sc_cdev), fflags); + error = usb_cdev_sleep(&(sc->sc_cdev), fflags, 0); usbd_transfer_stop(sc->sc_xfer[4]); ==== //depot/projects/usb/src/sys/dev/usb/ulpt.c#12 (text+ko) ==== @@ -469,7 +469,7 @@ usbd_transfer_start(sc->sc_xfer[3]); - error = usb_cdev_sleep(&(sc->sc_cdev), fflags); + error = usb_cdev_sleep(&(sc->sc_cdev), fflags, 0); usbd_transfer_stop(sc->sc_xfer[3]); ==== //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#6 (text+ko) ==== @@ -183,7 +183,8 @@ } static int32_t -usb_cdev_msleep(struct usb_cdev *sc, void *ident, u_int32_t context_bit) +usb_cdev_msleep(struct usb_cdev *sc, void *ident, u_int32_t context_bit, + u_int32_t timeout) { int32_t error; @@ -196,7 +197,7 @@ } int32_t -usb_cdev_sleep(struct usb_cdev *sc, int32_t fflags) +usb_cdev_sleep(struct usb_cdev *sc, int32_t fflags, u_int32_t timeout) { u_int32_t context_bit = usb_cdev_get_context(fflags); @@ -204,7 +205,8 @@ USB_CDEV_FLAG_SLEEP_IOCTL_WR| USB_CDEV_FLAG_WAKEUP_IOCTL_RD| USB_CDEV_FLAG_WAKEUP_IOCTL_WR); - return usb_cdev_msleep(sc, &(sc->sc_wakeup_ioctl), context_bit); + return usb_cdev_msleep(sc, &(sc->sc_wakeup_ioctl), context_bit, + timeout); } void @@ -271,7 +273,7 @@ USB_CDEV_FLAG_SLEEP_IOCTL_WR)) { error = usb_cdev_msleep(sc, &(sc->sc_wakeup_ioctl_rdwr), - temp); + temp, 0); if (error) { goto done; } @@ -629,7 +631,7 @@ error = usb_cdev_msleep(sc, &(sc->sc_wakeup_write), (USB_CDEV_FLAG_SLEEP_WRITE| - USB_CDEV_FLAG_WAKEUP_WRITE)); + USB_CDEV_FLAG_WAKEUP_WRITE), 0); if (error) { break; } @@ -711,7 +713,7 @@ error = usb_cdev_msleep(sc, &(sc->sc_wakeup_read), (USB_CDEV_FLAG_SLEEP_READ| - USB_CDEV_FLAG_WAKEUP_READ)); + USB_CDEV_FLAG_WAKEUP_READ), 0); if (error) { break; } ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#19 (text+ko) ==== @@ -1155,7 +1155,7 @@ struct mtx; extern int32_t -usb_cdev_sleep(struct usb_cdev *sc, int32_t fflags); +usb_cdev_sleep(struct usb_cdev *sc, int32_t fflags, u_int32_t timeout); extern void usb_cdev_wakeup(struct usb_cdev *sc); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 18:39:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5413416A4E7; Wed, 30 Aug 2006 18:39:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2F82516A4E0 for ; Wed, 30 Aug 2006 18:39:26 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 175A843D62 for ; Wed, 30 Aug 2006 18:39:25 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UIdOLb010817 for ; Wed, 30 Aug 2006 18:39:24 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UIdOO6010811 for perforce@freebsd.org; Wed, 30 Aug 2006 18:39:24 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 18:39:24 GMT Message-Id: <200608301839.k7UIdOO6010811@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 105346 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 18:39:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=105346 Change 105346 by gonzo@gonzo_hq on 2006/08/30 18:38:29 o Reorder defines that is we will have __sys_xxx as a syscall entry point and _xxx, xxx as weak aliases for __sys_xxx. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/SYS.h#4 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/SYS.h#4 (text+ko) ==== @@ -86,43 +86,44 @@ # define PIC_CALL(l,sr) j _C_LABEL(l) #endif -# define SYSTRAP(x) li v0,SYS_ ## x; syscall; +# define SYSTRAP(x) li v0, SYS_ ## x; syscall; /* * Do a syscall that cannot fail (sync, get{p,u,g,eu,eg)id) */ #define RSYSCALL_NOERROR(x) \ - PSEUDO_NOERROR(x,x) + PSEUDO_NOERROR(x) /* * Do a normal syscall. */ #define RSYSCALL(x) \ - PSEUDO(x,x) + PSEUDO(x) /* - * Do a syscall that has an internal name and a weak external alias. - */ -#define WSYSCALL(weak,strong) \ - WEAK_ALIAS(weak,strong); \ - PSEUDO(strong,weak) - -/* * Do a renamed or pseudo syscall (e.g., _exit()), where the entrypoint * and syscall name are not the same. */ -#define PSEUDO_NOERROR(x,y) \ -LEAF(x); \ - SYSTRAP(y); \ +#define PSEUDO_NOERROR(x) \ +LEAF(__sys_ ## x); \ + .weak _C_LABEL(x); \ + _C_LABEL(x) = _C_LABEL(__CONCAT(__sys_,x)); \ + .weak _C_LABEL(__CONCAT(_,x)); \ + _C_LABEL(__CONCAT(_,x)) = _C_LABEL(__CONCAT(__sys_,x)); \ + SYSTRAP(x); \ j ra; \ - END(x) + END(__sys_ ## x) -#define PSEUDO(x,y) \ -LEAF(x); \ +#define PSEUDO(x) \ +LEAF(__sys_ ## x); \ + .weak _C_LABEL(x); \ + _C_LABEL(x) = _C_LABEL(__CONCAT(__sys_,x)); \ + .weak _C_LABEL(__CONCAT(_,x)); \ + _C_LABEL(__CONCAT(_,x)) = _C_LABEL(__CONCAT(__sys_,x)); \ PIC_PROLOGUE(x,t9); \ - SYSTRAP(y); \ + SYSTRAP(x); \ bne a3,zero,err; \ j ra; \ err: \ PIC_CALL(__cerror,t9); \ - END(x) + END(__sys_ ## x) From owner-p4-projects@FreeBSD.ORG Wed Aug 30 19:20:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1C4616A4E0; Wed, 30 Aug 2006 19:20:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D4F416A4DD for ; Wed, 30 Aug 2006 19:20:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 35CF743D45 for ; Wed, 30 Aug 2006 19:20:17 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UJKHth015347 for ; Wed, 30 Aug 2006 19:20:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UJKGlN015344 for perforce@freebsd.org; Wed, 30 Aug 2006 19:20:16 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 19:20:16 GMT Message-Id: <200608301920.k7UJKGlN015344@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 105348 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 19:20:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=105348 Change 105348 by hselasky@hselasky_mini_itx on 2006/08/30 19:20:13 Finished reworking "ufm". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/dsbr100io.h#3 add .. //depot/projects/usb/src/sys/dev/usb/ufm.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ufm.c#4 (text+ko) ==== @@ -1,0 +1,439 @@ +/*- + * Copyright (c) 2001 M. Warner Losh + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions, and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This code is based on ugen.c and ulpt.c developed by Lennart Augustsson. + * This code includes software developed by the NetBSD Foundation, Inc. and + * its contributors. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "usbdevs.h" + +#include + +__FBSDID("$FreeBSD: src/sys/dev/usb/ufm.c,v 1.23 2005/01/06 01:43:28 imp Exp $"); + +#ifdef USB_DEBUG +#define DPRINTF(sc,n,fmt,...) \ + do { if (ufm_debug > (n)) { \ + printf("%s:%s: " fmt, (sc)->sc_name, \ + __FUNCTION__,## __VA_ARGS__); } } while (0) + +static int ufm_debug = 0; +SYSCTL_NODE(_hw_usb, OID_AUTO, ufm, CTLFLAG_RW, 0, "USB ufm"); +SYSCTL_INT(_hw_usb_ufm, OID_AUTO, debug, CTLFLAG_RW, + &ufm_debug, 0, "ufm debug level"); +#else +#define DPRINTF(...) +#endif + +#define UFM_N_TRANSFER 1 /* units */ +#define UFM_BUF_SIZE (sizeof(usb_device_request_t) + 1) /* bytes */ +#define UFM_CMD0 0x00 +#define UFM_CMD_SET_FREQ 0x01 +#define UFM_CMD2 0x02 + +struct ufm_softc { + struct usb_cdev sc_cdev; + struct mtx sc_mtx; + struct usbd_memory_wait sc_mem_wait; + + struct usbd_device * sc_udev; + struct usbd_xfer * sc_xfer[UFM_N_TRANSFER]; + + u_int32_t sc_unit; + u_int32_t sc_freq; + + u_int16_t sc_flags; +#define UFM_FLAG_COMMAND_ERR 0x0001 + + u_int8_t sc_transfer_buf[UFM_BUF_SIZE]; + u_int8_t sc_name[16]; +}; + +/* prototypes */ + +static device_probe_t ufm_probe; +static device_attach_t ufm_attach; +static device_detach_t ufm_detach; + +static int32_t +ufm_open(struct usb_cdev *dev, int32_t fflags, + int32_t devtype, struct thread *td); + +static void +ufm_ioctl_callback(struct usbd_xfer *xfer); + +static int +ufm_do_req(struct ufm_softc *sc, int32_t fflags, u_int8_t request, + u_int16_t value, u_int16_t index, u_int8_t *retbuf); +static int +ufm_set_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags); + +static int +ufm_get_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags); + +static int +ufm_start(struct ufm_softc *sc, caddr_t addr, int32_t fflags); + +static int +ufm_stop(struct ufm_softc *sc, caddr_t addr, int32_t fflags); + +static int +ufm_get_stat(struct ufm_softc *sc, caddr_t addr, int32_t fflags); + +static int +ufm_ioctl(struct usb_cdev *dev, u_long cmd, caddr_t addr, + int32_t fflags, struct thread *td); + +static const struct usbd_config ufm_config[UFM_N_TRANSFER] = { + [0] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = UFM_BUF_SIZE, + .flags = USBD_USE_DMA, + .callback = &ufm_ioctl_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static devclass_t ufm_devclass; + +static device_method_t ufm_methods[] = { + DEVMETHOD(device_probe, ufm_probe), + DEVMETHOD(device_attach, ufm_attach), + DEVMETHOD(device_detach, ufm_detach), + { 0, 0 } +}; + +static driver_t ufm_driver = { + "ufm", + ufm_methods, + sizeof(struct ufm_softc) +}; + +MODULE_DEPEND(ufm, usb, 1, 1, 1); +DRIVER_MODULE(ufm, uhub, ufm_driver, ufm_devclass, usbd_driver_load, 0); + +static int +ufm_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + + if (uaa->iface == NULL) { + return UMATCH_NONE; + } + + if ((uaa->vendor == USB_VENDOR_CYPRESS) && + (uaa->product == USB_PRODUCT_CYPRESS_FMRADIO)) { + return UMATCH_VENDOR_PRODUCT; + } + return UMATCH_NONE; +} + +static int +ufm_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ufm_softc *sc = device_get_softc(dev); + const char * p_buf[2]; + char buf[16]; + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_unit = device_get_unit(dev); + + snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", + device_get_nameunit(dev)); + + mtx_init(&(sc->sc_mtx), "ufm lock", NULL, MTX_DEF|MTX_RECURSE); + + usbd_set_desc(dev, uaa->device); + + error = usbd_transfer_setup(uaa->device, uaa->iface_index, + sc->sc_xfer, ufm_config, UFM_N_TRANSFER, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait)); + if (error) { + DPRINTF(sc, 0, "error=%s\n", usbd_errstr(error)) ; + goto detach; + } + + snprintf(buf, sizeof(buf), "ufm%d", sc->sc_unit); + + p_buf[0] = buf; + p_buf[1] = NULL; + + sc->sc_cdev.sc_open = &ufm_open; + sc->sc_cdev.sc_ioctl = &ufm_ioctl; + + error = usb_cdev_attach(&(sc->sc_cdev), sc, &(sc->sc_mtx), p_buf, + UID_ROOT, GID_OPERATOR, 0644, 1, 1, 1, 1); + if (error) { + goto detach; + } + return 0; /* success */ + + detach: + ufm_detach(dev); + return ENXIO; +} + +static int +ufm_detach(device_t dev) +{ + struct ufm_softc *sc = device_get_softc(dev); + + usb_cdev_detach(&(sc->sc_cdev)); + + usbd_transfer_unsetup(sc->sc_xfer, UFM_N_TRANSFER); + + usbd_transfer_drain(&(sc->sc_mem_wait), &(sc->sc_mtx)); + + mtx_destroy(&(sc->sc_mtx)); + + return 0; +} + +static int32_t +ufm_open(struct usb_cdev *dev, int32_t fflags, + int32_t devtype, struct thread *td) +{ + if ((fflags & (FWRITE|FREAD)) != (FWRITE|FREAD)) { + return EACCES; + } + return 0; +} + +static void +ufm_ioctl_callback(struct usbd_xfer *xfer) +{ + struct ufm_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_transferred: + usbd_copy_out(&(xfer->buf_data), 0, + sc->sc_transfer_buf, UFM_BUF_SIZE); + sc->sc_flags &= ~UFM_FLAG_COMMAND_ERR; + usb_cdev_wakeup(&(sc->sc_cdev)); + return; + + tr_error: + DPRINTF(sc, 0, "error=%s\n", usbd_errstr(xfer->error)); + sc->sc_flags |= UFM_FLAG_COMMAND_ERR; + usb_cdev_wakeup(&(sc->sc_cdev)); + return; + + tr_setup: + usbd_copy_in(&(xfer->buf_data), 0, + sc->sc_transfer_buf, UFM_BUF_SIZE); + xfer->length = UFM_BUF_SIZE; + usbd_start_hardware(xfer); + return; +} + +static int +ufm_do_req(struct ufm_softc *sc, int32_t fflags, u_int8_t request, + u_int16_t value, u_int16_t index, u_int8_t *retbuf) +{ + int32_t error; + + usb_device_request_t *req = (void *)(sc->sc_transfer_buf); + + req->bmRequestType = UT_READ_VENDOR_DEVICE; + req->bRequest = request; + USETW(req->wValue, value); + USETW(req->wIndex, index); + USETW(req->wLength, 1); + + sc->sc_flags |= UFM_FLAG_COMMAND_ERR; + + usbd_transfer_start(sc->sc_xfer[0]); + + error = usb_cdev_sleep(&(sc->sc_cdev), fflags, 0); + + usbd_transfer_stop(sc->sc_xfer[0]); + + if (retbuf) { + *retbuf = req->bData[0]; + } + + if (error) { + return error; + } + + if (sc->sc_flags & UFM_FLAG_COMMAND_ERR) { + return ENXIO; + } + return 0; +} + +static int +ufm_set_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +{ + int freq = *(int *)addr; + + /* + * Freq now is in Hz. We need to convert it to the frequency + * that the radio wants. This frequency is 10.7MHz above + * the actual frequency. We then need to convert to + * units of 12.5kHz. We add one to the IFM to make rounding + * easier. + */ + sc->sc_freq = freq; + freq = (freq + 10700001) / 12500; + + /* This appears to set the frequency */ + if (ufm_do_req(sc, fflags, UFM_CMD_SET_FREQ, + freq >> 8, freq, NULL) != 0) { + return EIO; + } + + /* Not sure what this does */ + if (ufm_do_req(sc, fflags, UFM_CMD0, + 0x96, 0xb7, NULL) != 0) { + return EIO; + } + return (0); +} + +static int +ufm_get_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +{ + int *valp = (int *)addr; + *valp = sc->sc_freq; + return (0); +} + +static int +ufm_start(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +{ + u_int8_t ret; + + if (ufm_do_req(sc, fflags, UFM_CMD0, + 0x00, 0xc7, &ret)) { + return EIO; + } + if (ufm_do_req(sc, fflags, UFM_CMD2, + 0x01, 0x00, &ret)) { + return EIO; + } + if (ret & 0x1) { + return EIO; + } + return (0); +} + +static int +ufm_stop(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +{ + if (ufm_do_req(sc, fflags, UFM_CMD0, + 0x16, 0x1C, NULL)) { + return EIO; + } + if (ufm_do_req(sc, fflags, UFM_CMD2, + 0x00, 0x00, NULL)) { + return EIO; + } + return (0); +} + +static int +ufm_get_stat(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +{ + u_int8_t ret; + u_int32_t timeout = (hz / 4); + + if (timeout == 0) { + timeout = 1; + } + + /* + * Note, there's a 240ms settle time before the status + * will be valid, so sleep that amount. hz/4 is a good + * approximation of that. + */ + + if (usb_cdev_sleep(&(sc->sc_cdev), fflags, timeout)) { + return EIO; + } + + if (ufm_do_req(sc, fflags, UFM_CMD0, + 0x00, 0x24, &ret)) { + return EIO; + } + + *(int *)addr = ret; + + return 0; +} + +static int +ufm_ioctl(struct usb_cdev *dev, u_long cmd, caddr_t addr, + int32_t fflags, struct thread *td) +{ + struct ufm_softc *sc = dev->sc_priv_ptr; + int error = 0; + + switch (cmd) { + case FM_SET_FREQ: + error = ufm_set_freq(sc, addr, fflags); + break; + case FM_GET_FREQ: + error = ufm_get_freq(sc, addr, fflags); + break; + case FM_START: + error = ufm_start(sc, addr, fflags); + break; + case FM_STOP: + error = ufm_stop(sc, addr, fflags); + break; + case FM_GET_STAT: + error = ufm_get_stat(sc, addr, fflags); + break; + default: + return ENOTTY; + break; + } + return error; +} From owner-p4-projects@FreeBSD.ORG Wed Aug 30 19:41:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EC4416A4E6; Wed, 30 Aug 2006 19:41:45 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D50E16A4DA for ; Wed, 30 Aug 2006 19:41:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE36443D5A for ; Wed, 30 Aug 2006 19:41:44 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UJfiNs018216 for ; Wed, 30 Aug 2006 19:41:44 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UJfid9018213 for perforce@freebsd.org; Wed, 30 Aug 2006 19:41:44 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 30 Aug 2006 19:41:44 GMT Message-Id: <200608301941.k7UJfid9018213@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 105350 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 19:41:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=105350 Change 105350 by hselasky@hselasky_mini_itx on 2006/08/30 19:41:34 Remove "usb_ethersubr.[ch]", hence these routines are not used any more. Fix compilation of the "usb" module. Update "conf/files". Affected files ... .. //depot/projects/usb/src/sys/conf/files#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_ethersubr.c#5 delete .. //depot/projects/usb/src/sys/dev/usb/usb_ethersubr.h#4 delete .. //depot/projects/usb/src/sys/modules/usb/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/conf/files#6 (text+ko) ==== @@ -985,7 +985,6 @@ dev/usb/usb_requests.c optional usb dev/usb/usb_subr.c optional usb dev/usb/usb_transfer.c optional usb -dev/usb/usb_ethersubr.c optional usb dev/usb/usb_if.m optional usb dev/usb/usb_quirks.c optional usb dev/usb/usb_hid.c optional usb @@ -994,8 +993,6 @@ dev/usb/ulpt.c optional ulpt dev/usb/ums.c optional ums dev/usb/ukbd.c optional ukbd -# -# USB support (not merged) dev/usb/if_aue.c optional aue dev/usb/if_axe.c optional axe dev/usb/if_cdce.c optional cdce @@ -1004,6 +1001,9 @@ dev/usb/if_ural.c optional ural dev/usb/if_rue.c optional rue dev/usb/if_udav.c optional udav +dev/usb/ufm.c optional ufm +# +# USB support (not merged) dev/usb/sl811hs.c optional slhci dev/usb/slhci_pccard.c optional slhci pccard dev/usb/ubsa.c optional ubsa ucom @@ -1012,7 +1012,6 @@ dev/usb/ucycom.c optional ucycom ucom dev/usb/udbp.c optional udbp dev/usb/ufoma.c optional ufoma ucom -dev/usb/ufm.c optional ufm dev/usb/uftdi.c optional uftdi ucom dev/usb/uhid.c optional uhid dev/usb/umass.c optional umass ==== //depot/projects/usb/src/sys/modules/usb/Makefile#2 (text+ko) ==== @@ -5,23 +5,21 @@ .PATH: $S/dev/usb $S/pci KMOD= usb -SRCS= bus_if.h device_if.h usb_if.h usb_if.c \ +SRCS= bus_if.h device_if.h usb_if.h usb_if.c vnode_if.h \ opt_usb.h \ - hid.c hid.h usbhid.h \ uhub.c \ - usb.c usb.h \ - usb_mem.c usb_mem.h \ - usb_port.h \ + usbdevs.h usbdevs_data.h \ + usb.c usb.h usb_port.h \ + usb_cdev.c \ + usb_hid.c usb_hid.h \ usb_quirks.c usb_quirks.h \ - usb_subr.c \ - usbdevs.h usbdevs_data.h \ - usbdi.c usbdi.h usbdivar.h \ - usbdi_util.c usbdi_util.h \ - usb_ethersubr.c usbdevs.h + usb_requests.c \ + usb_subr.c usb_subr.h \ + usb_transfer.c \ -SRCS+= uhci_pci.c uhci.c uhcireg.h uhcivar.h -SRCS+= ohci_pci.c ohci.c ohcireg.h ohcivar.h -SRCS+= ehci_pci.c ehci.c ehcireg.h ehcivar.h +SRCS+= uhci_pci.c uhci.c uhci.h +SRCS+= ohci_pci.c ohci.c ohci.h +SRCS+= ehci_pci.c ehci.c ehci.h SRCS+= opt_bus.h pci_if.h .include From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:29:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6962016A4E0; Wed, 30 Aug 2006 20:29:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4321D16A4DF for ; Wed, 30 Aug 2006 20:29:46 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 641E743D5E for ; Wed, 30 Aug 2006 20:29:44 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKTile022649 for ; Wed, 30 Aug 2006 20:29:44 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKTilK022646 for perforce@freebsd.org; Wed, 30 Aug 2006 20:29:44 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:29:44 GMT Message-Id: <200608302029.k7UKTilK022646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105351 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:29:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105351 Change 105351 by millert@millert_g4tower on 2006/08/30 20:29:41 Fix error cleanup when trying to mount with an invalid label. There were two problems. One is a simple memory leak. The other is more complicated and described below: When mounting a filesystem in non-update mode we need to decrement the reference count on error that we incremented earlier. However, at the point at which the MAC errors can occur we can't tell whether we need to do that cleanup or not w/o first checking the user flags and making sure devpath is non-NULL. As such it is simplest to just put the checks at the out3 label and use that as the goto target on error. These checks were not needed in the vendor code since the only "goto out3" calls occur in a code path where the user flags and devpath have already been checked. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#2 (text+ko) ==== @@ -522,28 +522,29 @@ if ((uap->flags & MNT_UPDATE) != 0) { error = mac_check_mount_fs_relabel(kauth_cred_get(), mp); if (error != 0) - goto out1; + goto out3; } error = copyin(CAST_USER_ADDR_T(uap->mac_p), (caddr_t)&mac, sizeof(mac)); if (error != 0) - goto out1; + goto out3; if ((mac.m_buflen > MAC_MAX_LABEL_BUF_LEN) || (mac.m_buflen < 2)) { error = EINVAL; - goto out1; + goto out3; } MALLOC(labelstr, char *, mac.m_buflen, M_MACTEMP, M_WAITOK); error = copyinstr(CAST_USER_ADDR_T(mac.m_string), labelstr, mac.m_buflen, &ulen); if (error != 0) { FREE(labelstr, M_MACTEMP); - goto out1; + goto out3; + } + error = mac_internalize_mount_label(mp->mnt_mntlabel, labelstr); + if (error != 0) { + FREE(labelstr, M_MACTEMP); + goto out3; } - error = mac_internalize_mount_fs_label(mp->mnt_fslabel, labelstr); - if (error != 0) - goto out1; - FREE(labelstr, M_MACTEMP); } #endif /* @@ -575,13 +576,13 @@ error = VFS_ROOT(mp, &rvp, &context); if (error) { printf("%s() VFS_ROOT returned %d\n", __func__, error); - goto out2; + goto out3; } /* VFS_ROOT provides reference so needref = 0 */ error = vnode_label(mp, NULL, rvp, NULL, 0, &context); if (error) - goto out2; + goto out3; } #endif /* MAC */ @@ -650,7 +651,8 @@ return(error); out3: - vnode_rele(devvp); + if (devpath && ((uap->flags & MNT_UPDATE) == 0)) + vnode_rele(devvp); out2: if (devpath && devvp) vnode_put(devvp); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:32:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8318B16A516; Wed, 30 Aug 2006 20:32:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D9F816A50B for ; Wed, 30 Aug 2006 20:32:49 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9424243D46 for ; Wed, 30 Aug 2006 20:32:48 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKWmT7022927 for ; Wed, 30 Aug 2006 20:32:48 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKWmpZ022924 for perforce@freebsd.org; Wed, 30 Aug 2006 20:32:48 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:32:48 GMT Message-Id: <200608302032.k7UKWmpZ022924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:32:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=105352 Change 105352 by millert@millert_g4tower on 2006/08/30 20:32:36 There is no good reason to have both an fs label and a mount label. Remove the fs label and store the default label(s) in the mount label instead. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/mount_internal.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_vfs.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/extattr_test/mac_extattr_test.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_labels.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/test/mac_test.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/mount_internal.h#2 (text+ko) ==== @@ -123,7 +123,6 @@ gid_t mnt_fsgroup; struct label *mnt_mntlabel; /* MAC mount label */ - struct label *mnt_fslabel; /* MAC default fs label */ }; /* XXX 3762912 hack to support HFS filesystem 'owner' */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#3 (text+ko) ==== @@ -520,7 +520,7 @@ size_t ulen = 0; if ((uap->flags & MNT_UPDATE) != 0) { - error = mac_check_mount_fs_relabel(kauth_cred_get(), mp); + error = mac_check_mount_relabel(kauth_cred_get(), mp); if (error != 0) goto out3; } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#4 (text+ko) ==== @@ -175,8 +175,8 @@ void mac_destroy_sysv_sem(struct semid_kernel *); void mac_destroy_sysv_shm(struct shmid_kernel *); void mac_destroy_vnode(struct vnode *); -int mac_internalize_mount_fs_label(struct label *, char *string); -int mac_externalize_mount_fs_label(struct label *label, char *elements, +int mac_internalize_mount_label(struct label *, char *string); +int mac_externalize_mount_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); struct label *mac_cred_label_alloc(void); @@ -373,7 +373,7 @@ int mac_check_mount_setattr(struct ucred *cred, struct mount *mp, struct vfs_attr *vfa); int mac_check_mount_stat(struct ucred *cred, struct mount *mp); -int mac_check_mount_fs_relabel(struct ucred *cred, struct mount *mp); +int mac_check_mount_relabel(struct ucred *cred, struct mount *mp); int mac_check_pipe_kqfilter(struct ucred *cred, struct knote *kn, struct pipe *cpipe); int mac_check_pipe_ioctl(struct ucred *cred, struct pipe *cpipe, ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#3 (text+ko) ==== @@ -308,37 +308,22 @@ ); /** - @brief Initialize mount label + @brief Initialize mount point label @param label New label to initialize - @see mpo_init_mount_fs_label_t - Initialize the label for a newly instantiated mount structure. This - is the label for the mount point itself. Sleeping is permitted. + Initialize the label for a newly instantiated mount structure. + This label is typically used to store a default label in the case + that the file system has been mounted singlelabel. Since some + file systems do not support persistent labels (extended attributes) + or are read-only (such as CD-ROMs), it is often necessary to store + a default label separately from the label of the mount point + itself. Sleeping is permitted. */ typedef void mpo_init_mount_label_t( struct label *label ); /** - @brief Initialize mount point file system label - @param label New label to initialize - @see mpo_init_mount_label_t - - Initialize the file system label for a newly instantiated mount - structure. This label is typically used to store a file system - default label in the case that the file system has been mounted - singlelabel. Since some file systems do not support persistent - labels (extended attributes) or are read-only (such as CD-ROMs), it - is often necessary to store a default label separately from the - label of the mount point itself. Sleeping is permitted. - - @warning This is not the label for the mount point itself. -*/ -typedef void mpo_init_mount_fs_label_t( - struct label *label -); - -/** @brief Initialize Mach port label @param label New label to initialize @@ -568,19 +553,6 @@ ); /** - @brief Destroy file system label - @param label The label to be destroyed - - Destroy the file system label associated with a mount point. - Since the object is going out of scope, policy modules should free - any internal storage associated with the label so that it may be - destroyed. -*/ -typedef void mpo_destroy_mount_fs_label_t( - struct label *label -); - -/** @brief Destroy Mach port label @param label The label to be destroyed @@ -809,7 +781,7 @@ /** @brief Update vnode label from extended attributes @param mp File system mount point - @param fslabel File system label + @param mntlabel Mount point label @param vp Vnode to label @param vlabel Label associated with vp @param name Name of the xattr @@ -831,7 +803,7 @@ */ typedef void mpo_update_vnode_extattr_t( struct mount *mp, - struct label *fslabel, + struct label *mntlabel, struct vnode *vp, struct label *vlabel, char *name @@ -1087,17 +1059,16 @@ ); /** - @brief Externalize a mount point file system label + @brief Externalize a mount point label @param label Label to be externalized @param element_name Name of the label namespace for which labels should be externalized @param sb String buffer to be filled with a text representation of the label - Produce an external representation of the file system label on a - mount point. An externalized label consists of a text representation - of the label contents that can be used with user applications. - Policy-agnostic user space tools will display this externalized - version. + Produce an external representation of the mount point label. An + externalized label consists of a text representation of the label + contents that can be used with user applications. Policy-agnostic + user space tools will display this externalized version. The policy's externalize entry points will be called only if the policy has registered interest in the label namespace. @@ -1106,7 +1077,7 @@ externalizing the label data. */ -typedef int mpo_externalize_mount_fs_label_t( +typedef int mpo_externalize_mount_label_t( struct label *label, char *element_name, struct sbuf *sb @@ -1216,7 +1187,7 @@ ); /** - @brief Internalize a mount point file system label + @brief Internalize a mount point label @param label Label to be internalized @param element_name Name of the label namespace for which the label should be internalized @@ -1235,7 +1206,7 @@ while internalizing the label data. */ -typedef int mpo_internalize_mount_fs_label_t( +typedef int mpo_internalize_mount_label_t( struct label *label, char *element_name, char *element_data @@ -1253,7 +1224,7 @@ /** @brief Associate a vnode with a devfs entry @param mp Devfs mount point - @param fslabel Devfs file system label + @param mntlabel Devfs mount point label @param de Devfs directory entry @param delabel Label associated with de @param vp vnode associated with de @@ -1265,7 +1236,7 @@ */ typedef void mpo_associate_vnode_devfs_t( struct mount *mp, - struct label *fslabel, + struct label *mntlabel, struct devnode *de, struct label *delabel, struct vnode *vp, @@ -1275,7 +1246,7 @@ /** @brief Associate a label with a vnode @param mp File system mount point - @param fslabel File system label + @param mntlabel File system mount point label @param vp Vnode to label @param vlabel Label associated with vp @@ -1283,14 +1254,14 @@ file system extended attribute store. The label should be stored in the supplied vlabel parameter. If a policy cannot retrieve an extended attribute, sometimes it is acceptible to fallback to using - the fslabel. + the mntlabel. @return In the event of an error, an appropriate value for errno should be returned, otherwise return 0 upon success. */ typedef int mpo_associate_vnode_extattr_t( struct mount *mp, - struct label *fslabel, + struct label *mntlabel, struct vnode *vp, struct label *vlabel ); @@ -1298,7 +1269,7 @@ /** @brief Associate a label with a vnode @param mp File system mount point - @param fslabel File system label + @param mntlabel File system mount point label @param vp Vnode to label @param vlabel Label associated with vp @@ -1307,7 +1278,7 @@ */ typedef void mpo_associate_vnode_singlelabel_t( struct mount *mp, - struct label *fslabel, + struct label *mntlabel, struct vnode *vp, struct label *vlabel ); @@ -1378,7 +1349,7 @@ @brief Create a new vnode, backed by extended attributes @param cred User credential for the creating process @param mp File system mount point - @param fslabel File system label + @param mntlabel File system mount point label @param dvp Parent directory vnode @param dlabel Parent directory vnode label @param vp Newly created vnode @@ -1397,7 +1368,7 @@ typedef int mpo_create_vnode_extattr_t( struct ucred *cred, struct mount *mp, - struct label *fslabel, + struct label *mntlabel, struct vnode *dvp, struct label *dlabel, struct vnode *vp, @@ -1410,9 +1381,7 @@ @param cred Subject credential @param mp Mount point of file system being mounted @param mntlabel Label to associate with the new mount point - @param fslabel Label for the file system default @see mpo_init_mount_label_t - @see mpo_init_mount_fs_label_t Fill out the labels on the mount point being created by the supplied user credential. This call is made when file systems are first mounted. @@ -1420,8 +1389,7 @@ typedef void mpo_create_mount_t( struct ucred *cred, struct mount *mp, - struct label *mntlabel, - struct label *fslabel + struct label *mntlabel ); /** @@ -3288,22 +3256,22 @@ ); /** - @brief Access control check for file system relabeling + @brief Access control check for mount point relabeling @param cred Subject credential @param mp Object file system mount point - @param fslabel Policy label for fle system under mount point + @param mntlabel Policy label for fle system mount point Determine whether the subject identified by the credential can relabel - the file system. This call is made when a file system mount is updated. + the mount point. This call is made when a file system mount is updated. @return Return 0 if access is granted, otherwise an appropriate value for errno should be returned. Suggested failure: EACCES for label mismatch or EPERM for lack of privilege. */ -typedef int mpo_check_mount_fs_relabel_t( +typedef int mpo_check_mount_relabel_t( struct ucred *cred, struct mount *mp, - struct label *fslabel + struct label *mntlabel ); /** @@ -4839,7 +4807,6 @@ mpo_init_lctx_label_t *mpo_init_lctx_label; mpo_init_mbuf_label_t *mpo_init_mbuf_label; mpo_init_mount_label_t *mpo_init_mount_label; - mpo_init_mount_fs_label_t *mpo_init_mount_fs_label; mpo_init_port_label_t *mpo_init_port_label; mpo_init_posix_sem_label_t *mpo_init_posix_sem_label; mpo_init_posix_shm_label_t *mpo_init_posix_shm_label; @@ -4858,7 +4825,6 @@ mpo_destroy_lctx_label_t *mpo_destroy_lctx_label; mpo_destroy_mbuf_label_t *mpo_destroy_mbuf_label; mpo_destroy_mount_label_t *mpo_destroy_mount_label; - mpo_destroy_mount_fs_label_t *mpo_destroy_mount_fs_label; mpo_destroy_port_label_t *mpo_destroy_port_label; mpo_destroy_posix_sem_label_t *mpo_destroy_posix_sem_label; mpo_destroy_posix_shm_label_t *mpo_destroy_posix_shm_label; @@ -4894,13 +4860,13 @@ mpo_externalize_vnode_label_t *mpo_externalize_vnode_label; mpo_externalize_vnode_audit_label_t *mpo_externalize_vnode_audit_label; mpo_externalize_pipe_label_t *mpo_externalize_pipe_label; - mpo_externalize_mount_fs_label_t *mpo_externalize_mount_fs_label; + mpo_externalize_mount_label_t *mpo_externalize_mount_label; mpo_internalize_cred_label_t *mpo_internalize_cred_label; mpo_internalize_lctx_label_t *mpo_internalize_lctx_label; mpo_internalize_socket_label_t *mpo_internalize_socket_label; mpo_internalize_vnode_label_t *mpo_internalize_vnode_label; mpo_internalize_pipe_label_t *mpo_internalize_pipe_label; - mpo_internalize_mount_fs_label_t *mpo_internalize_mount_fs_label; + mpo_internalize_mount_label_t *mpo_internalize_mount_label; /* * Labeling event operations: file system objects; and things that @@ -5035,7 +5001,7 @@ mpo_check_mount_getattr_t *mpo_check_mount_getattr; mpo_check_mount_setattr_t *mpo_check_mount_setattr; mpo_check_mount_stat_t *mpo_check_mount_stat; - mpo_check_mount_fs_relabel_t *mpo_check_mount_fs_relabel; + mpo_check_mount_relabel_t *mpo_check_mount_relabel; mpo_check_proc_debug_t *mpo_check_proc_debug; mpo_check_proc_getaudit_t *mpo_check_proc_getaudit; mpo_check_proc_getauid_t *mpo_check_proc_getauid; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_vfs.c#3 (text+ko) ==== @@ -76,22 +76,11 @@ return (label); } -static struct label * -mac_mount_fs_label_alloc(void) -{ - struct label *label; - - label = mac_labelzone_alloc(MAC_WAITOK); - MAC_PERFORM(init_mount_fs_label, label); - return (label); -} - void mac_init_mount(struct mount *mp) { mp->mnt_mntlabel = mac_mount_label_alloc(); - mp->mnt_fslabel = mac_mount_fs_label_alloc(); } struct label * @@ -147,23 +136,11 @@ mac_labelzone_free(label); } -static void -mac_mount_fs_label_free(struct label *label) -{ - - MAC_PERFORM(destroy_mount_fs_label, label); - mac_labelzone_free(label); -} - void mac_destroy_mount(struct mount *mp) { - if (mp->mnt_fslabel != NULL) { - mac_mount_fs_label_free(mp->mnt_fslabel); - mp->mnt_fslabel = NULL; - } if (mp->mnt_mntlabel != NULL) { mac_mount_label_free(mp->mnt_mntlabel); mp->mnt_mntlabel = NULL; @@ -236,27 +213,27 @@ } int -mac_internalize_mount_fs_label(struct label *label, char *string) +mac_internalize_mount_label(struct label *label, char *string) { int error; - MAC_INTERNALIZE_LIST(mount_fs, label, string); + MAC_INTERNALIZE_LIST(mount, label, string); return (error); } int -mac_externalize_mount_fs_label(struct label *label, char *elements, +mac_externalize_mount_label(struct label *label, char *elements, char *outbuf, size_t outbuflen) { int error; if (elements[0] == '*') { int count; - MAC_EXTERNALIZE_REGISTERED_LABELS(mount_fs, label, outbuf, + MAC_EXTERNALIZE_REGISTERED_LABELS(mount, label, outbuf, outbuflen, count); } else - MAC_EXTERNALIZE_LIST(mount_fs, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE_LIST(mount, label, elements, outbuf, outbuflen); // error is set by MAC_EXTERNALIZE_* return (error); @@ -283,7 +260,7 @@ struct vnode *vp) { - MAC_PERFORM(associate_vnode_devfs, mp, mp ? mp->mnt_fslabel : NULL, de, + MAC_PERFORM(associate_vnode_devfs, mp, mp ? mp->mnt_mntlabel : NULL, de, de->dn_label, vp, vp->v_label); } @@ -294,7 +271,7 @@ ASSERT_VOP_LOCKED(vp, "mac_associate_vnode_extattr"); - MAC_CHECK(associate_vnode_extattr, mp, mp->mnt_fslabel, vp, + MAC_CHECK(associate_vnode_extattr, mp, mp->mnt_mntlabel, vp, vp->v_label); return (error); @@ -305,7 +282,7 @@ { MAC_PERFORM(associate_vnode_singlelabel, mp, - mp ? mp->mnt_fslabel : NULL, vp, vp->v_label); + mp ? mp->mnt_mntlabel : NULL, vp, vp->v_label); } int @@ -317,7 +294,7 @@ ASSERT_VOP_LOCKED(dvp, __func__); ASSERT_VOP_LOCKED(vp, __func__); - MAC_CHECK(create_vnode_extattr, cred, mp, mp->mnt_fslabel, + MAC_CHECK(create_vnode_extattr, cred, mp, mp->mnt_mntlabel, dvp, dvp->v_label, vp, vp->v_label, cnp); return (error); @@ -328,7 +305,7 @@ { ASSERT_VOP_LOCKED(vp, __func__); - MAC_PERFORM(update_vnode_extattr, mp, mp->mnt_fslabel, vp, + MAC_PERFORM(update_vnode_extattr, mp, mp->mnt_mntlabel, vp, vp->v_label, name); } @@ -998,8 +975,7 @@ mp->mnt_flag &= ~MNT_MULTILABEL; } - MAC_PERFORM(create_mount, cred, mp, mp->mnt_mntlabel, - mp->mnt_fslabel); + MAC_PERFORM(create_mount, cred, mp, mp->mnt_mntlabel); printf("MAC Framework enabling %s support: %s -> %s (%s)\n", mp->mnt_flag & MNT_MULTILABEL ? "multilabel" : "singlelabel", @@ -1087,14 +1063,14 @@ } int -mac_check_mount_fs_relabel(struct ucred *cred, struct mount *mount) +mac_check_mount_relabel(struct ucred *cred, struct mount *mount) { int error; if (!mac_enforce_fs) return (0); - MAC_CHECK(check_mount_fs_relabel, cred, mount, mount->mnt_fslabel); + MAC_CHECK(check_mount_relabel, cred, mount, mount->mnt_mntlabel); return (error); } ==== //depot/projects/trustedbsd/sedarwin8/policies/extattr_test/mac_extattr_test.c#2 (text+ko) ==== @@ -272,7 +272,7 @@ } /* - * We don't implement init_mount_fs_label() so just pull a label out of the + * We don't implement init_mount_label() so just pull a label out of the * air. */ static void ==== //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#4 (text+ko) ==== @@ -2804,7 +2804,7 @@ } static int -mac_mls_check_mount_fs_relabel(struct ucred *cred, struct mount *mp, +mac_mls_check_mount_relabel(struct ucred *cred, struct mount *mp, struct label *mntlabel) { struct mac_mls *subj, *obj; @@ -4077,14 +4077,12 @@ .mpo_check_mount_stat = mac_mls_check_mount_stat, .mpo_check_mount_getattr = mac_mls_check_mount_getattr, .mpo_check_mount_setattr = mac_mls_check_mount_setattr, - .mpo_check_mount_fs_relabel = mac_mls_check_mount_fs_relabel, - .mpo_destroy_mount_fs_label = mac_mls_destroy_label, + .mpo_check_mount_relabel = mac_mls_check_mount_relabel, .mpo_destroy_mount_label = mac_mls_destroy_label, - .mpo_init_mount_fs_label = mac_mls_init_label, .mpo_init_mount_label = mac_mls_init_label, .mpo_create_mount = mac_mls_create_mount, - .mpo_internalize_mount_fs_label = mac_mls_internalize_label, - .mpo_externalize_mount_fs_label = mac_mls_externalize_label, + .mpo_internalize_mount_label = mac_mls_internalize_label, + .mpo_externalize_mount_label = mac_mls_externalize_label, .mpo_init_port_label = mac_mls_init_port_label, .mpo_init_task_label = mac_mls_init_label, .mpo_destroy_port_label = mac_mls_destroy_label, ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#7 (text+ko) ==== @@ -521,16 +521,6 @@ SLOT(label) = sbsec; } -static void -sebsd_init_mount_fs_label(struct label *label) -{ - struct mount_fs_security_struct *sbsec; - - sbsec = sebsd_malloc(sizeof(*sbsec), M_SEBSD, M_ZERO | M_WAITOK); - sbsec->sid = SECINITSID_UNLABELED; - SLOT(label) = sbsec; -} - static int sebsd_init_network_label_waitcheck(struct label *label, int flag) { @@ -637,7 +627,7 @@ } static void -sebsd_associate_vnode_devfs(struct mount *mp, struct label *fslabel, +sebsd_associate_vnode_devfs(struct mount *mp, struct label *mntlabel, struct devnode *de, struct label *delabel, struct vnode *vp, struct label *vlabel) { @@ -666,11 +656,11 @@ } static int -sebsd_associate_vnode_extattr(struct mount *mp, struct label *fslabel, +sebsd_associate_vnode_extattr(struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel) { struct vnode_security_struct *vsec; - struct mount_fs_security_struct *fssec; + struct mount_security_struct *sbsec; /* * TBD: static buffers aren't a good idea, and SELinux contexts * aren't restricted in length. @@ -706,11 +696,11 @@ dosclass: vsec->sclass = vnode_type_to_security_class(vp->v_type); - /* Fall back to the filesystem label on error */ + /* Fall back to the mount label on error */ if (error) { - if (fslabel) { - fssec = SLOT(fslabel); - vsec->sid = fssec->sid; + if (mntlabel) { + sbsec = SLOT(mntlabel); + vsec->sid = sbsec->sid; } else vsec->sid = SECINITSID_UNLABELED; } @@ -724,10 +714,10 @@ * since the underlying vnode type should not have changed. */ static void -sebsd_update_vnode_extattr(struct mount *mp, struct label *fslabel, +sebsd_update_vnode_extattr(struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel, char *name) { - struct vnode_security_struct *vsec, *fssec; + struct vnode_security_struct *vsec, *sbsec; /* * TBD: static buffers aren't a good idea, and SELinux contexts * aren't restricted in length. @@ -751,24 +741,24 @@ __func__, context_len, context); } - /* Fall back to the filesystem label on error */ + /* Fall back to the mount label on error */ if (error) { - if (fslabel) { - fssec = SLOT(fslabel); - vsec->sid = fssec->sid; + if (mntlabel) { + sbsec = SLOT(mntlabel); + vsec->sid = sbsec->sid; } else vsec->sid = SECINITSID_UNLABELED; } } static void -sebsd_associate_vnode_singlelabel(struct mount *mp, struct label *fslabel, +sebsd_associate_vnode_singlelabel(struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel) { - struct mount_fs_security_struct *sbsec; + struct mount_security_struct *sbsec; struct vnode_security_struct *vsec; - sbsec = SLOT(fslabel); + sbsec = SLOT(mntlabel); vsec = SLOT(vlabel); vsec->sclass = vnode_type_to_security_class(vp->v_type); @@ -1185,10 +1175,9 @@ static void sebsd_create_mount(struct ucred *cred, struct mount *mp, - struct label *mntlabel, struct label *fslabel) + struct label *mntlabel) { struct mount_security_struct *sbsec; - struct mount_fs_security_struct *sbfssec; int behavior, rc; /* vfs_init() calls us with no mnt_vtable for dead_mountp */ @@ -1196,7 +1185,6 @@ return; sbsec = SLOT(mntlabel); - sbfssec = SLOT(fslabel); /* TBD TBD TBD */ /* * Make the label for the filesystem the same as the singlelabel @@ -1207,14 +1195,10 @@ printf("%s: security_fs_use(%s) returned %d\n", __func__, mp->mnt_vtable->vfc_name, rc); behavior = SECURITY_FS_USE_NONE; - } else { - sbfssec->sid = sbsec->sid; - /* TBD: debugging */ - if (sebsd_verbose > 1) { - printf("%s: security_fs_use(%s) behavior %d, sid %d\n", - __func__, mp->mnt_vtable->vfc_name, behavior, - sbsec->sid); - } + } else if (sebsd_verbose > 1) { + printf("%s: security_fs_use(%s) behavior %d, sid %d\n", + __func__, mp->mnt_vtable->vfc_name, behavior, + sbsec->sid); } switch (behavior) { @@ -1293,7 +1277,7 @@ static int sebsd_create_vnode_extattr(struct ucred *cred, struct mount *mp, - struct label *fslabel, struct vnode *parent, struct label *parentlabel, + struct label *mntlabel, struct vnode *parent, struct label *parentlabel, struct vnode *child, struct label *childlabel, struct componentname *cnp) { struct vnode_security_struct *dir, *vsec; @@ -1392,14 +1376,14 @@ } static int -sebsd_check_mount_fs_relabel(struct ucred *cred, struct mount *mp, - struct label *fslabel) +sebsd_check_mount_relabel(struct ucred *cred, struct mount *mp, + struct label *mntlabel) { - struct mount_fs_security_struct *nsec; + struct mount_security_struct *nsec; struct task_security_struct *tsec; int rc; - nsec = SLOT(fslabel); + nsec = SLOT(mntlabel); tsec = SLOT(cred->cr_label); if (nsec == NULL) @@ -1875,7 +1859,7 @@ SEBSD_INTERNALIZE_LABEL(cred,task) SEBSD_INTERNALIZE_LABEL(network,network) SEBSD_INTERNALIZE_LABEL(vnode,vnode) -SEBSD_INTERNALIZE_LABEL(mount_fs,mount_fs) +SEBSD_INTERNALIZE_LABEL(mount,mount) static void sebsd_relabel_pipe(struct ucred *cred, struct pipe *pipe, @@ -2976,7 +2960,7 @@ SEBSD_EXTERNALIZE_LABEL(network,network) SEBSD_EXTERNALIZE_LABEL(vnode,vnode) -SEBSD_EXTERNALIZE_LABEL(mount_fs,mount_fs) +SEBSD_EXTERNALIZE_LABEL(mount,mount) static void sebsd_copy_vnode_label(struct label *src, struct label *dest) @@ -3638,13 +3622,11 @@ /* Mount Points */ .mpo_init_mount_label = sebsd_init_mount_label, - .mpo_init_mount_fs_label = sebsd_init_mount_fs_label, .mpo_create_mount = sebsd_create_mount, - .mpo_internalize_mount_fs_label = sebsd_internalize_mount_fs_label, - .mpo_externalize_mount_fs_label = sebsd_externalize_mount_fs_label, + .mpo_internalize_mount_label = sebsd_internalize_mount_label, + .mpo_externalize_mount_label = sebsd_externalize_mount_label, .mpo_destroy_mount_label = sebsd_destroy_label, - .mpo_destroy_mount_fs_label = sebsd_destroy_label, - .mpo_check_mount_fs_relabel = sebsd_check_mount_fs_relabel, + .mpo_check_mount_relabel = sebsd_check_mount_relabel, .mpo_check_mount = sebsd_check_mount, .mpo_check_umount = sebsd_check_umount, .mpo_check_remount = sebsd_check_remount, ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_labels.h#3 (text+ko) ==== @@ -88,8 +88,4 @@ unsigned char proc; /* call procfs_set_sid */ unsigned char uses_trans; /* call security_transition_sid */ }; - -struct mount_fs_security_struct { - u_int32_t sid; /* default object SID of file system */ -}; #endif /* _SYS_SECURITY_SEBSD_LABELS_H */ ==== //depot/projects/trustedbsd/sedarwin8/policies/test/mac_test.c#3 (text+ko) ==== @@ -711,12 +711,6 @@ } static void -mac_test_init_mount_fs_label(struct label *label) -{ - ALLOC_LABEL(label, MOUNTTYPE); -} - -static void mac_test_init_pipe_label(struct label *label) { ALLOC_LABEL(label, PIPETYPE); @@ -797,12 +791,6 @@ } static void -mac_test_destroy_mount_fs_label(struct label *label) -{ - DESTROY_LABEL(label, MOUNTTYPE); -} - -static void mac_test_destroy_pipe_label(struct label *label) { DESTROY_LABEL(label, PIPETYPE); @@ -845,14 +833,14 @@ } static void -mac_test_update_vnode_extattr(struct mount *mp, struct label *fslabel, +mac_test_update_vnode_extattr(struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel, char *name) { CHECKNULL(mp); CHECKNULL(vp); CHECKNULL(name); - USE_LABEL(fslabel, MOUNTTYPE); + USE_LABEL(mntlabel, MOUNTTYPE); USE_LABEL(vlabel, VNODETYPE); } @@ -951,7 +939,7 @@ } static int -mac_test_externalize_mount_fs_label(struct label *label, +mac_test_externalize_mount_label(struct label *label, char *element_name, struct sbuf *sb) { return EXTERNALIZE_LABEL(label, MOUNTTYPE); @@ -986,7 +974,7 @@ } static int -mac_test_internalize_mount_fs_label(struct label *label, +mac_test_internalize_mount_label(struct label *label, char *element_name, char *element_data) { return INTERNALIZE_LABEL(label, MOUNTTYPE); @@ -1037,7 +1025,7 @@ /* mp can be NULL in this fcn */ static void -mac_test_associate_vnode_devfs(struct mount *mp, struct label *fslabel, +mac_test_associate_vnode_devfs(struct mount *mp, struct label *mntlabel, struct devnode *de, struct label *delabel, struct vnode *vp, struct label *vlabel) { @@ -1046,31 +1034,31 @@ INIT_LABEL(vlabel, VNODETYPE); if (mp != NULL) - USE_LABEL(fslabel, MOUNTTYPE); + USE_LABEL(mntlabel, MOUNTTYPE); USE_LABEL(delabel, DEVNODETYPE); } static int -mac_test_associate_vnode_extattr(struct mount *mp, struct label *fslabel, +mac_test_associate_vnode_extattr(struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel) { CHECKNULL(mp); CHECKNULL(vp); INIT_LABEL(vlabel, VNODETYPE); - USE_LABEL(fslabel, MOUNTTYPE); + USE_LABEL(mntlabel, MOUNTTYPE); return (0); } static void mac_test_associate_vnode_singlelabel(struct mount *mp, - struct label *fslabel, struct vnode *vp, struct label *vlabel) + struct label *mntlabel, struct vnode *vp, struct label *vlabel) { CHECKNULL(mp); CHECKNULL(vp); INIT_LABEL(vlabel, VNODETYPE); - USE_LABEL(fslabel, MOUNTTYPE); + USE_LABEL(mntlabel, MOUNTTYPE); } @@ -1120,7 +1108,7 @@ static int mac_test_create_vnode_extattr(struct ucred *cred, struct mount *mp, - struct label *fslabel, struct vnode *dvp, struct label *dlabel, + struct label *mntlabel, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *vlabel, struct componentname *cnp) { CHECKNULL(cred); @@ -1130,7 +1118,7 @@ INIT_LABEL(vlabel, VNODETYPE); USE_LABEL(dlabel, VNODETYPE); - USE_LABEL(fslabel, MOUNTTYPE); + USE_LABEL(mntlabel, MOUNTTYPE); USE_LABEL(cred->cr_label, CREDTYPE); return (0); } @@ -1138,12 +1126,11 @@ static void mac_test_create_mount(struct ucred *cred, struct mount *mp, - struct label *mntlabel, struct label *fslabel) + struct label *mntlabel) { CHECKNULL(cred); CHECKNULL(mp); - INIT_LABEL(fslabel, MOUNTTYPE); USE_LABEL(cred->cr_label, CREDTYPE); INIT_LABEL(mntlabel, MOUNTTYPE); } @@ -1381,7 +1368,7 @@ } static int -mac_test_check_mount_fs_relabel(struct ucred *cred, struct mount *mp, +mac_test_check_mount_relabel(struct ucred *cred, struct mount *mp, struct label *mntlabel) { CHECKNULL(cred); @@ -3166,7 +3153,6 @@ .mpo_init_lctx_label = mac_test_init_lctx_label, .mpo_init_mbuf_label = mac_test_init_mbuf_label, .mpo_init_mount_label = mac_test_init_mount_label, - .mpo_init_mount_fs_label = mac_test_init_mount_fs_label, .mpo_init_port_label = mac_test_init_port_label, .mpo_init_posix_sem_label = mac_test_init_posix_sem_label, .mpo_init_posix_shm_label = mac_test_init_posix_shm_label, @@ -3185,7 +3171,6 @@ .mpo_destroy_lctx_label = mac_test_destroy_lctx_label, .mpo_destroy_mbuf_label = mac_test_destroy_mbuf_label, .mpo_destroy_mount_label = mac_test_destroy_mount_label, - .mpo_destroy_mount_fs_label = mac_test_destroy_mount_fs_label, .mpo_destroy_port_label = mac_test_destroy_port_label, .mpo_destroy_posix_sem_label = mac_test_destroy_posix_sem_label, .mpo_destroy_posix_shm_label = mac_test_destroy_posix_shm_label, @@ -3223,13 +3208,13 @@ .mpo_externalize_vnode_label = mac_test_externalize_vnode_label, .mpo_externalize_vnode_audit_label = mac_test_externalize_vnode_audit_label, - .mpo_externalize_mount_fs_label = mac_test_externalize_mount_fs_label, + .mpo_externalize_mount_label = mac_test_externalize_mount_label, .mpo_internalize_cred_label = mac_test_internalize_cred_label, .mpo_internalize_lctx_label = mac_test_internalize_lctx_label, .mpo_internalize_pipe_label = mac_test_internalize_pipe_label, .mpo_internalize_socket_label = mac_test_internalize_socket_label, .mpo_internalize_vnode_label = mac_test_internalize_vnode_label, - .mpo_internalize_mount_fs_label = mac_test_internalize_mount_fs_label, + .mpo_internalize_mount_label = mac_test_internalize_mount_label, /* * Labeling event operations: file system objects; and things that @@ -3320,7 +3305,7 @@ .mpo_check_mount_getattr = mac_test_check_mount_getattr, .mpo_check_mount_setattr = mac_test_check_mount_setattr, .mpo_check_mount_stat = mac_test_check_mount_stat, - .mpo_check_mount_fs_relabel = mac_test_check_mount_fs_relabel, + .mpo_check_mount_relabel = mac_test_check_mount_relabel, .mpo_check_port_relabel = mac_test_check_port_relabel, .mpo_check_port_send = mac_test_check_port_send, .mpo_check_port_make_send = mac_test_check_port_make_send, From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:33:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA49816A4E1; Wed, 30 Aug 2006 20:33:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0E6A16A4DA for ; Wed, 30 Aug 2006 20:33:50 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60B3443D45 for ; Wed, 30 Aug 2006 20:33:50 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKXoNj023184 for ; Wed, 30 Aug 2006 20:33:50 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKXoQH023181 for perforce@freebsd.org; Wed, 30 Aug 2006 20:33:50 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:33:50 GMT Message-Id: <200608302033.k7UKXoQH023181@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105353 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:33:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=105353 Change 105353 by millert@millert_g4tower on 2006/08/30 20:33:21 Use proc_ucred() instead of peeking inside struct proc directly. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#8 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_syscall.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#8 (text+ko) ==== @@ -270,7 +270,7 @@ struct task_security_struct *task, *target; task = SLOT(cred->cr_label); - target = SLOT(proc->p_ucred->cr_label); + target = SLOT(proc_ucred(proc)->cr_label); return (avc_has_perm(task->sid, target->sid, SECCLASS_PROCESS, perm, NULL)); @@ -1658,7 +1658,7 @@ case LCID_REMOVE: /* Orphan */ /* loginwindow.app/MAC.loginPlugin orphaned process. */ - dst = SLOT(p->p_ucred->cr_label); + dst = SLOT(proc_ucred(p)->cr_label); if (dst->sid != dst->osid) { /* * TBD: Need to flush any open files that are now @@ -1676,8 +1676,8 @@ default: /* Adopt */ /* loginwindow.app/MAC.loginPlugin adopted process. */ - src = SLOT(p0->p_ucred->cr_label); - dst = SLOT(p->p_ucred->cr_label); + src = SLOT(proc_ucred(p0)->cr_label); + dst = SLOT(proc_ucred(p)->cr_label); if (src->sid != dst->sid) { /* ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_syscall.c#3 (text+ko) ==== @@ -60,7 +60,7 @@ void *kdata; int rc; - rc = cred_has_security(p->p_ucred, SECURITY__LOAD_POLICY); + rc = cred_has_security(proc_ucred(p), SECURITY__LOAD_POLICY); if (rc) return (rc); @@ -81,7 +81,7 @@ void *kdata; int rc; - rc = cred_has_security(p->p_ucred, SECURITY__LOAD_POLICY); + rc = cred_has_security(proc_ucred(p), SECURITY__LOAD_POLICY); if (rc) return (rc); @@ -165,7 +165,7 @@ { char *str; - error = cred_has_security(p->p_ucred, SECURITY__SETBOOL); + error = cred_has_security(proc_ucred(p), SECURITY__SETBOOL); if (error) return (error); @@ -186,7 +186,7 @@ } case SEBSDCALL_COMMIT_BOOLS: - error = cred_has_security(p->p_ucred, SECURITY__SETBOOL); + error = cred_has_security(proc_ucred(p), SECURITY__SETBOOL); if (error) return (error); return (security_commit_pending_bools()); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:34:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B38D16A4EB; Wed, 30 Aug 2006 20:34:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D43CC16A4E7 for ; Wed, 30 Aug 2006 20:34:52 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 955EE43D45 for ; Wed, 30 Aug 2006 20:34:52 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKYqfQ023253 for ; Wed, 30 Aug 2006 20:34:52 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKYqA4023245 for perforce@freebsd.org; Wed, 30 Aug 2006 20:34:52 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:34:52 GMT Message-Id: <200608302034.k7UKYqA4023245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:34:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=105354 Change 105354 by millert@millert_g4tower on 2006/08/30 20:34:11 Use the existing vfs context instead of calling kauth_cred_get(). In a few cases I had to move the creation of the vfs context up by a few lines. This will help future-proof our changes as Apple migrates to passing around vfs contexts instead of proc pointers. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#4 (text+ko) ==== @@ -483,7 +483,8 @@ ronly = (mp->mnt_flag & MNT_RDONLY) != 0; #ifdef MAC - error = mac_check_vnode_open(kauth_cred_get(), vp, + error = mac_check_vnode_open( + vfs_context_ucred(&context), vp, ronly ? FREAD : FREAD|FWRITE); if (error) goto out3; @@ -512,7 +513,7 @@ #ifdef MAC if ((uap->flags & MNT_UPDATE) == 0) { mac_init_mount(mp); - mac_create_mount(kauth_cred_get(), mp); + mac_create_mount(vfs_context_ucred(&context), mp); } if (uap->mac_p != USER_ADDR_NULL) { struct mac mac; @@ -520,7 +521,8 @@ size_t ulen = 0; if ((uap->flags & MNT_UPDATE) != 0) { - error = mac_check_mount_relabel(kauth_cred_get(), mp); + error = mac_check_mount_relabel( + vfs_context_ucred(&context), mp); if (error != 0) goto out3; } @@ -1873,8 +1875,8 @@ VATTR_SET(vap, va_type, VFIFO); #ifdef MAC - error = mac_check_vnode_create(vfs_context_ucred(ctx), - nd.ni_dvp, &nd.ni_cnd, vap); + error = mac_check_vnode_create(vfs_context_ucred(ctx), nd.ni_dvp, + &nd.ni_cnd, vap); if (error) goto out; #endif @@ -1993,7 +1995,8 @@ } #ifdef MAC - error = mac_check_vnode_link(kauth_cred_get(), dvp, vp, &nd.ni_cnd); + error = mac_check_vnode_link(vfs_context_ucred(&context), dvp, vp, + &nd.ni_cnd); if (error) goto out2; #endif @@ -2119,7 +2122,8 @@ if (vp == NULL) { #ifdef MAC - error = mac_check_vnode_create(kauth_cred_get(), dvp, &nd.ni_cnd, &va); + error = mac_check_vnode_create(vfs_context_ucred(&context), + dvp, &nd.ni_cnd, &va); #endif /* authorize */ if (error == 0) @@ -2286,7 +2290,8 @@ } #ifdef MAC if (!error) - error = mac_check_vnode_delete(kauth_cred_get(), dvp, vp, cnp); + error = mac_check_vnode_delete(vfs_context_ucred(&context), + dvp, vp, cnp); #endif /* MAC */ /* authorize the delete operation */ if (!error) @@ -2868,7 +2873,8 @@ error = EINVAL; else { #ifdef MAC - error = mac_check_vnode_readlink(kauth_cred_get(), vp); + error = mac_check_vnode_readlink(vfs_context_ucred(&context), + vp); #endif if (error == 0) error = vnode_authorize(vp, NULL, KAUTH_VNODE_READ_DATA, &context); @@ -4309,8 +4315,8 @@ error = EBUSY; } else { #ifdef MAC - error = mac_check_vnode_delete(kauth_cred_get(), dvp, - vp, &nd.ni_cnd); + error = mac_check_vnode_delete(vfs_context_ucred(&context), + dvp, vp, &nd.ni_cnd); if (!error) #endif error = vnode_authorize(vp, nd.ni_dvp, KAUTH_VNODE_DELETE, &context); @@ -4392,16 +4398,17 @@ goto out; } + context.vc_proc = p; + context.vc_ucred = fp->f_fglob->fg_cred; + #ifdef MAC - if ((error = mac_check_vnode_readdir(fp->f_fglob->fg_cred, vp)) != 0) { + error = mac_check_vnode_readdir(vfs_context_ucred(&context), vp); + if (error != 0) { (void)vnode_put(vp); goto out; } #endif /* MAC */ - context.vc_proc = p; - context.vc_ucred = fp->f_fglob->fg_cred; - loff = fp->f_fglob->fg_offset; auio = uio_createwithbuffer(1, loff, spacetype, UIO_READ, &uio_buf[0], sizeof(uio_buf)); @@ -4701,8 +4708,12 @@ goto out; } + context.vc_proc = p; + context.vc_ucred = kauth_cred_get(); + #ifdef MAC - if ((error = mac_check_vnode_readdir(kauth_cred_get(), vp)) != 0) { + error = mac_check_vnode_readdir(vfs_context_ucred(&context), vp); + if (error != 0) { (void)vnode_put(vp); goto out; } @@ -4714,8 +4725,6 @@ &uio_buf[0], sizeof(uio_buf)); uio_addiov(auio, uap->buffer, uap->buffersize); - context.vc_proc = p; - context.vc_ucred = kauth_cred_get(); tmpcount = (u_long) actualcount; /* From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:34:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65E0016A532; Wed, 30 Aug 2006 20:34:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 291F416A4E9 for ; Wed, 30 Aug 2006 20:34:53 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E83F843D46 for ; Wed, 30 Aug 2006 20:34:52 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKYqtN023263 for ; Wed, 30 Aug 2006 20:34:52 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKYqEp023256 for perforce@freebsd.org; Wed, 30 Aug 2006 20:34:52 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:34:52 GMT Message-Id: <200608302034.k7UKYqEp023256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105355 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:34:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=105355 Change 105355 by millert@millert_g4tower on 2006/08/30 20:34:51 Remove bogus comment (was true of FreeBSD) and fix a style nit. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#4 (text+ko) ==== @@ -1068,15 +1068,11 @@ } newcred = kauth_cred_setlabel(oldcred, intlabel); - mac_update_task_from_cred (newcred, p->task); + mac_update_task_from_cred(newcred, p->task); PROC_LOCK(p); p->p_ucred = newcred; PROC_UNLOCK(p); - /* - * Grab additional reference for use while revoking mmaps, prior - * to releasing the proc lock and sharing the cred. - */ kauth_cred_rele(oldcred); #if 0 From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:37:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A24D816A508; Wed, 30 Aug 2006 20:37:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 79BE516A504 for ; Wed, 30 Aug 2006 20:37:57 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E71B43D68 for ; Wed, 30 Aug 2006 20:37:57 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKbvL5023551 for ; Wed, 30 Aug 2006 20:37:57 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKbuJt023548 for perforce@freebsd.org; Wed, 30 Aug 2006 20:37:56 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:37:56 GMT Message-Id: <200608302037.k7UKbuJt023548@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105356 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:37:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=105356 Change 105356 by millert@millert_g4tower on 2006/08/30 20:37:11 Move mac_init_bsd() proto to mac.h so bsd_init.c can see it. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_internal.h#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#2 (text+ko) ==== @@ -337,11 +337,7 @@ /* * Initialize the MAC Framework */ - { - extern mac_init_bsd(void); - - mac_init_bsd(); - } + mac_init_bsd(); #endif /* MAC */ /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#5 (text+ko) ==== @@ -140,6 +140,11 @@ struct pipe; /* + * Framework initialization. + */ +void mac_init_bsd(void); + +/* * Label operations. */ void mac_init_cred(struct ucred *); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_internal.h#4 (text+ko) ==== @@ -538,7 +538,6 @@ struct __mac_set_file_args; struct __mac_syscall_args; -void mac_init_bsd(void); void mac_policy_addto_labellist(struct mac_policy_conf *, int); void mac_policy_removefrom_labellist(struct mac_policy_conf *); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:38:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D42916A4DF; Wed, 30 Aug 2006 20:38:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 419AC16A4DD for ; Wed, 30 Aug 2006 20:38:59 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 09CF643D68 for ; Wed, 30 Aug 2006 20:38:59 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKcwiU023585 for ; Wed, 30 Aug 2006 20:38:58 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKcwP7023582 for perforce@freebsd.org; Wed, 30 Aug 2006 20:38:58 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:38:58 GMT Message-Id: <200608302038.k7UKcwP7023582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105357 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:38:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=105357 Change 105357 by millert@millert_g4tower on 2006/08/30 20:38:19 Use kauth_cred_get() and proc_ucred() instead of peeking inside struct proc directly. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_syscalls.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#2 (text+ko) ==== @@ -101,7 +101,7 @@ #ifdef MAC if (error) return (error); - error = mac_check_system_reboot(p->p_ucred, uap->opt); + error = mac_check_system_reboot(kauth_cred_get(), uap->opt); #endif if (!error) { SET(p->p_flag, P_REBOOT); /* No more signals for this proc */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_syscalls.c#2 (text+ko) ==== @@ -432,7 +432,7 @@ if(error) return (error); #ifdef MAC - error = mac_check_system_nfsd(p->p_ucred); + error = mac_check_system_nfsd(proc_ucred(p)); if (error) return (error); #endif From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:54:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D05416A4E7; Wed, 30 Aug 2006 20:54:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 34E3E16A4E5 for ; Wed, 30 Aug 2006 20:54:36 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F24AF43D6B for ; Wed, 30 Aug 2006 20:54:22 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKsMLe032632 for ; Wed, 30 Aug 2006 20:54:22 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKsIAk032560 for perforce@freebsd.org; Wed, 30 Aug 2006 20:54:18 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:54:18 GMT Message-Id: <200608302054.k7UKsIAk032560@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105359 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:54:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=105359 Change 105359 by millert@millert_g4tower on 2006/08/30 20:54:01 Update to xnu-792.6.76 Affected files ... .. //depot/projects/trustedbsd/sedarwin8/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aes.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aescrypt.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aeskey.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aesopt.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aestab.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aestab.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/dev/ppc/kern_machdep.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/hfs/hfs_search.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/hfs/hfs_vfsutils.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_aio.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_mman.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_prot.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/ubc_subr.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_socket2.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_usrreq.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/index.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/ether_inet_pr_module.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/kpi_interface.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/ndrv.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netat/ddp_lap.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_dummynet.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_fw2.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_input.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_forward.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ipsec.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_vnops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/file_internal.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/ubc.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/ufs/ufs/ufs_vnops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_utfconv.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_utfconvdata.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_vnops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vm/dp_backing_file.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vm/vm_unix.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/config/BSDKernel.exports#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/config/MasterVersion#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/iokit/bsddev/DINetBootHook.cpp#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/iokit/bsddev/DINetBootHook.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/libkern/libkern/OSCrossEndian.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DMN_port_deleted.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DMN_port_destroyed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DP_backing_store_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DP_backing_store_delete.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DP_backing_store_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DP_object_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/DR_overwrite_async.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/HD_memory_manager.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_SY_completed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_change_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_change_completed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_data_initialize.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_data_unavailable.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_default_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_get_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_lock_completed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MO_supply_completed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MP_allocate_subsystem.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/MP_request_notification.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/P_set_policy_control.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/P_set_policy_disable.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/P_set_policy_enable.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/SMO_default_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/SMO_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/TS_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/VSD_memory_manager.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/bootstrap_arguments.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/bootstrap_completed.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/bootstrap_environment.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/bootstrap_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/catch_exception_raise.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_alarm.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_alarm_reply.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_get_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_get_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_map_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_reply_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_set_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_set_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/clock_sleep.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/default_pager_add_segment.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/default_pager_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_close.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_get_status.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_map.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_open.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_read.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_read_async.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_read_async_inband.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_read_inband.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_read_overwrite.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_reply_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_set_filter.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_set_status.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_write.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_write_async.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_write_async_inband.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/device_write_inband.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/do_mach_notify_dead_name.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/do_mach_notify_no_senders.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/do_mach_notify_send_once.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/etap_get_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/etap_probe.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/etap_trace_event.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/etap_trace_thread.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/evc_wait.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/exc_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_adjust_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_get_boot_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_get_clock_control.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_get_clock_service.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_get_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_kernel_version.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_load_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_page_size.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_processor_set_priv.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_processor_sets.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_processor_slots.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_processors.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_reboot.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_sched_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_security_create_task_token.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_security_set_task_token.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_set_time.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/host_statistics.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/i386_get_ldt.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/i386_io_port_add.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/i386_io_port_list.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/i386_io_port_remove.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/i386_set_ldt.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/index.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/io_done_queue_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/io_done_queue_terminate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/io_done_queue_wait.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/kernel_resource_sizes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_get_remote.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_read.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_set_remote.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_terminate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/ledger_transfer.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_acquire.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_handoff.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_handoff_accept.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_make_stable.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_release.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_set_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_set_destroy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/lock_try.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_host_self.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_msg.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_msg_descriptor.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_msg_header.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_allocate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_allocate_full.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_allocate_name.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_allocate_qos.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_deallocate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_destroy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_extract_member.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_extract_right.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_get_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_get_refs.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_get_set_status.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_insert_member.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_insert_right.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_limits.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_mod_refs.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_move_member.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_names.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_qos.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_set_attributes.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_set_mscount.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_set_seqno.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_status.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_port_type.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_ports_lookup.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_ports_register.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_reply_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_rpc_return_trap.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_rpc_trap.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_subsystem_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_task_self.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mach_thread_self.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/mapped_tvalspec.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_attr_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_data_error.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_data_request.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_data_return.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_data_supply.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_data_unlock.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_destroy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_init.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_lock_request.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_perf_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_synchronize.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/memory_object_terminate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_get_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_node_self.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_port_location_hint.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_set_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_task_clone.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_task_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/norma_task_teleport.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/notify_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/policy_fifo_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/policy_rr_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/policy_timeshare_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_assign.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_control.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_exit.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_get_assignment.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_default.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_destroy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_load_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_max_priority.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_statistics.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_tasks.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_set_threads.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/processor_start.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/prof_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/receive_samples.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/semaphore_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/semaphore_destroy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/semaphore_signal.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/semaphore_signal_all.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/semaphore_wait.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/seqnos_notify_server.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_assign.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_assign_default.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_get_assignment.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_get_emulation_vector.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_get_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_get_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_policy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_resume.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_sample.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_emulation.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_emulation_vector.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_policy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_port_space.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_set_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_suspend.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_swap_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_terminate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_thread_times_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/task_threads.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_abort.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_abort_safely.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_activation_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_assign.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_assign_default.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_create.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_create_running.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_depress_abort.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_get_assignment.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_get_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_get_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_get_state.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_policy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_resume.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_sample.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_set_exception_ports.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_set_policy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_set_special_port.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_set_state.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_suspend.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_switch.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_terminate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/thread_wire.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/tvalspec.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_allocate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_behavior_set.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_copy.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_deallocate.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_inherit.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_machine_attribute.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_map.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_msync.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_protect.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_read.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_region.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_region_basic_info.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_remap.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_statistics.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_wire.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/man/vm_write.html#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ppc/lowmem_vectors.s#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ppc/machine_routines_asm.s#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ppc/mappings.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ppc/pmap.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#5 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/Makefile#2 (text+ko) ==== @@ -2,8 +2,8 @@ ifneq "$(word 6, $(shell gcc_select))" "3.3" $(error Build requires GCC version 3.3. Use 'gcc_select 3.3' to change.) endif -ifneq "$(shell uname -r)" "8.6.0" -$(error Build requires Mac OS X 10.4.6/Darwin 8.6) +ifneq "$(shell uname -r)" "8.7.0" +$(error Build requires Mac OS X 10.4.7/Darwin 8.7) endif include Makeconfig ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aes.h#2 (text+ko) ==== @@ -1,175 +1,175 @@ -/* - --------------------------------------------------------------------------- - Copyright (c) 2003, Dr Brian Gladman, Worcester, UK. All rights reserved. - - LICENSE TERMS - - The free distribution and use of this software in both source and binary - form is allowed (with or without changes) provided that: - - 1. distributions of this source code include the above copyright - notice, this list of conditions and the following disclaimer; - - 2. distributions in binary form include the above copyright - notice, this list of conditions and the following disclaimer - in the documentation and/or other associated materials; - - 3. the copyright holder's name is not used to endorse products - built using this software without specific written permission. - - ALTERNATIVELY, provided that this notice is retained in full, this product - may be distributed under the terms of the GNU General Public License (GPL), - in which case the provisions of the GPL apply INSTEAD OF those given above. - - DISCLAIMER - - This software is provided 'as is' with no explicit or implied warranties - in respect of its properties, including, but not limited to, correctness - and/or fitness for purpose. - --------------------------------------------------------------------------- - Issue 28/01/2004 - - This file contains the definitions required to use AES in C. See aesopt.h - for optimisation details. -*/ - -#if !defined( _AES_H ) -#define _AES_H - -/* This include is used to find 8 & 32 bit unsigned integer types */ -#include - -#if defined(__cplusplus) -extern "C" -{ -#endif - -#define AES_128 /* define if AES with 128 bit keys is needed */ -#define AES_192 /* define if AES with 192 bit keys is needed */ -#define AES_256 /* define if AES with 256 bit keys is needed */ -#define AES_VAR /* define if a variable key size is needed */ - -/* The following must also be set in assembler files if being used */ - -#define AES_ENCRYPT /* if support for encryption is needed */ -#define AES_DECRYPT /* if support for decryption is needed */ -//#define AES_ERR_CHK /* for parameter checks & error return codes */ - -#if UCHAR_MAX == 0xff /* an unsigned 8 bit type */ - typedef unsigned char aes_08t; -#else -# error Please define aes_08t as an 8-bit unsigned integer type in aes.h -#endif - -#if UINT_MAX == 4294967295 /* an unsigned 32 bit type */ - typedef unsigned int aes_32t; -#elif ULONG_MAX == 4294967295ul - typedef unsigned long aes_32t; -#else -# error Please define aes_32t as a 32-bit unsigned integer type in aes.h -#endif - -#define AES_BLOCK_SIZE 16 /* the AES block size in bytes */ -#define N_COLS 4 /* the number of columns in the state */ - -/* The key schedule length is 11, 13 or 15 16-byte blocks for 128, */ -/* 192 or 256-bit keys respectively. That is 176, 208 or 240 bytes */ -/* or 44, 52 or 60 32-bit words. For simplicity this code allocates */ -/* the maximum 60 word array for the key schedule for all key sizes */ - -#if defined( AES_VAR ) || defined( AES_256 ) -#define KS_LENGTH 60 -#elif defined( AES_192 ) -#define KS_LENGTH 52 -#else -#define KS_LENGTH 44 -#endif - -#if defined( AES_ERR_CHK ) -#define aes_ret int -#define aes_good 0 -#define aes_error -1 -#else -#define aes_ret void -#endif - -#if !defined( AES_DLL ) /* implement normal/DLL functions */ -#define aes_rval aes_ret -#else -#define aes_rval aes_ret __declspec(dllexport) _stdcall -#endif - -typedef struct -{ aes_32t ks[KS_LENGTH]; - aes_32t rn; -} aes_encrypt_ctx; - -typedef struct -{ aes_32t ks[KS_LENGTH]; - aes_32t rn; -} aes_decrypt_ctx; - -typedef struct -{ - aes_decrypt_ctx decrypt; - aes_encrypt_ctx encrypt; -} aes_ctx; - - -/* This routine must be called before first use if non-static */ -/* tables are being used */ - -void gen_tabs(void); - -/* The key length (klen) is input in bytes when it is in the range */ -/* 16 <= klen <= 32 or in bits when in the range 128 <= klen <= 256 */ - -#if defined( AES_ENCRYPT ) - -#if defined(AES_128) || defined(AES_VAR) -aes_rval aes_encrypt_key128(const unsigned char *in_key, aes_encrypt_ctx cx[1]); -#endif - -#if defined(AES_192) || defined(AES_VAR) -aes_rval aes_encrypt_key192(const unsigned char *in_key, aes_encrypt_ctx cx[1]); -#endif - -#if defined(AES_256) || defined(AES_VAR) -aes_rval aes_encrypt_key256(const unsigned char *in_key, aes_encrypt_ctx cx[1]); -#endif - -#if defined(AES_VAR) -aes_rval aes_encrypt_key(const unsigned char *in_key, int key_len, aes_encrypt_ctx cx[1]); -#endif - -aes_rval aes_encrypt_cbc(const unsigned char *in_blk, const unsigned char *in_iv, unsigned int num_blk, - unsigned char *out_blk, const aes_encrypt_ctx cx[1]); -#endif - -#if defined( AES_DECRYPT ) - -#if defined(AES_128) || defined(AES_VAR) -aes_rval aes_decrypt_key128(const unsigned char *in_key, aes_decrypt_ctx cx[1]); -#endif - -#if defined(AES_192) || defined(AES_VAR) -aes_rval aes_decrypt_key192(const unsigned char *in_key, aes_decrypt_ctx cx[1]); -#endif - -#if defined(AES_256) || defined(AES_VAR) -aes_rval aes_decrypt_key256(const unsigned char *in_key, aes_decrypt_ctx cx[1]); -#endif - -#if defined(AES_VAR) -aes_rval aes_decrypt_key(const unsigned char *in_key, int key_len, aes_decrypt_ctx cx[1]); -#endif - -aes_rval aes_decrypt_cbc(const unsigned char *in_blk, const unsigned char *in_iv, unsigned int num_blk, - unsigned char *out_blk, const aes_decrypt_ctx cx[1]); -#endif - -#if defined(__cplusplus) -} -#endif - -#endif +/* + --------------------------------------------------------------------------- + Copyright (c) 2003, Dr Brian Gladman, Worcester, UK. All rights reserved. + + LICENSE TERMS + + The free distribution and use of this software in both source and binary + form is allowed (with or without changes) provided that: + + 1. distributions of this source code include the above copyright + notice, this list of conditions and the following disclaimer; + + 2. distributions in binary form include the above copyright + notice, this list of conditions and the following disclaimer + in the documentation and/or other associated materials; + + 3. the copyright holder's name is not used to endorse products + built using this software without specific written permission. + + ALTERNATIVELY, provided that this notice is retained in full, this product + may be distributed under the terms of the GNU General Public License (GPL), + in which case the provisions of the GPL apply INSTEAD OF those given above. + + DISCLAIMER + + This software is provided 'as is' with no explicit or implied warranties + in respect of its properties, including, but not limited to, correctness + and/or fitness for purpose. + --------------------------------------------------------------------------- + Issue 28/01/2004 + + This file contains the definitions required to use AES in C. See aesopt.h + for optimisation details. +*/ + +#if !defined( _AES_H ) +#define _AES_H + +/* This include is used to find 8 & 32 bit unsigned integer types */ +#include + +#if defined(__cplusplus) +extern "C" +{ +#endif + +#define AES_128 /* define if AES with 128 bit keys is needed */ +#define AES_192 /* define if AES with 192 bit keys is needed */ +#define AES_256 /* define if AES with 256 bit keys is needed */ +#define AES_VAR /* define if a variable key size is needed */ + +/* The following must also be set in assembler files if being used */ + +#define AES_ENCRYPT /* if support for encryption is needed */ +#define AES_DECRYPT /* if support for decryption is needed */ +//#define AES_ERR_CHK /* for parameter checks & error return codes */ + +#if UCHAR_MAX == 0xff /* an unsigned 8 bit type */ + typedef unsigned char aes_08t; +#else +# error Please define aes_08t as an 8-bit unsigned integer type in aes.h +#endif + +#if UINT_MAX == 4294967295 /* an unsigned 32 bit type */ + typedef unsigned int aes_32t; +#elif ULONG_MAX == 4294967295ul + typedef unsigned long aes_32t; +#else +# error Please define aes_32t as a 32-bit unsigned integer type in aes.h +#endif + +#define AES_BLOCK_SIZE 16 /* the AES block size in bytes */ +#define N_COLS 4 /* the number of columns in the state */ + +/* The key schedule length is 11, 13 or 15 16-byte blocks for 128, */ +/* 192 or 256-bit keys respectively. That is 176, 208 or 240 bytes */ +/* or 44, 52 or 60 32-bit words. For simplicity this code allocates */ +/* the maximum 60 word array for the key schedule for all key sizes */ + +#if defined( AES_VAR ) || defined( AES_256 ) +#define KS_LENGTH 60 +#elif defined( AES_192 ) +#define KS_LENGTH 52 +#else +#define KS_LENGTH 44 +#endif + +#if defined( AES_ERR_CHK ) +#define aes_ret int +#define aes_good 0 +#define aes_error -1 +#else +#define aes_ret void +#endif + +#if !defined( AES_DLL ) /* implement normal/DLL functions */ +#define aes_rval aes_ret +#else +#define aes_rval aes_ret __declspec(dllexport) _stdcall +#endif + +typedef struct +{ aes_32t ks[KS_LENGTH]; + aes_32t rn; +} aes_encrypt_ctx; + +typedef struct +{ aes_32t ks[KS_LENGTH]; + aes_32t rn; +} aes_decrypt_ctx; + +typedef struct +{ + aes_decrypt_ctx decrypt; + aes_encrypt_ctx encrypt; +} aes_ctx; + + +/* This routine must be called before first use if non-static */ +/* tables are being used */ + +void gen_tabs(void); + +/* The key length (klen) is input in bytes when it is in the range */ +/* 16 <= klen <= 32 or in bits when in the range 128 <= klen <= 256 */ + +#if defined( AES_ENCRYPT ) + +#if defined(AES_128) || defined(AES_VAR) +aes_rval aes_encrypt_key128(const unsigned char *in_key, aes_encrypt_ctx cx[1]); +#endif + +#if defined(AES_192) || defined(AES_VAR) +aes_rval aes_encrypt_key192(const unsigned char *in_key, aes_encrypt_ctx cx[1]); +#endif + +#if defined(AES_256) || defined(AES_VAR) +aes_rval aes_encrypt_key256(const unsigned char *in_key, aes_encrypt_ctx cx[1]); +#endif + +#if defined(AES_VAR) +aes_rval aes_encrypt_key(const unsigned char *in_key, int key_len, aes_encrypt_ctx cx[1]); +#endif + +aes_rval aes_encrypt_cbc(const unsigned char *in_blk, const unsigned char *in_iv, unsigned int num_blk, + unsigned char *out_blk, const aes_encrypt_ctx cx[1]); +#endif + +#if defined( AES_DECRYPT ) + +#if defined(AES_128) || defined(AES_VAR) +aes_rval aes_decrypt_key128(const unsigned char *in_key, aes_decrypt_ctx cx[1]); +#endif + +#if defined(AES_192) || defined(AES_VAR) +aes_rval aes_decrypt_key192(const unsigned char *in_key, aes_decrypt_ctx cx[1]); +#endif + +#if defined(AES_256) || defined(AES_VAR) +aes_rval aes_decrypt_key256(const unsigned char *in_key, aes_decrypt_ctx cx[1]); +#endif + +#if defined(AES_VAR) +aes_rval aes_decrypt_key(const unsigned char *in_key, int key_len, aes_decrypt_ctx cx[1]); +#endif + +aes_rval aes_decrypt_cbc(const unsigned char *in_blk, const unsigned char *in_iv, unsigned int num_blk, + unsigned char *out_blk, const aes_decrypt_ctx cx[1]); +#endif + +#if defined(__cplusplus) +} +#endif + +#endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/crypto/aes/aescrypt.c#2 (text+ko) ==== @@ -1,411 +1,411 @@ -/* - --------------------------------------------------------------------------- - Copyright (c) 2003, Dr Brian Gladman, Worcester, UK. All rights reserved. - - LICENSE TERMS - - The free distribution and use of this software in both source and binary - form is allowed (with or without changes) provided that: - - 1. distributions of this source code include the above copyright - notice, this list of conditions and the following disclaimer; - - 2. distributions in binary form include the above copyright - notice, this list of conditions and the following disclaimer - in the documentation and/or other associated materials; - - 3. the copyright holder's name is not used to endorse products - built using this software without specific written permission. - - ALTERNATIVELY, provided that this notice is retained in full, this product - may be distributed under the terms of the GNU General Public License (GPL), - in which case the provisions of the GPL apply INSTEAD OF those given above. - - DISCLAIMER - - This software is provided 'as is' with no explicit or implied warranties - in respect of its properties, including, but not limited to, correctness - and/or fitness for purpose. - --------------------------------------------------------------------------- - Issue 28/01/2004 - - This file contains the code for implementing encryption and decryption - for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It - can optionally be replaced by code written in assembler using NASM. For - further details see the file aesopt.h -*/ - -#include "aesopt.h" -#include "aestab.h" - -#if defined(__cplusplus) -extern "C" -{ -#endif - -#define ki(y,x,k,c) (s(y,c) = s(x, c) ^ (k)[c]) -#define xo(y,x,c) (s(y,c) ^= s(x, c)) -#define si(y,x,c) (s(y,c) = word_in(x, c)) -#define so(y,x,c) word_out(y, c, s(x,c)) - -#if defined(ARRAYS) -#define locals(y,x) x[4],y[4] -#else -#define locals(y,x) x##0,x##1,x##2,x##3,y##0,y##1,y##2,y##3 -#endif - -#define dtables(tab) const aes_32t *tab##0, *tab##1, *tab##2, *tab##3 -#define itables(tab) tab##0 = tab[0]; tab##1 = tab[1]; tab##2 = tab[2]; tab##3 = tab[3] - -#define l_copy(y, x) s(y,0) = s(x,0); s(y,1) = s(x,1); \ - s(y,2) = s(x,2); s(y,3) = s(x,3); - -#define key_in(y,x,k) ki(y,x,k,0); ki(y,x,k,1); ki(y,x,k,2); ki(y,x,k,3) -#define cbc(y,x) xo(y,x,0); xo(y,x,1); xo(y,x,2); xo(y,x,3) -#define state_in(y,x) si(y,x,0); si(y,x,1); si(y,x,2); si(y,x,3) -#define state_out(y,x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3) -#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3) - -#if defined(ENCRYPTION) && !defined(AES_ASM) - -/* Visual C++ .Net v7.1 provides the fastest encryption code when using - Pentium optimiation with small code but this is poor for decryption - so we need to control this with the following VC++ pragmas -*/ - -#if defined(_MSC_VER) -#pragma optimize( "s", on ) -#endif - -/* Given the column (c) of the output state variable, the following - macros give the input state variables which are needed in its - computation for each row (r) of the state. All the alternative - macros give the same end values but expand into different ways - of calculating these values. In particular the complex macro - used for dynamically variable block sizes is designed to expand - to a compile time constant whenever possible but will expand to - conditional clauses on some branches (I am grateful to Frank - Yellin for this construction) -*/ - -#define fwd_var(x,r,c)\ - ( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\ - : r == 1 ? ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0))\ - : r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\ - : ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2))) - -#if defined(FT4_SET) -#undef dec_fmvars -# if defined(ENC_ROUND_CACHE_TABLES) -#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_cached_tables(x,t_fn,fwd_var,rf1,c)) -# else -#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_fn,fwd_var,rf1,c)) -# endif -#elif defined(FT1_SET) -#undef dec_fmvars -#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_fn,fwd_var,rf1,c)) -#else -#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ fwd_mcol(no_table(x,t_sbox,fwd_var,rf1,c))) -#endif - -#if defined(FL4_SET) -# if defined(LAST_ENC_ROUND_CACHE_TABLES) -#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_cached_tables(x,t_fl,fwd_var,rf1,c)) -# else -#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_fl,fwd_var,rf1,c)) -# endif -#elif defined(FL1_SET) -#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_fl,fwd_var,rf1,c)) -#else -#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_sbox,fwd_var,rf1,c)) -#endif - -aes_rval aes_encrypt_cbc(const unsigned char *in, const unsigned char *in_iv, unsigned int num_blk, - unsigned char *out, const aes_encrypt_ctx cx[1]) -{ aes_32t locals(b0, b1); - const aes_32t *kp; - const aes_32t *kptr = cx->ks; -#if defined(ENC_ROUND_CACHE_TABLES) - dtables(t_fn); -#endif -#if defined(LAST_ENC_ROUND_CACHE_TABLES) - dtables(t_fl); -#endif - -#if defined( dec_fmvars ) - dec_fmvars; /* declare variables for fwd_mcol() if needed */ -#endif - -#if defined( AES_ERR_CHK ) - if( cx->rn != 10 && cx->rn != 12 && cx->rn != 14 ) - return aes_error; -#endif - - // Load IV into b0. - state_in(b0, in_iv); - - for (;num_blk; in += AES_BLOCK_SIZE, out += AES_BLOCK_SIZE, --num_blk) - { - kp = kptr; -#if 0 - // Read the plaintext into b1 - state_in(b1, in); - // Do the CBC with b0 which is either the iv or the ciphertext of the previous block. - cbc(b1, b0); - - // Xor b1 with the key schedule to get things started. - key_in(b0, b1, kp); -#else - // Since xor is associative we mess with the ordering here to get the loads started early - key_in(b1, b0, kp); // Xor b0(IV) with the key schedule and assign to b1 - state_in(b0, in); // Load block into b0 - cbc(b0, b1); // Xor b0 with b1 and store in b0 -#endif - -#if defined(ENC_ROUND_CACHE_TABLES) - itables(t_fn); -#endif - -#if (ENC_UNROLL == FULL) - - switch(cx->rn) - { - case 14: - round(fwd_rnd, b1, b0, kp + 1 * N_COLS); - round(fwd_rnd, b0, b1, kp + 2 * N_COLS); - kp += 2 * N_COLS; - case 12: - round(fwd_rnd, b1, b0, kp + 1 * N_COLS); - round(fwd_rnd, b0, b1, kp + 2 * N_COLS); - kp += 2 * N_COLS; - case 10: - default: - round(fwd_rnd, b1, b0, kp + 1 * N_COLS); - round(fwd_rnd, b0, b1, kp + 2 * N_COLS); - round(fwd_rnd, b1, b0, kp + 3 * N_COLS); - round(fwd_rnd, b0, b1, kp + 4 * N_COLS); - round(fwd_rnd, b1, b0, kp + 5 * N_COLS); - round(fwd_rnd, b0, b1, kp + 6 * N_COLS); - round(fwd_rnd, b1, b0, kp + 7 * N_COLS); - round(fwd_rnd, b0, b1, kp + 8 * N_COLS); - round(fwd_rnd, b1, b0, kp + 9 * N_COLS); -#if defined(LAST_ENC_ROUND_CACHE_TABLES) - itables(t_fl); -#endif - round(fwd_lrnd, b0, b1, kp +10 * N_COLS); - } - -#else - - { aes_32t rnd; -#if (ENC_UNROLL == PARTIAL) - for(rnd = 0; rnd < (cx->rn >> 1) - 1; ++rnd) - { - kp += N_COLS; - round(fwd_rnd, b1, b0, kp); - kp += N_COLS; - round(fwd_rnd, b0, b1, kp); - } - kp += N_COLS; - round(fwd_rnd, b1, b0, kp); -#else - for(rnd = 0; rnd < cx->rn - 1; ++rnd) - { - kp += N_COLS; - round(fwd_rnd, b1, b0, kp); - l_copy(b0, b1); - } -#endif -#if defined(LAST_ENC_ROUND_CACHE_TABLES) - itables(t_fl); -#endif - kp += N_COLS; - round(fwd_lrnd, b0, b1, kp); - } -#endif - - state_out(out, b0); - } - -#if defined( AES_ERR_CHK ) - return aes_good; -#endif -} - -#endif - -#if defined(DECRYPTION) && !defined(AES_ASM) - -/* Visual C++ .Net v7.1 provides the fastest encryption code when using - Pentium optimiation with small code but this is poor for decryption - so we need to control this with the following VC++ pragmas -*/ - -#if defined(_MSC_VER) -#pragma optimize( "t", on ) -#endif - -/* Given the column (c) of the output state variable, the following - macros give the input state variables which are needed in its - computation for each row (r) of the state. All the alternative - macros give the same end values but expand into different ways - of calculating these values. In particular the complex macro - used for dynamically variable block sizes is designed to expand - to a compile time constant whenever possible but will expand to - conditional clauses on some branches (I am grateful to Frank - Yellin for this construction) -*/ - -#define inv_var(x,r,c)\ - ( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\ - : r == 1 ? ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2))\ - : r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\ - : ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0))) - -#if defined(IT4_SET) -#undef dec_imvars -# if defined(DEC_ROUND_CACHE_TABLES) -#define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_cached_tables(x,t_in,inv_var,rf1,c)) -# else -#define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_in,inv_var,rf1,c)) -# endif -#elif defined(IT1_SET) -#undef dec_imvars -#define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_in,inv_var,rf1,c)) -#else -#define inv_rnd(y,x,k,c) (s(y,c) = inv_mcol((k)[c] ^ no_table(x,t_ibox,inv_var,rf1,c))) -#endif - -#if defined(IL4_SET) -# if defined(LAST_DEC_ROUND_CACHE_TABLES) -#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_cached_tables(x,t_il,inv_var,rf1,c)) -# else -#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_il,inv_var,rf1,c)) -# endif -#elif defined(IL1_SET) -#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_il,inv_var,rf1,c)) -#else -#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_ibox,inv_var,rf1,c)) -#endif - -aes_rval aes_decrypt_cbc(const unsigned char *in, const unsigned char *in_iv, unsigned int num_blk, - unsigned char *out, const aes_decrypt_ctx cx[1]) -{ aes_32t locals(b0, b1); - const aes_32t *kptr = cx->ks + cx->rn * N_COLS; - const aes_32t *kp; -#if defined(DEC_ROUND_CACHE_TABLES) - dtables(t_in); -#endif -#if defined(LAST_DEC_ROUND_CACHE_TABLES) - dtables(t_il); -#endif - -#if defined( dec_imvars ) - dec_imvars; /* declare variables for inv_mcol() if needed */ -#endif - -#if defined( AES_ERR_CHK ) - if( cx->rn != 10 && cx->rn != 12 && cx->rn != 14 ) - return aes_error; -#endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 20:55:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CCED16A4DF; Wed, 30 Aug 2006 20:55:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AFC016A4DA for ; Wed, 30 Aug 2006 20:55:25 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F066043D5C for ; Wed, 30 Aug 2006 20:55:24 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UKtOB8033324 for ; Wed, 30 Aug 2006 20:55:24 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UKtOMr033321 for perforce@freebsd.org; Wed, 30 Aug 2006 20:55:24 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 20:55:24 GMT Message-Id: <200608302055.k7UKtOMr033321@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105360 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 20:55:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=105360 Change 105360 by millert@millert_g4tower on 2006/08/30 20:55:04 Simplify the awk and grep calls further and make it a bit more bullet-proof. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/count/Makefile#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stacktrace/module/Makefile#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stub/Makefile#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/count/Makefile#3 (text+ko) ==== @@ -15,44 +15,27 @@ policy.in: $(EXPORT_HDRS)/security/security/mac_policy.h @cpp $(DARWIN_HDRS) -P $< \ - | grep -v ^\$ \ - | awk 'RS=";" { if ($$1 == "typedef" && $$0 ~ /\(/) { print $$0";" } }' \ - | tr -d "\n\t" \ - | tr ";" "\n" \ - | sed -e 's/typedef //g' \ - -e 's/,/, /g' \ - -e 's/_t(/ (/g' \ - -e 's/ mpo_/ /g' \ + | awk 'BEGIN {RS=";"} /typedef.*mpo_.*_t/ { \ + gsub("[\n\t]", ""); sub("typedef *", ""); \ + gsub(", *", ", "); sub("_t *\\\( *", " \("); \ + sub(" *mpo_", " "); print }' \ > $@ count_decls.h: policy.in - @cat $< \ - | grep -v \ - -e ' destroy ' \ - -e ' init_bsd ' \ - -e ' init ' \ + @egrep -v ' (destroy|init(_bsd)?) ' $< \ | awk -f mk_count_decls.awk \ > $@ count_reg.h: policy.in - @cat $< \ - | grep -v \ - -e ' destroy ' \ - -e ' init_bsd ' \ - -e ' init ' \ + @egrep -v ' (destroy|init(_bsd)?) ' $< \ | awk -f mk_count_reg.awk \ > $@ count_funcs.h: policy.in - @cat $< \ - | grep -v \ - -e ' destroy ' \ - -e ' init_bsd ' \ - -e ' init ' \ + @egrep -v ' (destroy|init(_bsd)?) ' $< \ | awk -f mk_count_funcs.awk \ > $@ count_policy_ops.h: policy.in - @cat $< \ - | awk -f mk_count_policy_ops.awk \ + @awk -f mk_count_policy_ops.awk < $< \ > $@ ==== //depot/projects/trustedbsd/sedarwin8/policies/stacktrace/module/Makefile#3 (text+ko) ==== @@ -17,36 +17,27 @@ policy.in: $(EXPORT_HDRS)/security/security/mac_policy.h @cpp $(DARWIN_HDRS) -P $< \ - | grep -v ^\$ \ - | awk 'RS=";" { if ($$1 == "typedef" && $$0 ~ /\(/) { print $$0";" } }' \ - | tr -d "\n\t" \ - | tr ";" "\n" \ - | sed -e 's/typedef //g' \ - -e 's/,/, /g' \ - -e 's/_t(/ (/g' \ - -e 's/ mpo_/ /g' \ + | awk 'BEGIN {RS=";"} /typedef.*mpo_.*_t/ { \ + gsub("[\n\t]", ""); sub("typedef *", ""); \ + gsub(", *", ", "); sub("_t *\\\( *", " \("); \ + sub(" *mpo_", " "); print }' \ > $@ stubs.in: policy.in - @cat $< \ - | grep -v init_bsd \ - | grep -v syscall \ + @egrep -v ' (init_bsd|syscall) ' $< \ | awk -f mk_stubs.awk \ > $@ trace.in: policy.in - @cat $< \ - | grep -v syscall \ + @grep -v ' syscall ' $< \ | awk -f mk_trace.awk \ > $@ funcnames.in: policy.in - @cat $< \ - | grep -v syscall \ + @grep -v ' syscall ' $< \ | awk '{if (NR != 1) { printf ",\n" } printf "\t\"" $$2 "\""}' \ > $@ policy_ops.in: policy.in - @cat $< \ - | awk -f mk_policy_ops.awk \ + @awk -f mk_policy_ops.awk < $< \ > $@ ==== //depot/projects/trustedbsd/sedarwin8/policies/stub/Makefile#3 (text+ko) ==== @@ -14,22 +14,16 @@ policy.in: $(EXPORT_HDRS)/security/security/mac_policy.h @cpp $(DARWIN_HDRS) -P $< \ - | grep -v ^\$ \ - | awk 'RS=";" { if ($$1 == "typedef" && $$0 ~ /\(/) { print $$0";" } }' \ - | tr -d "\n\t" \ - | tr ";" "\n" \ - | sed -e 's/typedef //g' \ - -e 's/,/, /g' \ - -e 's/_t(/ (/g' \ - -e 's/ mpo_/ /g' \ + | awk 'BEGIN {RS=";"} /typedef.*mpo_.*_t/ { \ + gsub("[\n\t]", ""); sub("typedef *", ""); \ + gsub(", *", ", "); sub("_t *\\\( *", " \("); \ + sub(" *mpo_", " "); print }' \ > $@ stub_funcs.h: policy.in - @cat $< \ - | awk -f mk_stub_funcs.awk \ + @awk -f mk_stub_funcs.awk < $< \ > $@ stub_policy_ops.h: policy.in - @cat $< \ - | awk -f mk_stub_policy_ops.awk \ + @awk -f mk_stub_policy_ops.awk < $< \ > $@ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:00:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 56C5016A4E0; Wed, 30 Aug 2006 21:00:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 30B1516A4DD for ; Wed, 30 Aug 2006 21:00:33 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8C2943D45 for ; Wed, 30 Aug 2006 21:00:32 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UL0Wvn033613 for ; Wed, 30 Aug 2006 21:00:32 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UL0VRe033610 for perforce@freebsd.org; Wed, 30 Aug 2006 21:00:31 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:00:31 GMT Message-Id: <200608302100.k7UL0VRe033610@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105361 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:00:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105361 Change 105361 by millert@millert_g4tower on 2006/08/30 21:00:07 Split the MAC Framework kernel interface (the mac_foo routines) out into a separate header file, mac_framework.h. This mirrors a similar change in the TrustedBSD mac2 branch. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/audit_kernel.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_acct.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_bsm_audit.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_credential.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exec.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exit.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_fork.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_prot.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_time.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_socket.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_sem.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_shm.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf2.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_socket.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_usrreq.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfs_tree.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfsdefs.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bpf.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bsd_comp.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/dlil.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/ppp_deflate.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/igmp.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_mroute.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_output.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/raw_ip.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_input.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_output.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_subr.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_mroute.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/mld6.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_syscalls.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_vfsops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/kpi_vfs.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_attrlist.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_init.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_lookup.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_subr.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_vnops.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_xattr.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vm/dp_backing_file.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_framework.h#1 add Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/audit_kernel.h#2 (text+ko) ==== @@ -32,7 +32,7 @@ #ifdef MAC #include -#include +#include #endif #ifdef KERNEL ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#3 (text+ko) ==== @@ -124,7 +124,7 @@ #include #ifdef MAC -#include +#include #endif extern int app_profile; /* on/off switch for pre-heat cache */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_acct.c#2 (text+ko) ==== @@ -89,7 +89,7 @@ #include #include #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#2 (text+ko) ==== @@ -69,6 +69,7 @@ #ifdef MAC #include +#include #include #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_bsm_audit.c#2 (text+ko) ==== @@ -50,7 +50,7 @@ #include #ifdef MAC -#include +#include #endif /* The number of BSM records allocated. */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_credential.c#2 (text+ko) ==== @@ -61,7 +61,7 @@ #include #ifdef MAC -#include +#include #endif #define CRED_DIAGNOSTIC 1 ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exec.c#2 (text+ko) ==== @@ -110,7 +110,7 @@ #include #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exit.c#2 (text+ko) ==== @@ -112,7 +112,7 @@ #endif #ifdef MAC -#include +#include #include #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_fork.c#2 (text+ko) ==== @@ -101,7 +101,7 @@ #include #ifdef MAC -#include +#include #endif #include // for vm_map_commpage64 ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#2 (text+ko) ==== @@ -90,7 +90,7 @@ #include #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_prot.c#3 (text+ko) ==== @@ -94,7 +94,7 @@ #endif #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_time.c#2 (text+ko) ==== @@ -76,7 +76,7 @@ #include #include #ifdef MAC -#include +#include #endif #define HZ 100 /* XXX */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#3 (text+ko) ==== @@ -78,7 +78,7 @@ #include #include #ifdef MAC -#include +#include #endif int ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_socket.c#2 (text+ko) ==== @@ -79,7 +79,7 @@ #include #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_sem.c#3 (text+ko) ==== @@ -53,7 +53,7 @@ #include #include #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_shm.c#3 (text+ko) ==== @@ -74,7 +74,7 @@ #include #include #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf.c#2 (text+ko) ==== @@ -88,7 +88,7 @@ #include #ifdef MAC -#include +#include #endif extern vm_offset_t kmem_mb_alloc(vm_map_t , int ); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf2.c#2 (text+ko) ==== @@ -106,7 +106,7 @@ #endif #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_socket.c#2 (text+ko) ==== @@ -94,6 +94,7 @@ #ifdef MAC #include +#include #endif int so_cache_hw = 0; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_usrreq.c#3 (text+ko) ==== @@ -87,7 +87,7 @@ #include #ifdef MAC -#include +#include #endif #define f_msgcount f_fglob->fg_msgcount ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfs_tree.c#2 (text+ko) ==== @@ -97,7 +97,7 @@ #include "devfsdefs.h" #ifdef MAC -#include +#include #endif static void devfs_release_busy(devnode_t *); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfsdefs.h#2 (text+ko) ==== @@ -66,7 +66,7 @@ #include -#include +#include #ifdef __APPLE_API_PRIVATE #define DEVMAXNAMESIZE 32 /* XXX */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bpf.c#2 (text+ko) ==== @@ -114,7 +114,7 @@ #include #ifdef MAC -#include +#include #endif extern int tvtohz(struct timeval *); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bsd_comp.c#2 (text+ko) ==== @@ -79,7 +79,7 @@ #include #ifdef MAC -#include +#include #endif #if DO_BSD_COMPRESS ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/dlil.c#2 (text+ko) ==== @@ -63,7 +63,7 @@ #include #ifdef MAC -#include +#include #endif #define DBG_LAYER_BEG DLILDBG_CODE(DBG_DLIL_STATIC, 0) ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/ppp_deflate.c#2 (text+ko) ==== @@ -65,7 +65,7 @@ #include #ifdef MAC -#include +#include #endif #if DO_DEFLATE ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/igmp.c#2 (text+ko) ==== @@ -96,7 +96,7 @@ #include #ifdef MAC -#include +#include #endif #ifndef __APPLE__ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#3 (text+ko) ==== @@ -98,7 +98,7 @@ #endif #ifdef MAC -#include +#include #endif /* XXX This one should go in sys/mbuf.h. It is used to avoid that ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_mroute.c#2 (text+ko) ==== @@ -63,7 +63,7 @@ #include #ifdef MAC -#include +#include #endif #ifndef NTOHL ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_output.c#2 (text+ko) ==== @@ -87,7 +87,7 @@ #include #ifdef MAC -#include +#include #endif #include "faith.h" ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/raw_ip.c#2 (text+ko) ==== @@ -99,7 +99,7 @@ #endif #ifdef MAC -#include +#include #endif #if IPSEC ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_input.c#2 (text+ko) ==== @@ -118,7 +118,7 @@ #endif /*IPSEC*/ #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_output.c#2 (text+ko) ==== @@ -103,7 +103,7 @@ #endif /*IPSEC*/ #ifdef MAC -#include +#include #endif #define DBG_LAYER_BEG NETDBG_CODE(DBG_NETTCP, 1) ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_subr.c#2 (text+ko) ==== @@ -123,7 +123,7 @@ #endif /*IPSEC*/ #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_mroute.c#2 (text+ko) ==== @@ -80,7 +80,7 @@ #include #ifdef MAC -#include +#include #endif #ifndef __APPLE__ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#3 (text+ko) ==== @@ -108,7 +108,7 @@ #endif /* IPSEC */ #ifdef MAC -#include +#include #endif #include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/mld6.c#2 (text+ko) ==== @@ -94,7 +94,7 @@ #include #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_syscalls.c#3 (text+ko) ==== @@ -114,7 +114,7 @@ #include #include #ifdef MAC -#include +#include #endif extern void unix_syscall_return(int); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_vfsops.c#2 (text+ko) ==== @@ -104,7 +104,7 @@ #include #include #ifdef MAC -#include +#include #endif extern int nfs_mountroot(void); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/kpi_vfs.c#2 (text+ko) ==== @@ -108,7 +108,7 @@ #include #ifdef MAC -#include +#include #endif #define ESUCCESS 0 ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_attrlist.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #include #ifdef MAC -#include +#include #endif #define ATTR_TIME_SIZE -1 ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_init.c#2 (text+ko) ==== @@ -79,7 +79,7 @@ #include #ifdef MAC -#include +#include #include #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_lookup.c#2 (text+ko) ==== @@ -86,7 +86,7 @@ #include #ifdef MAC -#include +#include #endif #if KTRACE ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_subr.c#2 (text+ko) ==== @@ -112,7 +112,7 @@ #include #ifdef MAC -#include +#include #endif extern lck_grp_t *vnode_lck_grp; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#5 (text+ko) ==== @@ -107,6 +107,7 @@ #ifdef MAC #include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_vnops.c#3 (text+ko) ==== @@ -95,7 +95,7 @@ #include #ifdef MAC -#include +#include #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_xattr.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include #ifdef MAC -#include +#include #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vm/dp_backing_file.c#3 (text+ko) ==== @@ -64,7 +64,7 @@ #include #include #ifdef MAC -#include +#include #endif extern thread_t current_act(void); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/Makefile#2 (text+ko) ==== @@ -23,6 +23,7 @@ mac.h \ mac_alloc.h \ mac_data.h \ + mac_framework.h \ mac_policy.h \ mac_mach_internal.h \ mac_internal.h ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac.h#6 (text+ko) ==== @@ -1,7 +1,7 @@ /*- * Copyright (c) 1999-2002 Robert N. M. Watson * Copyright (c) 2001-2005 Networks Associates Technology, Inc. - * Copyright (c) 2005 SPARTA, Inc. + * Copyright (c) 2005-2006 SPARTA, Inc. * All rights reserved. * * This software was developed by Robert Watson for the TrustedBSD Project. @@ -11,6 +11,9 @@ * Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), * as part of the DARPA CHATS research program. * + * This software was enhanced by SPARTA ISSO under SPAWAR contract + * N66001-04-C-6019 ("SEFOS"). + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -35,7 +38,7 @@ * $FreeBSD: src/sys/sys/mac.h,v 1.40 2003/04/18 19:57:37 rwatson Exp $ */ /* - * Userland/kernel interface for Mandatory Access Control. + * Userland interface for Mandatory Access Control. * * The POSIX.1e implementation page may be reached at: * http://www.trustedbsd.org/ @@ -65,7 +68,6 @@ typedef struct mac *mac_t; #ifndef KERNEL - /* * Location of the userland MAC framework configuration file. mac.conf * binds policy names to shared libraries that understand those policies, @@ -104,433 +106,6 @@ int mac_syscall(const char *_policyname, int _call, void *_arg); int mac_to_text(mac_t mac, char **_text); __END_DECLS - -#else /* _KERNEL */ - -#ifdef MAC - -/* - * Kernel functions to manage and evaluate labels. - */ -struct auditinfo; -struct attrlist; -struct bpf_d; -struct componentname; -struct devnode; -struct fileproc; -struct ifnet; -struct lctx; -struct mount; -struct pseminfo; -struct pshminfo; -struct proc; -struct semid_kernel; -struct shmid_kernel; -struct uthread; -struct timespec; -struct ucred; -struct uio; -struct vnode_attr; -struct vnode; -struct socket; -struct sockaddr; -struct mbuf; -struct m_tag; -struct vop_setlabel_args; -struct pipe; - -/* - * Framework initialization. - */ -void mac_init_bsd(void); - -/* - * Label operations. - */ -void mac_init_cred(struct ucred *); -void mac_init_devfsdirent(struct devnode *); -int mac_init_mbuf(struct mbuf *, int); -int mac_init_mbuf_tag(struct m_tag *, int); -void mac_init_mount(struct mount *); -void mac_init_pipe(struct pipe *cpipe); -void mac_init_posix_sem(struct pseminfo *); -void mac_init_posix_shm(struct pshminfo *); -void mac_init_proc(struct proc *); -int mac_init_socket(struct socket *, int waitok); -void mac_init_sysv_msgmsg(struct msg *); -void mac_init_sysv_msgqueue(struct label *); -void mac_init_sysv_sem(struct semid_kernel*); -void mac_init_sysv_shm(struct shmid_kernel*); -void mac_init_vnode(struct vnode *vp); -void mac_copy_vnode_label(struct label *, struct label *label); -void mac_copy_devfs_label(struct label *, struct label *label); -void mac_copy_mbuf_tag(struct m_tag *, struct m_tag *); -void mac_copy_mbuf(struct mbuf *m_from, struct mbuf *m_to); -void mac_copy_socket_label(struct label *from, struct label *to); -void mac_destroy_cred(struct ucred *); -void mac_destroy_devfsdirent(struct devnode *); -void mac_destroy_mbuf(struct mbuf *); -void mac_destroy_mbuf_tag(struct m_tag *); -void mac_destroy_mount(struct mount *); -void mac_destroy_pipe(struct pipe *cpipe); -void mac_destroy_posix_sem(struct pseminfo *); -void mac_destroy_posix_shm(struct pshminfo *); -void mac_destroy_proc(struct proc *); -void mac_destroy_socket(struct socket *); -void mac_destroy_sysv_sem(struct semid_kernel *); -void mac_destroy_sysv_shm(struct shmid_kernel *); -void mac_destroy_vnode(struct vnode *); -int mac_internalize_mount_label(struct label *, char *string); -int mac_externalize_mount_label(struct label *label, char *elements, - char *outbuf, size_t outbuflen); - -struct label *mac_cred_label_alloc(void); -void mac_cred_label_free(struct label *label); -int mac_get_cred_audit_labels(struct proc *p, struct mac *mac); -struct label *mac_vnode_label_alloc(void); -void mac_vnode_label_free(struct label *label); -int mac_get_vnode_audit_labels(struct vnode *vp, - struct mac *mac); -struct label *mac_lctx_label_alloc(void); -void mac_lctx_label_free(struct label *label); - -#define mac_update_task_from_cred(cred, task) \ - mac_update_task_label(((cred)->cr_label), task) - -/* - * Labeling event operations: file system objects, and things that - * look a lot like file system objects. - */ -void mac_associate_vnode_devfs(struct mount *mp, struct devnode *de, - struct vnode *vp); -int mac_associate_vnode_extattr(struct mount *mp, struct vnode *vp); -void mac_associate_vnode_singlelabel(struct mount *mp, struct vnode *vp); -void mac_create_devfs_device(struct ucred *cr, struct mount *mp, dev_t dev, - struct devnode *de, const char *fullpath); -void mac_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devnode *de, const char *fullpath); -void mac_create_devfs_symlink(struct ucred *cred, struct mount *mp, - struct devnode *dd, struct devnode *de, - const char *fullpath); -int mac_create_vnode_extattr(struct ucred *cred, struct mount *mp, - struct vnode *dvp, struct vnode *vp, struct componentname *cnp); -void mac_create_mount(struct ucred *cred, struct mount *mp); -void mac_relabel_vnode(struct ucred *cred, struct vnode *vp, - struct label *newlabel); -void mac_update_vnode_extattr(struct mount *mp, struct vnode *vp, - const char *name); -void mac_update_devfsdirent(struct mount *mp, struct devnode *de, - struct vnode *vp); - -#define VNODE_LABEL_CREATE 1 -#define VNODE_LABEL_NEEDREF 2 -int vnode_label(struct mount *mp, struct vnode *dvp, struct vnode *vp, - struct componentname *cnp, int flags, vfs_context_t ctx); - -/* - * Labeling event operations: Posix IPC primitives - */ -void mac_create_posix_sem(struct ucred *cred, struct pseminfo *psem, - const char *name); -void mac_create_posix_shm(struct ucred *cred, struct pshminfo *pshm, - const char *name); - -/* - * Labeling event operations: sockets and network IPC - * - * Note: all functions involving sockets (and other network objects yet to be - * implemented) hold (and rely on) the NETWORK_FUNNEL as opposed to the - * KERNEL_FUNNEL. When reading/writing kernel network objects, be sure to - * hold the NETWORK_FUNNEL. When reading/writing other types of kernel - * objects (vnode for example), be sure to hold the KERNEL_FUNNEL. - * - * XXX: Note that cred can be NULL in mac_create_socket() in Darwin. - */ -void mac_create_socket(struct ucred *cred, struct socket *so); -void mac_create_socket_from_socket(struct socket *oldsocket, - struct socket *newsocket); -void mac_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct mbuf *m); -void mac_create_mbuf_from_ifnet(struct ifnet *ifp, struct mbuf *m); -void mac_create_mbuf_from_socket(struct socket *so, struct mbuf *m); -void mac_set_socket_peer_from_socket(struct socket *peersocket, - struct socket *socket_to_modify); - -/* - * Labeling event operations: System V IPC primitives - */ -void mac_create_sysv_msgmsg(struct ucred *cred, - struct msqid_kernel *msqptr, struct msg *msgptr); -void mac_create_sysv_msgqueue(struct ucred *cred, - struct msqid_kernel *msqptr); -void mac_create_sysv_sem(struct ucred *cred, - struct semid_kernel *semakptr); -void mac_create_sysv_shm(struct ucred *cred, - struct shmid_kernel *shmsegptr); - -/* - * Labeling event operations: processes. - */ -void mac_relabel_cred(struct ucred *cred, struct label *newlabel); -void mac_create_cred(struct ucred *cred_parent, struct ucred *cred_child); -int mac_execve_enter(user_addr_t mac_p, struct label *execlabel); -#if 0 -void mac_execve_exit(struct image_params *imgp); #endif -void mac_execve_transition(struct ucred *old, struct ucred *newcred, - struct vnode *vp, struct label *scriptvnodelabel, - struct label *execlabel); -int mac_execve_will_transition(struct ucred *old, struct vnode *vp, - struct label *scriptvnodelabel, struct label *execlabel, - struct proc *p); -void mac_create_proc0(struct ucred *cred); -void mac_create_proc1(struct ucred *cred); -#if 0 -void mac_thread_userret(struct uthread *td); -#endif - -void mac_relabel_lctx(struct lctx *l, struct label *newlabel); - -/* - * Labeling operations for pipes. - */ -struct label *mac_pipe_label_alloc(void); -void mac_pipe_label_free(struct label *label); -void mac_copy_pipe_label(struct label *src, struct label *dest); -void mac_create_pipe(struct ucred *cred, struct pipe *cpipe); -int mac_pipe_label_set(struct ucred *cred, struct pipe *cpipe, - struct label *label); - -/* - * Label cleanup operation: This is the inverse complement for the mac_create - * and associate type of hooks. This hook lets the policy module(s) perform - * a cleanup/flushing operation on the label associated with the objects, - * without freeing up the space allocated. This hook is useful in cases - * where it is desirable to remove any labeling reference when recycling any - * object to a pool. This hook does not replace the mac_destroy hooks. - */ -void mac_cleanup_sysv_msgmsg(struct msg *msgptr); -void mac_cleanup_sysv_msgqueue(struct label *msqlabel); -void mac_cleanup_sysv_sem(struct semid_kernel *semakptr); -void mac_cleanup_sysv_shm(struct shmid_kernel *shmsegptr); -void mac_cleanup_vnode(struct vnode *vp); - -/* - * Access control checks. - */ -int mac_check_cred_relabel(struct ucred *cred, struct label *newlabel); -int mac_check_cred_visible(struct ucred *u1, struct ucred *u2); -int mac_check_lctx_relabel(struct lctx *l, struct label *newlabel); -int mac_check_posix_sem_create(struct ucred *cred, const char *name); -int mac_check_posix_sem_open(struct ucred *cred, struct pseminfo *ps); -int mac_check_posix_sem_post(struct ucred *cred, struct pseminfo *ps); -int mac_check_posix_sem_unlink(struct ucred *cred, struct pseminfo *ps, - const char *name); -int mac_check_posix_sem_wait(struct ucred *cred, struct pseminfo *ps); -int mac_check_posix_shm_create(struct ucred *cred, const char *name); -int mac_check_posix_shm_open(struct ucred *cred, struct pshminfo *ps); -int mac_check_posix_shm_mmap(struct ucred *cred, struct pshminfo *ps, - int prot, int flags); -int mac_check_posix_shm_stat(struct ucred *cred, struct pshminfo *ps); -int mac_check_posix_shm_truncate(struct ucred *cred, struct pshminfo *ps, - size_t s); -int mac_check_posix_shm_unlink(struct ucred *cred, struct pshminfo *ps, - const char *name); -int mac_check_sysv_msgmsq(struct ucred *cred, struct msg *msgptr, - struct msqid_kernel *msqptr); -int mac_check_sysv_msgrcv(struct ucred *cred, struct msg *msgptr); -int mac_check_sysv_msgrmid(struct ucred *cred, struct msg *msgptr); -int mac_check_sysv_msqctl(struct ucred *cred, struct msqid_kernel *msqptr, - int cmd); -int mac_check_sysv_msqget(struct ucred *cred, struct msqid_kernel *msqptr); -int mac_check_sysv_msqsnd(struct ucred *cred, struct msqid_kernel *msqptr); -int mac_check_sysv_msqrcv(struct ucred *cred, struct msqid_kernel *msqptr); -int mac_check_sysv_semctl(struct ucred *cred, - struct semid_kernel *semakptr, int cmd); -int mac_check_fcntl(struct ucred *cred, struct fileproc *fp, int cmd, - int arg); -int mac_check_get_fd(struct ucred *cred, struct fileproc *fp, - char *elements, int len); - -/* - * Note: mac_check_ioctl is currently not called and will probably be broken into - * more granular checks. - */ -int mac_check_ioctl(struct ucred *cred, struct fileproc *fp, int com, - void *data); -int mac_check_sysv_semget(struct ucred *cred, - struct semid_kernel *semakptr); -int mac_check_sysv_semop(struct ucred *cred,struct semid_kernel *semakptr, - size_t accesstype); -int mac_check_sysv_shmat(struct ucred *cred, - struct shmid_kernel *shmsegptr, int shmflg); -int mac_check_sysv_shmctl(struct ucred *cred, - struct shmid_kernel *shmsegptr, int cmd); -int mac_check_sysv_shmdt(struct ucred *cred, - struct shmid_kernel *shmsegptr); -int mac_check_sysv_shmget(struct ucred *cred, - struct shmid_kernel *shmsegptr, int shmflg); -int mac_check_mount(struct ucred *cred, struct vnode *vp, - const char *vfc_name); -int mac_check_remount(struct ucred *cred, struct mount *mp); -int mac_check_umount(struct ucred *cred, struct mount *mp); -int mac_check_mount_getattr(struct ucred *cred, struct mount *mp, - struct vfs_attr *vfa); -int mac_check_mount_setattr(struct ucred *cred, struct mount *mp, - struct vfs_attr *vfa); -int mac_check_mount_stat(struct ucred *cred, struct mount *mp); -int mac_check_mount_relabel(struct ucred *cred, struct mount *mp); -int mac_check_pipe_kqfilter(struct ucred *cred, struct knote *kn, - struct pipe *cpipe); -int mac_check_pipe_ioctl(struct ucred *cred, struct pipe *cpipe, - unsigned long cmd, void *data); -int mac_check_pipe_read(struct ucred *cred, struct pipe *cpipe); -int mac_check_pipe_select(struct ucred *cred, struct pipe *cpipe, - int which); -int mac_check_pipe_stat(struct ucred *cred, struct pipe *cpipe); -int mac_check_pipe_write(struct ucred *cred, struct pipe *cpipe); -int mac_check_proc_debug(struct ucred *cred, struct proc *proc); -int mac_check_proc_getaudit(struct ucred *cred); -int mac_check_proc_getauid(struct ucred *cred); -int mac_check_proc_sched(struct ucred *cred, struct proc *proc); -int mac_check_proc_setaudit(struct ucred *cred, struct auditinfo *ai); -int mac_check_proc_setauid(struct ucred *cred, uid_t auid); -int mac_check_proc_signal(struct ucred *cred, struct proc *proc, - int signum); -int mac_check_proc_wait(struct ucred *cred, struct proc *proc); -int mac_check_proc_setlcid(struct proc *, struct proc *, pid_t, pid_t); -int mac_check_proc_getlcid(struct proc *, struct proc *, pid_t); -int mac_check_set_fd(struct ucred *cred, struct fileproc *fp, char *buf, - int buflen); -int mac_check_socket_accept(struct ucred *cred, struct socket *so); -int mac_check_socket_bind(struct ucred *cred, struct socket *so, - struct sockaddr *addr); -int mac_check_socket_connect(struct ucred *cred, struct socket *so, - struct sockaddr *addr); -int mac_check_socket_create(struct ucred *cred, int domain, int type, - int protocol); -int mac_check_socket_deliver(struct socket *so, struct mbuf *m); -int mac_check_socket_kqfilter(struct ucred *cred, struct knote *kn, - struct socket *so); -int mac_check_socket_listen(struct ucred *cred, struct socket *so); -int mac_check_socket_receive(struct ucred *cred, struct socket *so); -int mac_check_socket_select(struct ucred *cred, struct socket *so, - int which); -int mac_check_socket_send(struct ucred *cred, struct socket *so); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:14:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0611716A4E0; Wed, 30 Aug 2006 21:14:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A407916A4DD for ; Wed, 30 Aug 2006 21:14:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A19D143D68 for ; Wed, 30 Aug 2006 21:14:50 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULEoD4035970 for ; Wed, 30 Aug 2006 21:14:50 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULEoOS035963 for perforce@freebsd.org; Wed, 30 Aug 2006 21:14:50 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 30 Aug 2006 21:14:50 GMT Message-Id: <200608302114.k7ULEoOS035963@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 105362 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:14:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=105362 Change 105362 by gonzo@gonzo_hq on 2006/08/30 21:14:31 o Import string functions from NetBSD. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/string/bcmp.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/string/bcopy.S#1 add .. //depot/projects/mips2/src/lib/libc/mips/string/bzero.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/string/ffs.S#1 add .. //depot/projects/mips2/src/lib/libc/mips/string/index.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/string/memcpy.S#1 add .. //depot/projects/mips2/src/lib/libc/mips/string/memmove.S#1 add .. //depot/projects/mips2/src/lib/libc/mips/string/rindex.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/string/strcmp.S#1 add .. //depot/projects/mips2/src/lib/libc/mips/string/strlen.S#1 add Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/string/bcmp.S#2 (text+ko) ==== @@ -32,9 +32,7 @@ * SUCH DAMAGE. */ -#include -#define _LOCORE /* XXX not really, just assembly-code source */ -#include /* LWLO/LWHI, SWLO/SWHI */ +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)bcmp.s 8.1 (Berkeley) 6/4/93") @@ -60,8 +58,13 @@ beq a3, zero, 1f subu a2, a2, a3 # subtract from remaining count move v0, v1 # init v0,v1 so unmodified bytes match - LWHI v0, 0(a0) # read 1, 2, or 3 bytes - LWHI v1, 0(a1) +#ifdef __MIPSEB__ + lwl v0, 0(a0) # read 1, 2, or 3 bytes + lwl v1, 0(a1) +#else + lwr v0, 0(a0) # read 1, 2, or 3 bytes + lwr v1, 0(a1) +#endif addu a1, a1, a3 bne v0, v1, nomatch addu a0, a0, a3 @@ -96,8 +99,13 @@ subu a2, a2, a3 # which has to be >= (16-3) & ~3 addu a3, a3, a0 # compute ending address 3: - LWHI v0, 0(a0) # compare words a0 unaligned, a1 aligned - LWLO v0, 3(a0) +#ifdef __MIPSEB__ + lwl v0, 0(a0) # compare words a0 unaligned, a1 aligned + lwr v0, 3(a0) +#else + lwr v0, 0(a0) # compare words a0 unaligned, a1 aligned + lwl v0, 3(a0) +#endif lw v1, 0(a1) addu a0, a0, 4 bne v0, v1, nomatch ==== //depot/projects/mips2/src/lib/libc/mips/string/bzero.S#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -#include +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)bzero.s 8.1 (Berkeley) 6/4/93") @@ -40,9 +40,6 @@ #endif /* LIBC_SCCS and not lint */ -#define _LOCORE /* XXX not really, just assembly-code source */ -#include - #ifdef __ABICALLS__ .abicalls #endif @@ -56,7 +53,11 @@ and a3, a3, 3 beq a3, zero, 1f # skip if word aligned subu a1, a1, a3 # subtract from remaining count - SWHI zero, 0(a0) # clear 1, 2, or 3 bytes to align +#ifdef __MIPSEB__ + swl zero, 0(a0) # clear 1, 2, or 3 bytes to align +#else + swr zero, 0(a0) # clear 1, 2, or 3 bytes to align +#endif addu a0, a0, a3 1: and v0, a1, 3 # compute number of words left ==== //depot/projects/mips2/src/lib/libc/mips/string/index.S#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -#include +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)index.s 8.1 (Berkeley) 6/4/93") ==== //depot/projects/mips2/src/lib/libc/mips/string/rindex.S#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -#include +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)rindex.s 8.1 (Berkeley) 6/4/93") From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:15:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71E1116A4ED; Wed, 30 Aug 2006 21:15:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E278A16A4E5 for ; Wed, 30 Aug 2006 21:15:00 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3DB0A43D6A for ; Wed, 30 Aug 2006 21:14:51 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULEpPw035977 for ; Wed, 30 Aug 2006 21:14:51 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULEon6035973 for perforce@freebsd.org; Wed, 30 Aug 2006 21:14:50 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:14:50 GMT Message-Id: <200608302114.k7ULEon6035973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105363 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:15:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=105363 Change 105363 by millert@millert_g4tower on 2006/08/30 21:14:40 Add the concept of a mac policy "handle" which is returned by the mac_policy_register() and which acts as a unique identifier for that policy. In this implementation the handle is the index into an array containing struct mac_policy_conf. To use the handle as an index we replace the two policy lists with a single array and resize it as needed (though in practice this is not really needed). MAC routines that previously passed around the mpc now pass in the policy's handle instead. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_audit.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_data.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_data.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_internal.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/basetest/mac_basetest.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/color/mac_color.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/console/mac_console.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/count/mac_count.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/extattr_test/mac_extattr_test.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/fwinteg/mac_fwinteg.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/ipctrace/module/ipctrace.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/multilabel/multilabel.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/none/mac_none.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/readonly/mac_readonly.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#9 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stacktrace/module/mac_stacktrace.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stub/mac_stub.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/test/mac_test.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/vanity/vanity.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/xattr/xattr.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_audit.c#2 (text+ko) ==== @@ -129,7 +129,7 @@ * */ int -mac_audit_data(int len, u_char *data, struct mac_policy_conf *caller) +mac_audit_data(int len, u_char *data, mac_policy_handle_t handle) { char *sanitized; @@ -150,13 +150,15 @@ * terminated ASCII text to the current audit record. */ int -mac_audit_text(char *text, struct mac_policy_conf *caller) +mac_audit_text(char *text, mac_policy_handle_t handle) { char *sanitized; + const char *name; int i, allocd, plen, len; + name = mac_get_mpc(handle)->mpc_name; len = strlen(text); - plen = 2 + strlen(caller->mpc_name); + plen = 2 + strlen(name); if (plen + len >= MAC_AUDIT_DATA_LIMIT) return (EINVAL); @@ -173,7 +175,7 @@ if (sanitized == NULL) return (ENOMEM); - strcpy(sanitized, caller->mpc_name); + strcpy(sanitized, name); strcat(sanitized, ": "); strcat(sanitized, text); @@ -184,21 +186,30 @@ mac_audit_preselect(struct ucred *cred, unsigned short syscode, void *args) { struct mac_policy_conf *mpc; - int ret, error, entrycount; + int ret, error; + u_int i; ret = MAC_AUDIT_DEFAULT; - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { + for (i = 0; i < mac_policy_list.staticmax; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; + if (mpc->mpc_ops->mpo_audit_preselect != NULL) { - error = mpc->mpc_ops->mpo_audit_preselect(cred, syscode, - args); + error = mpc->mpc_ops->mpo_audit_preselect(cred, + syscode, args); ret = (ret > error ? ret : error); } } - if ((entrycount = mac_policy_list_conditional_busy()) != 0) { - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { + if (mac_policy_list_conditional_busy() != 0) { + for (; i <= mac_policy_list.maxindex; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; + if (mpc->mpc_ops->mpo_audit_preselect != NULL) { - error = mpc->mpc_ops->mpo_audit_preselect(cred, syscode, - args); + error = mpc->mpc_ops->mpo_audit_preselect(cred, + syscode, args); ret = (ret > error ? ret : error); } } @@ -213,7 +224,8 @@ void *args, int error, int retval, int mac_forced) { struct mac_policy_conf *mpc; - int ret, mac_error, entrycount; + int ret, mac_error; + u_int i; /* * If the audit was forced by a MAC policy by mac_audit_preselect(), @@ -223,18 +235,26 @@ return (MAC_AUDIT_YES); ret = MAC_AUDIT_DEFAULT; - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { + for (i = 0; i < mac_policy_list.staticmax; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; + if (mpc->mpc_ops->mpo_audit_postselect != NULL) { - mac_error = mpc->mpc_ops->mpo_audit_postselect(cred, syscode, - args, error, retval); + mac_error = mpc->mpc_ops->mpo_audit_postselect(cred, + syscode, args, error, retval); ret = (ret > mac_error ? ret : mac_error); } } - if ((entrycount = mac_policy_list_conditional_busy()) != 0) { - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { + if (mac_policy_list_conditional_busy() != 0) { + for (; i <= mac_policy_list.maxindex; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; + if (mpc->mpc_ops->mpo_audit_postselect != NULL) { - mac_error = mpc->mpc_ops->mpo_audit_postselect(cred, syscode, - args, error, retval); + mac_error = mpc->mpc_ops->mpo_audit_postselect(cred, + syscode, args, error, retval); ret = (ret > mac_error ? ret : mac_error); } } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#5 (text+ko) ==== @@ -160,28 +160,36 @@ struct mac_policy_conf *mac_static_base_mpc = NULL; /* - * mac_static_policy_list holds a list of policy modules that are not - * loaded while the system is "live", and cannot be unloaded. These - * policies can be invoked without holding the busy count. + * mac_policy_list holds the list of policy modules. Modules with a + * handle lower than staticmax are considered "static" and cannot be + * unloaded. Such policies can be invoked without holding the busy count. * - * mac_policy_list stores the list of dynamic policies. A busy count is - * maintained for the list, stored in mac_policy_count. The busy count - * is protected by mac_policy_mtx; the list may be modified only - * while the busy count is 0, requiring that the lock be held to - * prevent new references to the list from being acquired. For almost - * all operations, incrementing the busy count is sufficient to - * guarantee consistency, as the list cannot be modified while the - * busy count is elevated. For a few special operations involving a - * change to the list of active policies, the mtx itself must be held. - * A condition variable, mac_policy_cv, is used to signal potential - * exclusive consumers that they should try to acquire the lock if a - * first attempt at exclusive access fails. + * Modules with a handle at or above the staticmax high water mark + * are considered to be "dynamic" policies. A busy count is maintained + * for the list, stored in mac_policy_busy. The busy count is protected + * by mac_policy_mtx; the list may be modified only while the busy + * count is 0, requiring that the lock be held to prevent new references + * to the list from being acquired. For almost all operations, + * incrementing the busy count is sufficient to guarantee consistency, + * as the list cannot be modified while the busy count is elevated. + * For a few special operations involving a change to the list of + * active policies, the mtx itself must be held. A condition variable, + * mac_policy_cv, is used to signal potential exclusive consumers + * that they should try to acquire the lock if a first attempt at + * exclusive access fails. */ static mutex_t *mac_policy_mtx; static struct cv mac_policy_cv; -static int mac_policy_count; -struct mac_policy_list_t mac_policy_list; -struct mac_policy_list_t mac_static_policy_list; + +/* + * Policy list array allocation chunk size. Trying to set this so that we + * allocate a page at a time. + */ +#define MAC_POLICY_LIST_CHUNKSIZE 512 + +static int mac_policy_busy; + +mac_policy_list_t mac_policy_list; /* * mac_label_element_list holds the master list of label namespaces for @@ -312,7 +320,7 @@ WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "mac_policy_grab_exclusive() at %s:%d", __FILE__, __LINE__); mutex_lock(mac_policy_mtx); - while (mac_policy_count != 0) + while (mac_policy_busy != 0) cv_wait(&mac_policy_cv, mac_policy_mtx); } @@ -320,7 +328,7 @@ mac_policy_assert_exclusive(void) { mtx_assert(&mac_policy_mtx, MA_OWNED); - KASSERT(mac_policy_count == 0, + KASSERT(mac_policy_busy == 0, ("mac_policy_assert_exclusive(): not exclusive")); } @@ -328,7 +336,7 @@ mac_policy_release_exclusive(void) { - KASSERT(mac_policy_count == 0, + KASSERT(mac_policy_busy == 0, ("mac_policy_release_exclusive(): not exclusive")); mutex_unlock(mac_policy_mtx); cv_signal(&mac_policy_cv); @@ -338,7 +346,7 @@ mac_policy_list_busy(void) { mutex_lock(mac_policy_mtx); - mac_policy_count++; + mac_policy_busy++; mutex_unlock(mac_policy_mtx); } @@ -349,8 +357,9 @@ if (!mutex_try(mac_policy_mtx)) return (-1); - if (!LIST_EMPTY(&mac_policy_list)) { - mac_policy_count++; + + if (mac_policy_list.numloaded > mac_policy_list.staticmax) { + mac_policy_busy++; ret = 1; } else ret = 0; @@ -364,8 +373,8 @@ int ret; mutex_lock(mac_policy_mtx); - if (!LIST_EMPTY(&mac_policy_list)) { - mac_policy_count++; + if (mac_policy_list.numloaded > mac_policy_list.staticmax) { + mac_policy_busy++; ret = 1; } else ret = 0; @@ -377,9 +386,9 @@ mac_policy_list_unbusy(void) { mutex_lock(mac_policy_mtx); - mac_policy_count--; - KASSERT(mac_policy_count >= 0, ("MAC_POLICY_LIST_LOCK")); - if (mac_policy_count == 0) + mac_policy_busy--; + KASSERT(mac_policy_busy >= 0, ("MAC_POLICY_LIST_LOCK")); + if (mac_policy_busy == 0) cv_signal(&mac_policy_cv); mutex_unlock(mac_policy_mtx); } @@ -390,8 +399,17 @@ void mac_init(void) { - LIST_INIT(&mac_static_policy_list); - LIST_INIT(&mac_policy_list); + + mac_policy_list.numloaded = 0; + mac_policy_list.max = MAC_POLICY_LIST_CHUNKSIZE; + mac_policy_list.maxindex = 0; + mac_policy_list.staticmax = 0; + mac_policy_list.freehint = 0; + mac_policy_list.chunks = 1; + + mac_policy_list.entries = kalloc(sizeof(struct mac_policy_list_element) * MAC_POLICY_LIST_CHUNKSIZE); + bzero(mac_policy_list.entries, sizeof(struct mac_policy_list_element) * MAC_POLICY_LIST_CHUNKSIZE); + LIST_INIT(&mac_label_element_list); LIST_INIT(&mac_static_label_element_list); TAILQ_INIT(&mac_label_journal_list); @@ -427,6 +445,9 @@ void mac_init_bsd(void) { + struct mac_policy_conf *mpc; + u_int i; + if (mac_static_base_mpc == NULL) panic("Base MAC policy is not registered"); else @@ -447,20 +468,17 @@ /* Call bsd init functions of already loaded policies */ - /* Using the exclusive lock means no other framework entry - points can proceed while initializations are running. This - may not be necessary. */ - + /* + * Using the exclusive lock means no other framework entry + * points can proceed while initializations are running. + * This may not be necessary. + */ mac_policy_grab_exclusive(); - struct mac_policy_conf *mpc; - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { - if (mpc->mpc_ops->mpo_init_bsd != NULL) - (*(mpc->mpc_ops->mpo_init_bsd))(mpc); - } - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { - if (mpc->mpc_ops->mpo_init_bsd != NULL) - (*(mpc->mpc_ops->mpo_init_bsd))(mpc); + for (i = 0; i <= mac_policy_list.maxindex; i++) { + mpc = mac_get_mpc(i); + if ((mpc != NULL) && (mpc->mpc_ops->mpo_init_bsd != NULL)) + (*(mpc->mpc_ops->mpo_init_bsd))(mpc); } mac_policy_release_exclusive(); @@ -473,80 +491,87 @@ * the lists. */ void -mac_policy_addto_labellist(struct mac_policy_conf *mpc, int static_entry) +mac_policy_addto_labellist(mac_policy_handle_t handle, int static_entry) { + struct mac_label_element **new_mles; struct mac_label_element *mle; struct mac_label_element_list_t *list; + struct mac_policy_conf *mpc; const char *name; int found; u_int idx; int midx; + mpc = mac_get_mpc(handle); + if (mpc->mpc_labelnames == NULL) return; if (mpc->mpc_labelname_count == 0) return; + /* XXX - do we really need two lists? slight advantage when removing. */ if (static_entry) list = &mac_static_label_element_list; else list = &mac_label_element_list; - { - /* Before we grab the policy list lock, allocate enough memory - * to contain the potential new elements so we don't have to - * give up the lock, or allocate with the lock held. - */ - struct mac_label_element *new_mles[mpc->mpc_labelname_count]; - for (idx = 0; idx < mpc->mpc_labelname_count; idx++) - MALLOC(new_mles[idx], struct mac_label_element *, - sizeof(struct mac_label_element), - M_MACTEMP, M_WAITOK); - midx = 0; + /* + * Before we grab the policy list lock, allocate enough memory + * to contain the potential new elements so we don't have to + * give up the lock, or allocate with the lock held. + */ + MALLOC(new_mles, struct mac_label_element **, + sizeof(struct mac_label_element *) * + mpc->mpc_labelname_count, M_MACTEMP, M_WAITOK); + for (idx = 0; idx < mpc->mpc_labelname_count; idx++) + MALLOC(new_mles[idx], struct mac_label_element *, + sizeof(struct mac_label_element), + M_MACTEMP, M_WAITOK); + midx = 0; - if (mac_late) - mac_policy_grab_exclusive(); - for (idx = 0; idx < mpc->mpc_labelname_count; idx++) { + if (mac_late) + mac_policy_grab_exclusive(); + for (idx = 0; idx < mpc->mpc_labelname_count; idx++) { - name = mpc->mpc_labelnames[idx]; + name = mpc->mpc_labelnames[idx]; - /* Check both label element lists and add to the - * appropriate list only if not already on a list - */ - found = FALSE; - LIST_FOREACH(mle, &mac_static_label_element_list, - mle_list) { + /* Check both label element lists and add to the + * appropriate list only if not already on a list + */ + found = FALSE; + LIST_FOREACH(mle, &mac_static_label_element_list, + mle_list) { + if (strcmp(name, mle->mle_name) == 0) { + /* ref count unused for static list */ + found = TRUE; + break; + } + } + if (!found) + LIST_FOREACH(mle, + &mac_label_element_list, mle_list) { if (strcmp(name, mle->mle_name) == 0) { - /* ref count unused for static list */ + mle->mle_refs++; found = TRUE; break; } } - if (!found) - LIST_FOREACH(mle, - &mac_label_element_list, mle_list) { - if (strcmp(name, mle->mle_name) == 0) { - mle->mle_refs++; - found = TRUE; - break; - } - } - if (!found) { - strcpy(new_mles[midx]->mle_name, name); - new_mles[midx]->mle_refs = 1; - LIST_INSERT_HEAD(list, new_mles[midx], - mle_list); - midx++; - } + if (!found) { + strcpy(new_mles[midx]->mle_name, name); + new_mles[midx]->mle_refs = 1; + LIST_INSERT_HEAD(list, new_mles[midx], + mle_list); + midx++; } - if (mac_late) - mac_policy_release_exclusive(); + } + if (mac_late) + mac_policy_release_exclusive(); - /* Free up any unused label elements */ - for (idx = midx; idx < mpc->mpc_labelname_count; idx++) - FREE(new_mles[idx], M_MACTEMP); - } + /* Free up any unused label elements */ + for (idx = midx; idx < mpc->mpc_labelname_count; idx++) + FREE(new_mles[idx], M_MACTEMP); + FREE(new_mles, M_MACTEMP); } /* @@ -556,12 +581,15 @@ * namespace. */ void -mac_policy_removefrom_labellist(struct mac_policy_conf *mpc) +mac_policy_removefrom_labellist(mac_policy_handle_t handle) { struct mac_label_element *mle; + struct mac_policy_conf *mpc; const char *name; u_int idx; + mpc = mac_get_mpc(handle); + if (mpc->mpc_labelnames == NULL) return; @@ -606,6 +634,7 @@ labelmbufs = 0; + /* XXX - convert to new list structure */ LIST_FOREACH(tmpc, &mac_static_policy_list, mpc_list) { if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; @@ -621,7 +650,8 @@ static void mac_base_policy_register(struct mac_policy_conf *mpc) { - int error; + int error; + u_int i; struct mac_policy_conf *lmpc; if (mac_static_base_mpc != NULL) @@ -635,7 +665,14 @@ * responsible for halting the system, if desired. Otherwise * the previously loaded module will stay in place. */ - LIST_FOREACH(lmpc, &mac_static_policy_list, mpc_list) { + for (i = 0; i < mac_policy_list.staticmax; i++) { + lmpc = mac_get_mpc(i); + if (lmpc == NULL) + continue; + /* For now we'll check every policy regardless of dynamic flag. + If by some freak occurance a dynamic policy is loaded at + this point it needs to be approved as well. + */ error = mac_static_base_mpc->mpc_ops->mpo_approve_module_load(lmpc); if (error != 0) @@ -645,10 +682,12 @@ } int -mac_policy_register(struct mac_policy_conf *mpc, void *xd) +mac_policy_register(struct mac_policy_conf *mpc, mac_policy_handle_t *handlep, + void *xd) { - struct mac_policy_conf *tmpc; - int error, slot, static_entry; + struct mac_policy_list_element *tmac_policy_list_element; + int error, slot, static_entry = 0; + u_int i; /* * Some preliminary checks to make sure the policy's conf structure @@ -668,12 +707,14 @@ error = 0; - /* - * We don't technically need exclusive access while !mac_late, - * but hold it for assertion consistency. - */ - if (mac_late) + if (mac_late) { + if (mpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_NOTLATE) { + printf("Module %s does not support late loading.\n", + mpc->mpc_name); + return (EPERM); + } mac_policy_grab_exclusive(); + } /* Call the base module to approve the loading of this MAC module. */ if (mac_static_base_mpc != NULL) { @@ -686,30 +727,41 @@ } } - /* - * If the module can potentially be unloaded, or we're loading - * late, we have to stick it in the non-static list and pay - * an extra performance overhead. Otherwise, we can pay a - * light locking cost and stick it in the static list. - */ - static_entry = (!mac_late && - !(mpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_UNLOADOK)); + if (mac_policy_list.numloaded >= mac_policy_list.max) { + /* allocate new policy list array, zero new chunk */ + tmac_policy_list_element = kalloc((sizeof(struct mac_policy_list_element) * + MAC_POLICY_LIST_CHUNKSIZE) * (mac_policy_list.chunks + 1)); + bzero(&tmac_policy_list_element[mac_policy_list.max], + sizeof(struct mac_policy_list_element) * MAC_POLICY_LIST_CHUNKSIZE); + + /* copy old entries into new list */ + memcpy(tmac_policy_list_element, mac_policy_list.entries, + sizeof(struct mac_policy_list_element) * MAC_POLICY_LIST_CHUNKSIZE * + mac_policy_list.chunks); + + /* free old array */ + kfree(mac_policy_list.entries, + sizeof(mac_policy_list_t) * mac_policy_busy); + + mac_policy_list.entries = tmac_policy_list_element; + + /* Update maximums, etc */ + mac_policy_list.max += MAC_POLICY_LIST_CHUNKSIZE; + mac_policy_list.chunks++; + } + + /* Check for policy with same name already loaded */ + for (i = 0; i <= mac_policy_list.maxindex; i++) { + if (mac_policy_list.entries[i].mpc == NULL) + continue; - if (static_entry) { - LIST_FOREACH(tmpc, &mac_static_policy_list, mpc_list) { - if (strcmp(tmpc->mpc_name, mpc->mpc_name) == 0) { - error = EEXIST; - goto out; - } + if (strcmp(mac_policy_list.entries[i].mpc->mpc_name, + mpc->mpc_name) == 0) { + error = EEXIST; + goto out; } - } else { - LIST_FOREACH(tmpc, &mac_policy_list, mpc_list) { - if (strcmp(tmpc->mpc_name, mpc->mpc_name) == 0) { - error = EEXIST; - goto out; - } - } } + if (mpc->mpc_field_off != NULL) { slot = ffs(mac_slot_offsets_free); if (slot == 0) { @@ -724,7 +776,6 @@ if (xd) { struct mac_module_data *mmd = xd; /* module data from plist */ - unsigned int i; char *strtab; /* Make a copy of the data. */ @@ -744,18 +795,36 @@ } } + /* Find the first free handle in the list (using our hint). */ + for (i = mac_policy_list.freehint; i < mac_policy_list.max; i++) { + if (mac_policy_list.entries[i].mpc == NULL) { + *handlep = i; + mac_policy_list.freehint = ++i; + break; + } + } + /* - * If we're loading a MAC module after the framework has - * initialized, it has to go into the dynamic list. If - * we're loading it before we've finished initializing, - * it can go into the static list with weaker locking - * requirements. + * If we are loading a MAC module before the framework has + * finished initializing or the module is not unloadable and + * we can place its handle adjacent to the last static entry, + * bump the static policy high water mark. + * Static policies can get by with weaker locking requirements. */ - if (static_entry) - LIST_INSERT_HEAD(&mac_static_policy_list, mpc, mpc_list); - else - LIST_INSERT_HEAD(&mac_policy_list, mpc, mpc_list); + if (!mac_late || + ((mpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_UNLOADOK) == 0 && + *handlep == mac_policy_list.staticmax)) { + static_entry = 1; + mac_policy_list.staticmax++; + } + + mac_policy_list.entries[*handlep].mpc = mpc; + /* Update counters, etc */ + if (*handlep > mac_policy_list.maxindex) + mac_policy_list.maxindex = *handlep; + mac_policy_list.numloaded++; + /* Per-policy initialization. */ printf ("calling mpo_init for %s\n", mpc->mpc_name); if (mpc->mpc_ops->mpo_init != NULL) @@ -774,7 +843,7 @@ if (mac_late) mac_policy_release_exclusive(); - mac_policy_addto_labellist(mpc, static_entry); + mac_policy_addto_labellist(*handlep, static_entry); printf("Security policy loaded: %s (%s)\n", mpc->mpc_fullname, mpc->mpc_name); @@ -789,8 +858,9 @@ } int -mac_policy_unregister(struct mac_policy_conf *mpc) +mac_policy_unregister(mac_policy_handle_t handle) { + struct mac_policy_conf *mpc; int error; /* @@ -799,6 +869,7 @@ * silently succeed. */ mac_policy_grab_exclusive(); + mpc = mac_get_mpc(handle); if ((mpc->mpc_runtime_flags & MPC_RUNTIME_FLAG_REGISTERED) == 0) { mac_policy_release_exclusive(); return (0); @@ -832,16 +903,21 @@ mac_policy_release_exclusive(); return (EBUSY); } + + mac_get_mpc(handle) = NULL; + if (handle < mac_policy_list.freehint && + handle >= mac_policy_list.staticmax) + mac_policy_list.freehint = handle; + if (mpc->mpc_ops->mpo_destroy != NULL) (*(mpc->mpc_ops->mpo_destroy))(mpc); - LIST_REMOVE(mpc, mpc_list); mpc->mpc_runtime_flags &= ~MPC_RUNTIME_FLAG_REGISTERED; mac_policy_updateflags(); mac_policy_release_exclusive(); - mac_policy_removefrom_labellist(mpc); + mac_policy_removefrom_labellist(handle); if (mpc->mpc_data) { struct mac_module_data *mmd = mpc->mpc_data; @@ -1544,7 +1620,8 @@ { struct mac_policy_conf *mpc; char target[MAC_MAX_POLICY_NAME]; - int entrycount, error; + int error; + u_int i; size_t ulen; error = copyinstr(CAST_USER_ADDR_T(uap->policy), target, sizeof(target), &ulen); @@ -1552,17 +1629,25 @@ return (error); error = ENOSYS; - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { + + for (i = 0; i < mac_policy_list.staticmax; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; + if (strcmp(mpc->mpc_name, target) == 0 && mpc->mpc_ops->mpo_syscall != NULL) { error = mpc->mpc_ops->mpo_syscall(p, uap->call, uap->arg); - goto out; + break; } } + if (mac_policy_list_conditional_busy() != 0) { + for (; i <= mac_policy_list.maxindex; i++) { + mpc = mac_policy_list.entries[i].mpc; + if (mpc == NULL) + continue; - if ((entrycount = mac_policy_list_conditional_busy()) != 0) { - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { if (strcmp(mpc->mpc_name, target) == 0 && mpc->mpc_ops->mpo_syscall != NULL) { error = mpc->mpc_ops->mpo_syscall(p, @@ -1572,21 +1657,22 @@ } mac_policy_list_unbusy(); } -out: + return (error); } #else /* MAC */ int -mac_policy_register(struct mac_policy_conf *mpc) +mac_policy_register(struct mac_policy_conf *mpc, mac_policy_handle_t *handlep, + void *xd) { return (0); } int -mac_policy_unregister(struct mac_policy_conf *mpc) +mac_policy_unregister(mac_policy_handle_t handle) { return (0); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_data.c#2 (text+ko) ==== @@ -29,34 +29,16 @@ #include "mac_internal.h" int -mac_find_module_data(const char *target, const char *key, +mac_find_module_data(const mac_policy_handle_t handle, const char *key, void **valp, size_t *sizep) { struct mac_policy_conf *mpc; - struct mac_module_data *mmd = NULL; + struct mac_module_data *mmd; int error = ENOENT; unsigned int i; - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { - if (strcmp(mpc->mpc_name, target) == 0 && - mpc->mpc_data != NULL) { - mmd = mpc->mpc_data; - break; - } - } - - if (mmd == NULL && mac_policy_list_conditional_busy() != 0) { - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { - if (strcmp(mpc->mpc_name, target) == 0 && - mpc->mpc_data != NULL) { - mmd = mpc->mpc_data; - break; - } - } - mac_policy_list_unbusy(); - } - - if (mmd != NULL) { + if ((mpc = mac_get_mpc(handle)) != NULL && + (mmd = mpc->mpc_data) != NULL) { for (i = 0; i < mmd->count; i++) { if (strcmp(key, mmd->data[i].key) == 0) { *valp = mmd->data[i].value; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_data.h#2 (text+ko) ==== @@ -59,8 +59,10 @@ struct mac_module_data_element data[1]; /* actually bigger */ }; -struct mac_policy_conf; -int mac_find_module_data(const char *target, const char *key, +#ifdef _SECURITY_MAC_POLICY_H_ +/* XXX mac_policy_handle_t is defined in mac_policy.h, move prototype there? */ +int mac_find_module_data(const mac_policy_handle_t, const char *key, void **valp, size_t *sizep); +#endif #endif /* !_SECURITY_MAC_DATA_H_ */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_internal.h#5 (text+ko) ==== @@ -68,7 +68,21 @@ extern int mac_late; -LIST_HEAD(mac_policy_list_t, mac_policy_conf); +struct mac_policy_list_element { + struct mac_policy_conf *mpc; +}; + +struct mac_policy_list { + u_int numloaded; + u_int max; + u_int maxindex; + u_int staticmax; + u_int chunks; + u_int freehint; + struct mac_policy_list_element *entries; +}; + +typedef struct mac_policy_list mac_policy_list_t; /* @@ -125,18 +139,17 @@ * MAC Framework global variables. */ -extern struct mac_policy_list_t mac_policy_list; -extern struct mac_policy_list_t mac_static_policy_list; extern struct mac_label_element_list_t mac_label_element_list; extern struct mac_label_element_list_t mac_static_label_element_list; extern struct mac_label_journal_list_t mac_label_journal_list; +extern struct mac_policy_list mac_policy_list; + extern int mac_enforce_fs; extern int mac_enforce_process; extern int mac_enforce_system; extern int mac_enforce_vm; - /* * MAC Framework infrastructure functions. */ @@ -184,17 +197,25 @@ */ #define MAC_CHECK(check, args...) do { \ struct mac_policy_conf *mpc; \ - int entrycount; \ + u_int i; \ \ error = 0; \ - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { \ + for (i = 0; i < mac_policy_list.staticmax; i++) { \ + mpc = mac_policy_list.entries[i].mpc; \ + if (mpc == NULL) \ + continue; \ + \ if (mpc->mpc_ops->mpo_ ## check != NULL) \ error = mac_error_select( \ mpc->mpc_ops->mpo_ ## check (args), \ error); \ } \ - if ((entrycount = mac_policy_list_conditional_busy()) != 0) { \ - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { \ + if (mac_policy_list_conditional_busy() != 0) { \ + for (; i <= mac_policy_list.maxindex; i++) { \ + mpc = mac_policy_list.entries[i].mpc; \ + if (mpc == NULL) \ + continue; \ + \ if (mpc->mpc_ops->mpo_ ## check != NULL) \ error = mac_error_select( \ mpc->mpc_ops->mpo_ ## check (args), \ @@ -213,25 +234,33 @@ */ #define MAC_CHECK_NOBLOCK(check, args...) do { \ struct mac_policy_conf *mpc; \ - int entrycount; \ + int busy; \ + u_int i; \ \ error = 0; \ - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { \ + for (i = 0; i < mac_policy_list.staticmax; i++) { \ + mpc = mac_policy_list_entries[i].mpc; \ + if (mpc == NULL) \ + continue; \ + \ if (mpc->mpc_ops->mpo_ ## check != NULL) \ error = mac_error_select( \ mpc->mpc_ops->mpo_ ## check (args), \ error); \ } \ - if ((entrycount = mac_policy_list_conditional_busy_noblock()) > 0) { \ - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { \ + if ((busy = mac_policy_list_conditional_busy_noblock()) > 0) { \ + for (; i <= mac_policy_list.maxindex; i++) { \ + mpc = mac_policy_list.entries[i].mpc; \ + if (mpc == NULL) \ + continue; \ + \ if (mpc->mpc_ops->mpo_ ## check != NULL) \ error = mac_error_select( \ mpc->mpc_ops->mpo_ ## check (args), \ error); \ } \ mac_policy_list_unbusy(); \ - } \ - else if (entrycount < 0) \ + } else if (busy < 0) \ check_failed = 1; \ } while (0) @@ -245,15 +274,24 @@ */ #define MAC_BOOLEAN(operation, composition, args...) do { \ struct mac_policy_conf *mpc; \ - int entrycount; \ + u_int i; \ + \ + for (i = 0; i < mac_policy_list.staticmax; i++) { \ + mpc = mac_policy_list.entries[i].mpc; \ + if (mpc == NULL) \ + continue; \ \ - LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { \ if (mpc->mpc_ops->mpo_ ## operation != NULL) \ result = result composition \ - mpc->mpc_ops->mpo_ ## operation (args); \ + mpc->mpc_ops->mpo_ ## operation \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:18:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 671C016A4E1; Wed, 30 Aug 2006 21:18:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 430F416A4DD for ; Wed, 30 Aug 2006 21:18:58 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC98943D49 for ; Wed, 30 Aug 2006 21:18:56 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULIueD036647 for ; Wed, 30 Aug 2006 21:18:56 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULIud4036644 for perforce@freebsd.org; Wed, 30 Aug 2006 21:18:56 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 21:18:56 GMT Message-Id: <200608302118.k7ULIud4036644@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:18:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=105364 Change 105364 by piso@piso_newluxor on 2006/08/30 21:18:22 hook_entry()/unhook_entry() are not needed anymore. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#10 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#10 (text+ko) ==== @@ -2062,26 +2062,6 @@ return (NULL); } -/* Attach p to b chain. */ -__unused static void -hook_entry(struct _chain **b, struct _chain *p) { - - /* XXX better to make an in-order addition... */ - for(; *b != NULL; b = &((*b)->next)) - ; - *b = p; -} - -/* Remove p from b chain. */ -__unused static void -unhook_entry(struct _chain **b, struct _chain *p) { - - NAT_WLOCK_ASSERT(&nat_chain_rwl); - for(; *b != p; b = &((*b)->next)) - ; - *b = p->next; -} - #define HOOK_NAT(b, p) do { \ NAT_WLOCK_ASSERT(&nat_chain_rwl); \ LIST_INSERT_HEAD(b, p, _next); \ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:24:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE0E716A4E1; Wed, 30 Aug 2006 21:24:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 989A216A4DA for ; Wed, 30 Aug 2006 21:24:05 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 345B643D46 for ; Wed, 30 Aug 2006 21:24:05 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULO5i6036926 for ; Wed, 30 Aug 2006 21:24:05 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULO37j036923 for perforce@freebsd.org; Wed, 30 Aug 2006 21:24:03 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:24:03 GMT Message-Id: <200608302124.k7ULO37j036923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:24:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=105365 Change 105365 by millert@millert_g4tower on 2006/08/30 21:23:45 Rename MAC Framework entry points to be either mpo__() or mpo__check_(). These changes are similar to those made in the TrustedBSD mac2 branch. TODO: re-sort entrypoints, more mach entrypoint renaming Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/mach_cmds/ca.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/hfs/hfs_search.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_acct.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_credential.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_descrip.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exec.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exit.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_fork.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_ktrace.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_mman.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_prot.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_resource.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_sig.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_sysctl.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_time.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/posix_sem.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/posix_shm.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_pipe.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_socket.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_msg.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_sem.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_shm.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_mbuf2.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_socket.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_socket2.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_syscalls.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/uipc_usrreq.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfs_tree.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfs_vfsops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/miscfs/devfs/devfs_vnops.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bpf.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/bsd_comp.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/dlil.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/net/ppp_deflate.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/igmp.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_mroute.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_output.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/raw_ip.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_input.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_output.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_subr.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_mroute.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/mld6.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_syscalls.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/nfs/nfs_vfsops.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_attrlist.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_cache.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_init.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_lookup.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_subr.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_vnops.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_xattr.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vm/dp_backing_file.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_kmsg.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_mqueue.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_object.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_port.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_right.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/mach_msg.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/mach_port.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/ipc_kobject.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/ipc_tt.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/security.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/startup.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/task.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/security.defs#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_audit.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_framework.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_internal.h#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_mach_internal.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_net.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_pipe.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_port.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_posix_sem.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_posix_shm.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_process.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_socket.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_system.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_msg.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_sem.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_shm.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_task.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_vfs.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_vfs_subr.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/basetest/mac_basetest.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/color/mac_color.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/console/mac_console.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/count/Makefile#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/count/mac_count.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/extattr_test/mac_extattr_test.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/fwinteg/mac_fwinteg.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/ipctrace/module/ipctrace.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/multilabel/multilabel.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/none/mac_none.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/readonly/mac_readonly.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#10 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/mach_av.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stacktrace/module/Makefile#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/stacktrace/module/mac_stacktrace.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/test/mac_test.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/vanity/vanity.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/xattr/xattr.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/mach_cmds/ca.c#2 (text+ko) ==== @@ -72,7 +72,7 @@ return (1); } - r = mac_check_port_access (mach_task_self(), + r = mac_port_check_access(mach_task_self(), subl, objl, argv[3], argv[4]); printf("access %s %s:%s { %s } = %d\n", argv[1], argv[2], argv[3], argv[4], r); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/hfs/hfs_search.c#3 (text+ko) ==== @@ -607,9 +607,9 @@ #ifdef MAC if (vp->v_type == VDIR) { - myErr = mac_check_vnode_readdir(vfs_context_ucred(ctx), vp); + myErr = mac_vnode_check_readdir(vfs_context_ucred(ctx), vp); } else { - myErr = mac_check_vnode_stat(vfs_context_ucred(ctx), NOCRED, vp); + myErr = mac_vnode_check_stat(vfs_context_ucred(ctx), NOCRED, vp); } if (myErr) { vnode_put(vp); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/bsd_init.c#4 (text+ko) ==== @@ -337,7 +337,7 @@ /* * Initialize the MAC Framework */ - mac_init_bsd(); + mac_policy_initbsd(); #endif /* MAC */ /* @@ -391,8 +391,8 @@ file_lock_init(); #ifdef MAC - mac_create_proc0(p->p_ucred); - mac_update_task_from_cred (p->p_ucred, (struct task *) p->task); + mac_proc_create_swapper(p->p_ucred); + mac_task_update_from_cred (p->p_ucred, (struct task *) p->task); #endif /* Create the file descriptor table. */ @@ -662,8 +662,8 @@ vm_set_shared_region(get_threadtask(th_act), system_region); } #ifdef MAC - mac_create_proc1(p->p_ucred); - mac_update_task_from_cred (p->p_ucred, (struct task *) p->task); + mac_proc_create_init(p->p_ucred); + mac_task_update_from_cred (p->p_ucred, (struct task *) p->task); #endif load_init_program(p); /* turn on app-profiling i.e. pre-heating */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_acct.c#3 (text+ko) ==== @@ -169,7 +169,7 @@ #ifdef MAC if (uap->path != USER_ADDR_NULL) { vnode_lock(nd.ni_vp); - error = mac_check_system_acct(p->p_ucred, nd.ni_vp); + error = mac_system_check_acct(p->p_ucred, nd.ni_vp); vnode_unlock(nd.ni_vp); if (error) { vn_close(nd.ni_vp, FWRITE, kauth_cred_get(), p); @@ -177,7 +177,7 @@ } } else { - error = mac_check_system_acct(p->p_ucred, NULL); + error = mac_system_check_acct(p->p_ucred, NULL); if (error) return (error); } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#3 (text+ko) ==== @@ -843,7 +843,7 @@ goto free_out; #ifdef MAC - error = mac_check_system_audit(kauth_cred_get(), rec, uap->length); + error = mac_system_check_audit(kauth_cred_get(), rec, uap->length); if (error) goto free_out; #endif @@ -889,7 +889,7 @@ return (ret); #ifdef MAC - ret = mac_check_system_auditon(kauth_cred_get(), uap->cmd); + ret = mac_system_check_auditon(kauth_cred_get(), uap->cmd); if (ret) return (ret); #endif @@ -1126,7 +1126,7 @@ int error; #ifdef MAC - error = mac_check_proc_getauid(kauth_cred_get()); + error = mac_proc_check_getauid(kauth_cred_get()); if (error) return (error); #endif @@ -1156,7 +1156,7 @@ if (error) return (error); #ifdef MAC - error = mac_check_proc_setauid(kauth_cred_get(), temp_au_id); + error = mac_proc_check_setauid(kauth_cred_get(), temp_au_id); if (error) return (error); #endif @@ -1224,7 +1224,7 @@ int error; #ifdef MAC - error = mac_check_proc_getaudit(kauth_cred_get()); + error = mac_proc_check_getaudit(kauth_cred_get()); if (error) return (error); #endif @@ -1262,7 +1262,7 @@ return (error); #ifdef MAC - error = mac_check_proc_setaudit(kauth_cred_get(), &temp_auditinfo); + error = mac_proc_check_setaudit(kauth_cred_get(), &temp_auditinfo); if (error) return (error); @@ -1374,7 +1374,7 @@ #ifdef MAC /* * Accessibility of the vnode was determined in - * vn_open; the mac_check_system_auditctl should only + * vn_open; the mac_system_check_auditctl should only * determine whether that vnode is appropriate for * storing audit data, or that the caller was * permitted to control the auditing system at all. @@ -1383,7 +1383,7 @@ * sensitivity. */ - error = mac_check_system_auditctl(kauth_cred_get(), nd.ni_vp); + error = mac_system_check_auditctl(kauth_cred_get(), nd.ni_vp); if (error) { vn_close(nd.ni_vp, audit_close_flags, kauth_cred_get(), p); vnode_put(vp); @@ -1401,7 +1401,7 @@ } #ifdef MAC else { - error = mac_check_system_auditctl(kauth_cred_get(), NULL); + error = mac_system_check_auditctl(kauth_cred_get(), NULL); if (error) return (error); } @@ -1502,7 +1502,7 @@ } mac.m_buflen = MAC_AUDIT_LABEL_LEN; mac.m_string = ar->k_ar.ar_cred_mac_labels; - mac_get_cred_audit_labels(p, &mac); + mac_cred_get_audit_labels(p, &mac); ar->k_ar.ar_mac_records = (struct mac_audit_record_list_t *) kalloc(sizeof(*ar->k_ar.ar_mac_records)); @@ -2501,7 +2501,7 @@ if (*vnode_mac_labelp != NULL) { mac.m_buflen = MAC_AUDIT_LABEL_LEN; mac.m_string = *vnode_mac_labelp; - mac_get_vnode_audit_labels(vp, &mac); + mac_vnode_get_audit_labels(vp, &mac); } else { /* XXX What to do here? This may be an "audit6" req. */ printf("Could not store vnode audit labels"); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_credential.c#3 (text+ko) ==== @@ -1601,7 +1601,7 @@ #endif #ifdef MAC - mac_init_cred(newcred); + mac_cred_init(newcred); #endif return(newcred); @@ -1654,7 +1654,7 @@ if (err == 0) break; #ifdef MAC - mac_destroy_cred(new_cred); + mac_cred_destroy(new_cred); #endif FREE(new_cred, M_KAUTH); new_cred = NULL; @@ -1939,12 +1939,12 @@ bcopy(cred, &temp_cred, sizeof(temp_cred)); - mac_init_cred(&temp_cred); - mac_create_cred(cred, &temp_cred); - mac_relabel_cred(&temp_cred, label); + mac_cred_init(&temp_cred); + mac_cred_create(cred, &temp_cred); + mac_cred_setlabel(&temp_cred, label); newcred = kauth_cred_update(cred, &temp_cred, TRUE); - mac_destroy_cred(&temp_cred); + mac_cred_destroy(&temp_cred); return (newcred); } #endif @@ -2016,7 +2016,7 @@ bcopy(cred, newcred, sizeof(*newcred)); #ifdef MAC newcred->cr_label = temp_label; - mac_create_cred(cred, newcred); + mac_cred_create(cred, newcred); #endif newcred->cr_ref = 1; } @@ -2041,7 +2041,7 @@ if (error == 0) break; #ifdef MAC - mac_destroy_cred(newcred); + mac_cred_destroy(newcred); #endif FREE(newcred, M_KAUTH); } @@ -2106,7 +2106,7 @@ if (err == 0) break; #ifdef MAC - mac_destroy_cred(newcred); + mac_cred_destroy(newcred); #endif FREE(newcred, M_KAUTH); newcred = NULL; @@ -2162,7 +2162,7 @@ if (err == 0) break; #ifdef MAC - mac_destroy_cred(new_cred); + mac_cred_destroy(new_cred); #endif FREE(new_cred, M_KAUTH); new_cred = NULL; @@ -2226,7 +2226,7 @@ /* found a match, remove it from the hash table */ TAILQ_REMOVE(&kauth_cred_table_anchor[hash_key], found_cred, cr_link); #ifdef MAC - mac_destroy_cred(cred); + mac_cred_destroy(cred); #endif FREE(cred, M_KAUTH); #if KAUTH_CRED_HASH_DEBUG ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_descrip.c#2 (text+ko) ==== @@ -381,7 +381,7 @@ pop = &fdp->fd_ofileflags[fd]; #ifdef MAC - error = mac_check_fcntl(fp->f_cred, fp, uap->cmd, uap->arg); + error = mac_file_check_fcntl(fp->f_cred, fp, uap->cmd, uap->arg); if (error) goto out; #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exec.c#3 (text+ko) ==== @@ -886,10 +886,10 @@ #ifdef MAC if (uap->mac_p != USER_ADDR_NULL) { - imgp->ip_execlabelp = mac_cred_label_alloc(); + imgp->ip_execlabelp = mac_cred_alloc_label(); error = mac_execve_enter(uap->mac_p, imgp->ip_execlabelp); if (error) { - mac_cred_label_free(imgp->ip_execlabelp); + mac_cred_free_label(imgp->ip_execlabelp); return (error); } } @@ -973,8 +973,8 @@ * actually read by the interpreter. */ #ifdef MAC - imgp->ip_scriptlabelp = mac_vnode_label_alloc(); - mac_copy_vnode_label(imgp->ip_vp->v_label, + imgp->ip_scriptlabelp = mac_vnode_alloc_label(); + mac_vnode_copy_label(imgp->ip_vp->v_label, imgp->ip_scriptlabelp); #endif vnode_put(imgp->ip_vp); @@ -1019,9 +1019,9 @@ } #ifdef MAC if (imgp->ip_execlabelp) - mac_cred_label_free(imgp->ip_execlabelp); + mac_cred_free_label(imgp->ip_execlabelp); if (imgp->ip_scriptlabelp) - mac_vnode_label_free(imgp->ip_scriptlabelp); + mac_vnode_free_label(imgp->ip_scriptlabelp); #endif return(error); @@ -1402,7 +1402,7 @@ } #ifdef MAC - error = mac_check_vnode_exec(p->p_ucred, vp, imgp->ip_execlabelp); + error = mac_vnode_check_exec(p->p_ucred, vp, imgp->ip_execlabelp); if (error) return (error); #endif @@ -1462,7 +1462,7 @@ #ifdef MAC int mac_transition; - mac_transition = mac_execve_will_transition(cred, imgp->ip_vp, + mac_transition = mac_vnode_execve_will_transition(cred, imgp->ip_vp, imgp->ip_scriptlabelp, imgp->ip_execlabelp, p); #endif @@ -1507,9 +1507,9 @@ * something similar here, or risk vulnerability. */ if (mac_transition && !imgp->ip_no_trans) { - mac_execve_transition(cred, p->p_ucred, imgp->ip_vp, + mac_vnode_execve_transition(cred, p->p_ucred, imgp->ip_vp, imgp->ip_scriptlabelp, imgp->ip_execlabelp); - mac_update_task_from_cred(p->p_ucred, p->task); + mac_task_update_from_cred(p->p_ucred, p->task); } #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_exit.c#3 (text+ko) ==== @@ -630,7 +630,7 @@ wakeup(&child->p_stat); #ifdef MAC - mac_destroy_proc(child); + mac_proc_destroy(child); #endif lck_mtx_destroy(&child->p_mlock, proc_lck_grp); @@ -678,7 +678,7 @@ continue; #ifdef MAC - if ((error = mac_check_proc_wait(kauth_cred_get(), p)) != 0) + if ((error = mac_proc_check_wait(kauth_cred_get(), p)) != 0) return (error); #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_fork.c#3 (text+ko) ==== @@ -290,7 +290,7 @@ } #ifdef MAC - mac_update_task_from_cred(child->p_ucred, task); + mac_task_update_from_cred(child->p_ucred, task); #endif if (child->p_nice != 0) @@ -443,7 +443,7 @@ panic("forkproc: M_SUBPROC zone exhausted (p_sigacts)"); #ifdef MAC - mac_init_proc(newproc); + mac_proc_init(newproc); #endif /* ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_ktrace.c#2 (text+ko) ==== @@ -625,7 +625,7 @@ !suser(caller, NULL)) return (1); #ifdef MAC - error = mac_check_proc_debug(caller, targetp); + error = mac_proc_check_debug(caller, targetp); if (error) return (error); #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_mman.c#3 (text+ko) ==== @@ -373,7 +373,7 @@ handle = (void *)vp; #ifdef MAC - error = mac_check_vnode_mmap(vfs_context_ucred(&context), + error = mac_vnode_check_mmap(vfs_context_ucred(&context), vp, prot, flags, &maxprot); if (error) { (void)vnode_put(vp); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#3 (text+ko) ==== @@ -894,7 +894,7 @@ LIST_INIT(&l->lc_members); lck_mtx_init(&l->lc_mtx, lctx_lck_grp, lctx_lck_attr); #ifdef MAC - l->lc_label = mac_lctx_label_alloc(); + l->lc_label = mac_lctx_alloc_label(); #endif ALLLCTX_LOCK; LIST_INSERT_HEAD(&alllctx, l, lc_list); @@ -956,7 +956,7 @@ LCTX_UNLOCK(l); lck_mtx_destroy(&l->lc_mtx, lctx_lck_grp); #ifdef MAC - mac_lctx_label_free(l->lc_label); + mac_lctx_free_label(l->lc_label); l->lc_label = NULL; #endif FREE(l, M_LCTX); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_prot.c#4 (text+ko) ==== @@ -1013,7 +1013,7 @@ HOST_PRIV_NULL : host_priv_self()) != KERN_SUCCESS); #ifdef MAC - mac_update_task_from_cred(p->p_ucred, p->task); + mac_task_update_from_cred(p->p_ucred, p->task); #endif } @@ -1058,7 +1058,7 @@ } #ifdef MAC - error = mac_check_proc_setlcid(p0, p, uap->pid, uap->lcid); + error = mac_proc_check_setlcid(p0, p, uap->pid, uap->lcid); if (error) return (error); #endif @@ -1140,7 +1140,7 @@ } #ifdef MAC - error = mac_check_proc_getlcid(p0, p, uap->pid); + error = mac_proc_check_getlcid(p0, p, uap->pid); if (error) return (error); #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_resource.c#2 (text+ko) ==== @@ -250,7 +250,7 @@ if (n < chgp->p_nice && suser(ucred, &curp->p_acflag)) return (EACCES); #ifdef MAC - error = mac_check_proc_sched(ucred, chgp); + error = mac_proc_check_sched(ucred, chgp); if (error) return (error); #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_sig.c#3 (text+ko) ==== @@ -135,7 +135,7 @@ void exit1(struct proc *, int, int *); void psignal_uthread(thread_t, int); kern_return_t do_bsdexception(int, int, int); -void __posix_sem_syscall_return(kern_return_t); +void __posixsem_syscall_return(kern_return_t); /* implementations in osfmk/kern/sync_sema.c. We do not want port.h in this scope, so void * them */ kern_return_t semaphore_timedwait_signal_trap_internal(void *, void *,time_t, int32_t, void (*)(int)); @@ -284,7 +284,7 @@ #ifdef MAC int error; - error = mac_check_proc_signal(uc, q, signum); + error = mac_proc_check_signal(uc, q, signum); if (error) return (0); #endif @@ -841,7 +841,7 @@ } void -__posix_sem_syscall_return(kern_return_t kern_result) +__posixsem_syscall_return(kern_return_t kern_result) { int error = 0; @@ -885,17 +885,17 @@ } if (uap->mutex_sem == (void *)NULL) - kern_result = semaphore_timedwait_trap_internal(uap->cond_sem, then.tv_sec, then.tv_nsec, __posix_sem_syscall_return); + kern_result = semaphore_timedwait_trap_internal(uap->cond_sem, then.tv_sec, then.tv_nsec, __posixsem_syscall_return); else - kern_result = semaphore_timedwait_signal_trap_internal(uap->cond_sem, uap->mutex_sem, then.tv_sec, then.tv_nsec, __posix_sem_syscall_return); + kern_result = semaphore_timedwait_signal_trap_internal(uap->cond_sem, uap->mutex_sem, then.tv_sec, then.tv_nsec, __posixsem_syscall_return); } else { if (uap->mutex_sem == (void *)NULL) - kern_result = semaphore_wait_trap_internal(uap->cond_sem, __posix_sem_syscall_return); + kern_result = semaphore_wait_trap_internal(uap->cond_sem, __posixsem_syscall_return); else - kern_result = semaphore_wait_signal_trap_internal(uap->cond_sem, uap->mutex_sem, __posix_sem_syscall_return); + kern_result = semaphore_wait_signal_trap_internal(uap->cond_sem, uap->mutex_sem, __posixsem_syscall_return); } out: ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_sysctl.c#2 (text+ko) ==== @@ -392,7 +392,7 @@ } #ifdef MAC - error = mac_check_system_sysctl( + error = mac_system_check_sysctl( p->p_ucred, (int *) name, uap->namelen, ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_time.c#3 (text+ko) ==== @@ -168,7 +168,7 @@ int error; #ifdef MAC - error = mac_check_system_settime(kauth_cred_get()); + error = mac_system_check_settime(kauth_cred_get()); if (error) return (error); #endif @@ -221,7 +221,7 @@ int error; #ifdef MAC - error = mac_check_system_settime(kauth_cred_get()); + error = mac_system_check_settime(kauth_cred_get()); if (error) return (error); #endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_xxx.c#4 (text+ko) ==== @@ -101,7 +101,7 @@ #ifdef MAC if (error) return (error); - error = mac_check_system_reboot(kauth_cred_get(), uap->opt); + error = mac_system_check_reboot(kauth_cred_get(), uap->opt); #endif if (!error) { SET(p->p_flag, P_REBOOT); /* No more signals for this proc */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/posix_sem.c#2 (text+ko) ==== @@ -144,11 +144,11 @@ LIST_HEAD(psemhashhead, psemcache) *psemhashtbl; /* Hash Table */ u_long psemhash; /* size of hash table - 1 */ long psemnument; /* number of cache entries allocated */ -long posix_sem_max = 10000; /* tunable for max POSIX semaphores */ +long posixsem_max = 10000; /* tunable for max POSIX semaphores */ /* 10000 limits to ~1M of memory */ SYSCTL_NODE(_kern, KERN_POSIX, posix, CTLFLAG_RW, 0, "Posix"); SYSCTL_NODE(_kern_posix, OID_AUTO, sem, CTLFLAG_RW, 0, "Semaphores"); -SYSCTL_INT (_kern_posix_sem, OID_AUTO, max, CTLFLAG_RW, &posix_sem_max, 0, "max"); +SYSCTL_INT (_kern_posix_sem, OID_AUTO, max, CTLFLAG_RW, &posixsem_max, 0, "max"); struct psemstats psemstats; /* cache effectiveness statistics */ @@ -271,7 +271,7 @@ if (psem_cache_search(&dpinfo, pnp, &dpcp) == -1) { return(EEXIST); } - if (psemnument >= posix_sem_max) + if (psemnument >= posixsem_max) return(ENOSPC); psemnument++; /* @@ -487,14 +487,14 @@ pinfo->sem_proc = p; #ifdef MAC PSEM_SUBSYS_UNLOCK(); - mac_init_posix_sem(pinfo); + mac_posixsem_init(pinfo); PSEM_SUBSYS_LOCK(); - error = mac_check_posix_sem_create(kauth_cred_get(), nameptr); + error = mac_posixsem_check_create(kauth_cred_get(), nameptr); if (error) { PSEM_SUBSYS_UNLOCK(); goto bad2; } - mac_create_posix_sem(kauth_cred_get(), pinfo, nameptr); + mac_posixsem_create(kauth_cred_get(), pinfo, nameptr); #endif } else { /* semaphore should exist as it is without O_CREAT */ @@ -511,7 +511,7 @@ AUDIT_ARG(posix_ipc_perm, pinfo->psem_uid, pinfo->psem_gid, pinfo->psem_mode); #ifdef MAC - error = mac_check_posix_sem_open(kauth_cred_get(), pinfo); + error = mac_posixsem_check_open(kauth_cred_get(), pinfo); if (error) { PSEM_SUBSYS_UNLOCK(); goto bad1; @@ -582,7 +582,7 @@ bad1: if (pinfo_alloc) { #ifdef MAC - mac_destroy_posix_sem(pinfo); + mac_posixsem_destroy(pinfo); #endif FREE(pinfo, M_SHM); } @@ -705,7 +705,7 @@ } else incache = 1; #ifdef MAC - error = mac_check_posix_sem_unlink(kauth_cred_get(), pinfo, nameptr); + error = mac_posixsem_check_unlink(kauth_cred_get(), pinfo, nameptr); if (error) { PSEM_SUBSYS_UNLOCK(); goto bad; @@ -800,7 +800,7 @@ goto out; } #ifdef MAC - error = mac_check_posix_sem_wait(kauth_cred_get(), pinfo); + error = mac_posixsem_check_wait(kauth_cred_get(), pinfo); if (error) { PSEM_SUBSYS_UNLOCK(); goto out; @@ -861,7 +861,7 @@ goto out; } #ifdef MAC - error = mac_check_posix_sem_wait(kauth_cred_get(), pinfo); + error = mac_posixsem_check_wait(kauth_cred_get(), pinfo); if (error) { PSEM_SUBSYS_UNLOCK(); goto out; @@ -925,7 +925,7 @@ goto out; } #ifdef MAC - error = mac_check_posix_sem_post(kauth_cred_get(), pinfo); + error = mac_posixsem_check_post(kauth_cred_get(), pinfo); if (error) { PSEM_SUBSYS_UNLOCK(); goto out; @@ -1030,7 +1030,7 @@ kret = semaphore_destroy(kernel_task, pinfo->psem_semobject); #ifdef MAC - mac_destroy_posix_sem(pinfo); + mac_posixsem_destroy(pinfo); #endif switch (kret) { ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/posix_shm.c#2 (text+ko) ==== @@ -488,14 +488,14 @@ pinfo->pshm_gid = kauth_cred_get()->cr_gid; #ifdef MAC PSHM_SUBSYS_UNLOCK(); - mac_init_posix_shm(pinfo); + mac_posixshm_init(pinfo); PSHM_SUBSYS_LOCK(); - error = mac_check_posix_shm_create(kauth_cred_get(), nameptr); + error = mac_posixshm_check_create(kauth_cred_get(), nameptr); if (error) { PSHM_SUBSYS_UNLOCK(); goto bad2; } - mac_create_posix_shm(kauth_cred_get(), pinfo, nameptr); + mac_posixshm_create(kauth_cred_get(), pinfo, nameptr); #endif } else { /* already exists */ @@ -507,7 +507,7 @@ AUDIT_ARG(posix_ipc_perm, pinfo->pshm_uid, pinfo->pshm_gid, pinfo->pshm_mode); #ifdef MAC - if ((error = mac_check_posix_shm_open( + if ((error = mac_posixshm_check_open( kauth_cred_get(), pinfo))) { PSHM_SUBSYS_UNLOCK(); goto bad1; @@ -597,7 +597,7 @@ bad2: if (pinfo_alloc) { #ifdef MAC - mac_destroy_posix_shm(pinfo); + mac_posixshm_destroy(pinfo); #endif FREE(pinfo, M_SHM); } @@ -642,7 +642,7 @@ return(EINVAL); } #ifdef MAC - error = mac_check_posix_shm_truncate(kauth_cred_get(), pinfo, size); + error = mac_posixshm_check_truncate(kauth_cred_get(), pinfo, size); if (error) { PSHM_SUBSYS_UNLOCK(); return(error); @@ -698,7 +698,7 @@ } #ifdef MAC - error = mac_check_posix_shm_stat(kauth_cred_get(), pinfo); + error = mac_posixshm_check_stat(kauth_cred_get(), pinfo); if (error) { PSHM_SUBSYS_UNLOCK(); return(error); @@ -814,7 +814,7 @@ } #ifdef MAC - error = mac_check_posix_shm_mmap(kauth_cred_get(), pinfo, prot, flags); + error = mac_posixshm_check_mmap(kauth_cred_get(), pinfo, prot, flags); if (error) { PSHM_SUBSYS_UNLOCK(); return(error); @@ -958,7 +958,7 @@ goto bad; } #ifdef MAC - error = mac_check_posix_shm_unlink(kauth_cred_get(), pinfo, nameptr); + error = mac_posixshm_check_unlink(kauth_cred_get(), pinfo, nameptr); if (error) { PSHM_SUBSYS_UNLOCK(); goto bad; @@ -1028,7 +1028,7 @@ mach_memory_entry_port_release(pinfo->pshm_memobject); PSHM_SUBSYS_LOCK(); #ifdef MAC - mac_destroy_posix_shm(pinfo); + mac_posixshm_destroy(pinfo); #endif FREE(pinfo,M_SHM); } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_pipe.c#2 (text+ko) ==== @@ -353,12 +353,12 @@ * XXXXXXXX SHOULD NOT HOLD FILE_LOCK() XXXXXXXXXXXX * * struct pipe represents a pipe endpoint. The MAC label is shared - * between the connected endpoints. As a result mac_init_pipe() and - * mac_create_pipe() should only be called on one of the endpoints + * between the connected endpoints. As a result mac_pipe_init() and + * mac_pipe_create() should only be called on one of the endpoints * after they have been connected. */ - mac_init_pipe(rpipe); - mac_create_pipe(kauth_cred_get(), rpipe); + mac_pipe_init(rpipe); + mac_pipe_create(kauth_cred_get(), rpipe); wpipe->pipe_label = rpipe->pipe_label; #endif proc_fdlock(p); @@ -396,7 +396,7 @@ return (EBADF); #ifdef MAC PIPE_LOCK(cpipe); - error = mac_check_pipe_stat(kauth_cred_get(), cpipe); + error = mac_pipe_check_stat(kauth_cred_get(), cpipe); PIPE_UNLOCK(cpipe); if (error) return (error); @@ -572,7 +572,7 @@ goto unlocked_error; #ifdef MAC - error = mac_check_pipe_read(kauth_cred_get(), rpipe); + error = mac_pipe_check_read(kauth_cred_get(), rpipe); if (error) goto locked_error; #endif @@ -983,7 +983,7 @@ return (EPIPE); } #ifdef MAC - error = mac_check_pipe_write(kauth_cred_get(), wpipe); + error = mac_pipe_check_write(kauth_cred_get(), wpipe); if (error) { PIPE_UNLOCK(rpipe); return (error); @@ -1292,7 +1292,7 @@ PIPE_LOCK(mpipe); #ifdef MAC - error = mac_check_pipe_ioctl(kauth_cred_get(), mpipe, cmd, data); + error = mac_pipe_check_ioctl(kauth_cred_get(), mpipe, cmd, data); if (error) { PIPE_UNLOCK(mpipe); @@ -1358,7 +1358,7 @@ wpipe = rpipe->pipe_peer; #ifdef MAC - if (mac_check_pipe_select(proc_ucred(p), rpipe, which)) { + if (mac_pipe_check_select(proc_ucred(p), rpipe, which)) { PIPE_UNLOCK(rpipe); return (0); } @@ -1479,7 +1479,7 @@ * Free the shared pipe label only after the two ends are disconnected. */ if (cpipe->pipe_label != NULL && cpipe->pipe_peer == NULL) - mac_destroy_pipe(cpipe); + mac_pipe_destroy(cpipe); #endif /* @@ -1535,7 +1535,7 @@ PIPE_LOCK(cpipe); #ifdef MAC - if (mac_check_pipe_kqfilter(proc_ucred(p), kn, cpipe) != 0) { + if (mac_pipe_check_kqfilter(proc_ucred(p), kn, cpipe) != 0) { PIPE_UNLOCK(cpipe); return (1); } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sys_socket.c#3 (text+ko) ==== @@ -126,7 +126,7 @@ } #ifdef MAC_SOCKET SOCK_LOCK(so); - error = mac_check_socket_receive(proc_ucred(p), so); + error = mac_socket_check_receive(proc_ucred(p), so); SOCK_UNLOCK(so); if (error) return (error); @@ -163,7 +163,7 @@ #ifdef MAC_SOCKET SOCK_LOCK(so); - error = mac_check_socket_send(proc_ucred(procp), so); + error = mac_socket_check_send(proc_ucred(procp), so); SOCK_UNLOCK(so); if (error) return (error); @@ -360,7 +360,7 @@ socket_lock(so, 1); #ifdef MAC_SOCKET - if (mac_check_socket_select(proc_ucred(p), so, which)) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:26:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 160D216A4DF; Wed, 30 Aug 2006 21:26:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D575A16A4DD for ; Wed, 30 Aug 2006 21:26:08 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85E0843D49 for ; Wed, 30 Aug 2006 21:26:08 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULQ85G037863 for ; Wed, 30 Aug 2006 21:26:08 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULQ8lF037860 for perforce@freebsd.org; Wed, 30 Aug 2006 21:26:08 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:26:08 GMT Message-Id: <200608302126.k7ULQ8lF037860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:26:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=105366 Change 105366 by millert@millert_g4tower on 2006/08/30 21:26:00 Correct label allocation for sysv message queues. This brings the API back into line with FreeBSD, corrects a bug, and correctly manages label storage entirely with the MAC Framework Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_msg.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_framework.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_msg.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/sysv_msg.c#4 (text+ko) ==== @@ -239,7 +239,7 @@ msqids[i].u.msg_qbytes = 0; /* implies entry is available */ msqids[i].u.msg_perm.seq = 0; /* reset to a known value */ #ifdef MAC - mac_sysvmsq_init(msqids[i].label); + mac_sysvmsq_init(&msqids[i]); #endif } } @@ -383,7 +383,7 @@ msqptr->u.msg_qbytes = 0; /* Mark it as free */ #ifdef MAC - mac_sysvmsq_cleanup(msqptr->label); + mac_sysvmsq_cleanup(msqptr); #endif wakeup((caddr_t)msqptr); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_framework.h#3 (text+ko) ==== @@ -98,7 +98,7 @@ void mac_proc_init(struct proc *); int mac_socket_init(struct socket *, int waitok); void mac_sysvmsg_init(struct msg *); -void mac_sysvmsq_init(struct label *); +void mac_sysvmsq_init(struct msqid_kernel *msqptr); void mac_sysvsem_init(struct semid_kernel*); void mac_sysvshm_init(struct shmid_kernel*); void mac_vnode_init(struct vnode *vp); @@ -248,7 +248,7 @@ * object to a pool. This hook does not replace the mac_destroy hooks. */ void mac_sysvmsg_cleanup(struct msg *msgptr); -void mac_sysvmsq_cleanup(struct label *msqlabel); +void mac_sysvmsq_cleanup(struct msqid_kernel *msqptr); void mac_sysvsem_cleanup(struct semid_kernel *semakptr); void mac_sysvshm_cleanup(struct shmid_kernel *shmsegptr); void mac_vnode_cleanup(struct vnode *vp); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_msg.c#3 (text+ko) ==== @@ -50,9 +50,10 @@ } void -mac_sysvmsq_init(struct label *label) +mac_sysvmsq_init(struct msqid_kernel *msqptr) { - label = mac_sysv_msgqueue_alloc_label(); + + msqptr->label = mac_sysv_msgqueue_alloc_label(); } void @@ -79,10 +80,10 @@ } void -mac_sysvmsq_cleanup(struct label *msqlabel) +mac_sysvmsq_cleanup(struct msqid_kernel *msqptr) { - MAC_PERFORM(sysvmsq_cleanup, msqlabel); + MAC_PERFORM(sysvmsq_cleanup, msqptr->label); } int From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:27:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A267316A4E1; Wed, 30 Aug 2006 21:27:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 804BA16A4DD for ; Wed, 30 Aug 2006 21:27:10 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CF0E43D53 for ; Wed, 30 Aug 2006 21:27:10 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULRArK037936 for ; Wed, 30 Aug 2006 21:27:10 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULRAie037933 for perforce@freebsd.org; Wed, 30 Aug 2006 21:27:10 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:27:10 GMT Message-Id: <200608302127.k7ULRAie037933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:27:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=105367 Change 105367 by millert@millert_g4tower on 2006/08/30 21:26:32 Add missing forward declaration for struct task. Quiets a compiler warning. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#6 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#6 (text+ko) ==== @@ -58,6 +58,7 @@ struct auditinfo; struct attrlist; struct bpf_d; +struct devnode; struct ifnet; struct ipq; struct label; @@ -69,10 +70,10 @@ struct sbuf; struct semid_kernel; struct shmid_kernel; -struct xsocket; +struct task; struct ucred; struct vnode; -struct devnode; +struct xsocket; /** @struct dummy */ /*- From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:27:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1723216A576; Wed, 30 Aug 2006 21:27:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E980F16A55D for ; Wed, 30 Aug 2006 21:27:10 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A160743D53 for ; Wed, 30 Aug 2006 21:27:10 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULRANn037944 for ; Wed, 30 Aug 2006 21:27:10 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULRA7L037940 for perforce@freebsd.org; Wed, 30 Aug 2006 21:27:10 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:27:10 GMT Message-Id: <200608302127.k7ULRA7L037940@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:27:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=105368 Change 105368 by millert@millert_g4tower on 2006/08/30 21:27:07 Add missing xsocket conversion. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_net.c#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_net.c#4 (text+ko) ==== @@ -187,12 +187,14 @@ mac_socket_create_mbuf(struct socket *socket, struct mbuf *mbuf) { struct label *label; + struct xsocket xso; /* socket must be locked */ label = mac_mbuf_to_label(mbuf); /* Policy must deal with NULL label (unlabeled mbufs) */ - MAC_PERFORM(socket_create_mbuf, socket, socket->so_label, + sotoxsocket(socket, &xso); + MAC_PERFORM(socket_create_mbuf, &xso, socket->so_label, mbuf, label); } From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:28:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D852F16A4DE; Wed, 30 Aug 2006 21:28:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4AF416A4DA for ; Wed, 30 Aug 2006 21:28:12 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FD3D43D49 for ; Wed, 30 Aug 2006 21:28:12 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULSCrv038117 for ; Wed, 30 Aug 2006 21:28:12 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULSCFB038114 for perforce@freebsd.org; Wed, 30 Aug 2006 21:28:12 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:28:12 GMT Message-Id: <200608302128.k7ULSCFB038114@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:28:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=105369 Change 105369 by millert@millert_g4tower on 2006/08/30 21:28:03 Add back task_name_t since it is still present in the 10.4.7 binary release. This fixes a problem where a machine with SEDarwin installed could not self-host. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/mach_types.defs#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/mach_types.h#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/mach_types.defs#2 (text+ko) ==== @@ -104,6 +104,14 @@ #endif /* KERNEL_SERVER */ ; +type task_name_t = mach_port_t +#if KERNEL_SERVER + intran: task_name_t convert_port_to_task_name(mach_port_t) + outtran: mach_port_t convert_task_name_to_port(task_name_t) + destructor: task_name_deallocate(task_name_t) +#endif /* KERNEL_SERVER */ + ; + type thread_t = mach_port_t #if KERNEL_SERVER intran: thread_t convert_port_to_thread(mach_port_t) ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/mach_types.h#2 (text+ko) ==== @@ -151,6 +151,7 @@ * ports at user-space. */ typedef mach_port_t task_t; +typedef mach_port_t task_name_t; typedef mach_port_t thread_t; typedef mach_port_t thread_act_t; typedef mach_port_t ipc_space_t; @@ -236,6 +237,7 @@ #define TASK_NULL ((task_t) 0) +#define TASK_NAME_NULL ((task_name_t) 0) #define THREAD_NULL ((thread_t) 0) #define THR_ACT_NULL ((thread_act_t) 0) #define IPC_SPACE_NULL ((ipc_space_t) 0) From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:29:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A675E16A4E1; Wed, 30 Aug 2006 21:29:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7DA5016A4DA for ; Wed, 30 Aug 2006 21:29:14 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A96D43D46 for ; Wed, 30 Aug 2006 21:29:14 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULTEHL038171 for ; Wed, 30 Aug 2006 21:29:14 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULTEqD038168 for perforce@freebsd.org; Wed, 30 Aug 2006 21:29:14 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:29:14 GMT Message-Id: <200608302129.k7ULTEqD038168@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105370 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:29:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=105370 Change 105370 by millert@millert_g4tower on 2006/08/30 21:28:38 Fix port label memory leak introduced by @4676. Now that the port label is initialized in ipc_object_alloc() we don't need to do it (again) in ipc_port_init(). We *do*, however, need to init the port label in ipc_port_alloc_special(), since that doesn't go through the normal ipc_object_alloc() code path (kernel ports are special). Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_port.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_port.c#3 (text+ko) ==== @@ -471,10 +471,6 @@ #endif /* MACH_ASSERT */ ipc_mqueue_init(&port->ip_messages, FALSE /* set */); - -#ifdef MAC - mac_port_init_label (&port->ip_label); -#endif } /* @@ -1153,7 +1149,7 @@ * we will use a new entry point for this purpose, as current_task() * is often wrong (i.e. not kernel_task) or null. */ - + mac_port_init_label(&port->ip_label); mac_port_create_kernel(&port->ip_label, space == ipc_space_reply); #endif From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:31:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6289A16A4E7; Wed, 30 Aug 2006 21:31:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AFFF16A4E5 for ; Wed, 30 Aug 2006 21:31:30 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 57F9543D6E for ; Wed, 30 Aug 2006 21:31:18 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULVHgj038453 for ; Wed, 30 Aug 2006 21:31:17 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULVHVO038450 for perforce@freebsd.org; Wed, 30 Aug 2006 21:31:17 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:31:17 GMT Message-Id: <200608302131.k7ULVHVO038450@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:31:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105372 Change 105372 by millert@millert_g4tower on 2006/08/30 21:30:43 Do not consume a port reference in labelh_destroy(), ipc_port_destroy() will do this for us. Fixes an int underflow that was causing label handle ipc ports to never be deallocated. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#3 (text+ko) ==== @@ -202,7 +202,6 @@ { ipc_labelh_t lh = (ipc_labelh_t) port->ip_kobject; - ip_release(lh->lh_port); mac_port_destroy_label(&lh->lh_label); zfree(ipc_labelh_zone, (vm_offset_t)lh); } From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:34:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D1D816A4DE; Wed, 30 Aug 2006 21:34:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 624AE16A4E1 for ; Wed, 30 Aug 2006 21:34:39 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4615E43D5E for ; Wed, 30 Aug 2006 21:34:30 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULYL2M038626 for ; Wed, 30 Aug 2006 21:34:21 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULYLZL038623 for perforce@freebsd.org; Wed, 30 Aug 2006 21:34:21 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:34:21 GMT Message-Id: <200608302134.k7ULYLZL038623@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105373 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:34:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=105373 Change 105373 by millert@millert_g4tower on 2006/08/30 21:33:36 The label on a label handle is a task label, not a port label so call the appropriate entry point. There are some mismatches we can't fix yet due to non-existent entrypoints so just note those with an XXX for now. In practice this doesn't cause problems since policies use the same label structure for ports and tasks. We really need task label internalize, external and copy entrypoints or we should just collapse port and task labels into a single label type. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#4 (text+ko) ==== @@ -90,13 +90,14 @@ struct label inl; kern_return_t kr; - mac_port_init_label(&inl); + mac_task_init_label(&inl); + /* XXX - should be mac_task_internalize_label */ if (mac_port_internalize_label(&inl, labelstr)) return (KERN_INVALID_ARGUMENT); kr = labelh_new_user(space, &inl, namep); if (kr != KERN_SUCCESS) { - mac_port_destroy_label(&inl); + mac_task_destroy_label(&inl); return (kr); } @@ -139,7 +140,8 @@ lh = labelh_new(); ip_lock(lh->lh_port); - mac_port_init_label(&lh->lh_label); + mac_task_init_label(&lh->lh_label); + /* XXX - should be mac_task_copy_label */ mac_port_copy_label(&old->lh_label, &lh->lh_label); ip_unlock(lh->lh_port); return (lh); @@ -202,6 +204,6 @@ { ipc_labelh_t lh = (ipc_labelh_t) port->ip_kobject; - mac_port_destroy_label(&lh->lh_label); + mac_task_destroy_label(&lh->lh_label); zfree(ipc_labelh_zone, (vm_offset_t)lh); } From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:36:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 651F316A4EE; Wed, 30 Aug 2006 21:36:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3E4F316A4EB for ; Wed, 30 Aug 2006 21:36:31 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D790043D6E for ; Wed, 30 Aug 2006 21:36:24 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULaOUC038808 for ; Wed, 30 Aug 2006 21:36:24 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULaO30038804 for perforce@freebsd.org; Wed, 30 Aug 2006 21:36:24 GMT (envelope-from millert@freebsd.org) Date: Wed, 30 Aug 2006 21:36:24 GMT Message-Id: <200608302136.k7ULaO30038804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 105374 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:36:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=105374 Change 105374 by millert@millert_g4tower on 2006/08/30 21:35:45 Better initial values for zinit() Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#11 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#11 (text+ko) ==== @@ -212,7 +212,7 @@ /* We use task_security_struct for creds and ports too. */ task_security_zone = mac_zinit(sizeof(struct task_security_struct), - 10240 * sizeof(struct task_security_struct), 0, + 2048 * sizeof(struct task_security_struct), 0, "task_security_struct"); /* Want to use maxsockets here. */ @@ -222,7 +222,7 @@ /* Want to use desiredvnodes here. */ vnode_security_zone = mac_zinit(sizeof(struct vnode_security_struct), - 10240 * sizeof(struct vnode_security_struct), 0, + 8192 * sizeof(struct vnode_security_struct), 0, "vnode_security_struct"); /* Want to use maxsockets here. */ From owner-p4-projects@FreeBSD.ORG Wed Aug 30 21:45:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DB6D16A4DE; Wed, 30 Aug 2006 21:45:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D72716A4DA for ; Wed, 30 Aug 2006 21:45:37 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2482E43D53 for ; Wed, 30 Aug 2006 21:45:37 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7ULjbdx039287 for ; Wed, 30 Aug 2006 21:45:37 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7ULjajR039284 for perforce@freebsd.org; Wed, 30 Aug 2006 21:45:36 GMT (envelope-from piso@freebsd.org) Date: Wed, 30 Aug 2006 21:45:36 GMT Message-Id: <200608302145.k7ULjajR039284@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 21:45:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=105375 Change 105375 by piso@piso_newluxor on 2006/08/30 21:45:28 Fix a forgotten rw_runlock() and try to be a bit more style friendly. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#11 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#11 (text+ko) ==== @@ -2120,7 +2120,7 @@ int sof_redir = sizeof(struct cfg_redir); int sof_spool = sizeof(struct cfg_spool); struct cfg_redir *r, *ser_r; - struct cfg_spool *s, *ser_s; + struct cfg_spool *s, *ser_s; int cnt, off, i; char *panic_err; @@ -2177,10 +2177,10 @@ break; } if (r->alink[0] == NULL) { - panic_err = "LibAliasRedirect* returned NULL!!!\n"; + panic_err = "LibAliasRedirect* returned NULL"; goto bad; } else /* LSNAT handling. */ - for (i=0; i < r->spool_cnt; i++) { + for (i = 0; i < r->spool_cnt; i++) { ser_s = (struct cfg_spool *)&buf[off]; s = malloc(sof_redir, M_IPFW, M_NOWAIT | M_ZERO); if (s == NULL) { @@ -4650,18 +4650,21 @@ bcopy(s, &data[off], sof_spool); off += sof_spool; } else - break; + goto nospace; } } else - break; + goto nospace; } } else - break; + goto nospace; } NAT_RUNLOCK(&nat_chain_rwl); - error = sooptcopyout(sopt, data, NAT_BUF_LEN); free(data, M_IPFW); + nospace: + NAT_RUNLOCK(&nat_chain_rwl); + printf("serialized data buffer not big enough: please increase NAT_BUF_LEN\n"); + free(data, M_IPFW); } break; @@ -4680,8 +4683,10 @@ cnt++; size = cnt * (sof + sizeof(int)); data = realloc(data, size, M_IPFW, M_NOWAIT | M_ZERO); - if (data == NULL) + if (data == NULL) { + NAT_RUNLOCK(&nat_chain_rwl); return (ENOSPC); + } bcopy(&ptr->id, &data[i], sizeof(int)); i += sizeof(int); bcopy(ptr->lib->logDesc, &data[i], sof); From owner-p4-projects@FreeBSD.ORG Wed Aug 30 23:16:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A09F16A4E0; Wed, 30 Aug 2006 23:16:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ECD7A16A4DE for ; Wed, 30 Aug 2006 23:16:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5CB343D45 for ; Wed, 30 Aug 2006 23:16:32 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UNGWk4045728 for ; Wed, 30 Aug 2006 23:16:32 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UNGWVD045725 for perforce@freebsd.org; Wed, 30 Aug 2006 23:16:32 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 30 Aug 2006 23:16:32 GMT Message-Id: <200608302316.k7UNGWVD045725@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 23:16:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105376 Change 105376 by mjacob@newisp on 2006/08/30 23:15:34 Delete old stuff that's too hard to maintain. Affected files ... .. //depot/projects/newisp/dev/isp/DriverManual.txt#2 delete .. //depot/projects/newisp/dev/isp/Hardware.txt#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Aug 30 23:17:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EFA116A4E0; Wed, 30 Aug 2006 23:17:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A75516A4DE for ; Wed, 30 Aug 2006 23:17:35 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B1BDB43D45 for ; Wed, 30 Aug 2006 23:17:34 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UNHYRW045778 for ; Wed, 30 Aug 2006 23:17:34 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UNHYjO045775 for perforce@freebsd.org; Wed, 30 Aug 2006 23:17:34 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 30 Aug 2006 23:17:34 GMT Message-Id: <200608302317.k7UNHYjO045775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105377 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 23:17:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=105377 Change 105377 by mjacob@newisp on 2006/08/30 23:16:53 Remove ad hoc pci posting code and put it in the register write functions where it belongs. Some style diffs. Some 2400 specific defines. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#4 edit .. //depot/projects/newisp/dev/isp/isp_pci.c#5 edit .. //depot/projects/newisp/dev/isp/ispreg.h#3 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#4 (text+ko) ==== @@ -271,7 +271,9 @@ * or write FPM/FBM registers). */ if (IS_24XX(isp)) { - ISP_WRITE(isp, BIU2400_HCCR, HCCR_CMD_PAUSE); + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_HOST_INT); + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_PAUSE); } else { ISP_WRITE(isp, HCCR, HCCR_CMD_PAUSE); } @@ -595,15 +597,11 @@ */ if (IS_24XX(isp)) { ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_RESET); - val = ISP_READ(isp, BIU2400_HCCR); ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_RELEASE); - val = ISP_READ(isp, BIU2400_HCCR); ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RESET); - val = ISP_READ(isp, BIU2400_HCCR); } else { ISP_WRITE(isp, HCCR, HCCR_CMD_RESET); USEC_DELAY(100); - /* Clear semaphore register (just to be sure) */ ISP_WRITE(isp, BIU_SEMA, 0); } @@ -4278,7 +4276,12 @@ } while (junk != iptr && ++i < 1000); if (iptr != junk) { - ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT); + if (IS_24XX(isp)) { + ISP_WRITE(isp, BIU2400_HCCR, + HCCR_2400_CMD_CLEAR_RISC_INT); + } else { + ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT); + } isp_prt(isp, ISP_LOGWARN, "Response Queue Out Pointer Unstable (%x, %x)", iptr, junk); @@ -4693,8 +4696,9 @@ case ASYNC_BUS_RESET: isp->isp_sendmarker |= (1 << bus); #ifdef ISP_TARGET_MODE - if (isp_target_async(isp, bus, mbox)) + if (isp_target_async(isp, bus, mbox)) { rval = -1; + } #endif isp_async(isp, ISPASYNC_BUS_RESET, &bus); break; @@ -4752,8 +4756,9 @@ "timeout initiated SCSI bus reset of bus %d", bus); isp->isp_sendmarker |= (1 << bus); #ifdef ISP_TARGET_MODE - if (isp_target_async(isp, bus, mbox)) + if (isp_target_async(isp, bus, mbox)) { rval = -1; + } #endif break; @@ -4761,8 +4766,9 @@ isp_prt(isp, ISP_LOGINFO, "device reset on bus %d", bus); isp->isp_sendmarker |= (1 << bus); #ifdef ISP_TARGET_MODE - if (isp_target_async(isp, bus, mbox)) + if (isp_target_async(isp, bus, mbox)) { rval = -1; + } #endif break; @@ -4873,8 +4879,9 @@ isp_mark_portdb(isp, 1); isp_async(isp, ISPASYNC_LIP, NULL); #ifdef ISP_TARGET_MODE - if (isp_target_async(isp, bus, mbox)) + if (isp_target_async(isp, bus, mbox)) { rval = -1; + } #endif /* * We've had problems with data corruption occuring on @@ -5031,8 +5038,9 @@ isp_prt(isp, ISP_LOGDEBUG3, "fast post completion of %u", handles[i]); } - if (isp->isp_fpcchiwater < nh) + if (isp->isp_fpcchiwater < nh) { isp->isp_fpcchiwater = nh; + } } else { isp->isp_intoasync++; } ==== //depot/projects/newisp/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -335,9 +335,7 @@ int16_t pci_poff[_NREG_BLKS]; bus_dma_tag_t dmat; bus_dmamap_t *dmaps; - struct callout_handle xx; }; -static timeout_t isp_kick; static device_method_t isp_pci_methods[] = { @@ -999,20 +997,40 @@ cmd &= ~PCIM_CMD_INVEN; } - if (IS_23XX(isp)) { - /* - * Can't tell if ROM will hang on 'ABOUT FIRMWARE' command. - */ - isp->isp_touched = 1; - - } - if (IS_2322(isp) || pci_get_devid(dev) == PCI_QLOGIC_ISP6312) { cmd &= ~PCIM_CMD_INTX_DISABLE; } if (IS_24XX(isp)) { + int reg; + cmd &= ~PCIM_CMD_INTX_DISABLE; + + /* + * Is this a PCI-X card? If so, set max read byte count. + */ + if (pci_find_extcap(dev, PCIY_PCIX, ®) == 0) { + uint16_t pxcmd; + reg += 2; + + pxcmd = pci_read_config(dev, reg, 2); + pxcmd &= ~0xc; + pxcmd |= 0x8; + pci_write_config(dev, reg, 2, pxcmd); + } + + /* + * Is this a PCI Express card? If so, set max read byte count. + */ + if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { + uint16_t pectl; + + reg += 0x8; + pectl = pci_read_config(dev, reg, 2); + pectl &= ~0x7000; + pectl |= 0x4000; + pci_write_config(dev, reg, 2, pectl); + } } pci_write_config(dev, PCIR_COMMAND, cmd, 2); @@ -1070,6 +1088,13 @@ isp->isp_port = pci_get_function(dev); } + if (IS_23XX(isp)) { + /* + * Can't tell if ROM will hang on 'ABOUT FIRMWARE' command. + */ + isp->isp_touched = 1; + } + /* * Make sure we're in reset state. */ @@ -1097,9 +1122,6 @@ */ ISP_UNLOCK(isp); - if (IS_24XX(isp)) - pcs->xx = timeout(isp_kick, isp, hz/10); - return (0); bad: @@ -1153,30 +1175,12 @@ } isp = (ispsoftc_t *) pcs; ISP_LOCK(isp); - if (IS_24XX(isp)) { - untimeout(isp_kick, isp, pcs->xx); - } DISABLE_INTS(isp); ISP_UNLOCK(isp); return (0); } static void -isp_kick(void *arg) -{ - ispsoftc_t *isp = arg; - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; - uint32_t isr, sema, mbox; - - ISP_LOCK(isp); - if (ISP_READ_ISR(isp, &isr, &sema, &mbox)) { - isp_intr(isp, isr, sema, mbox); - } - pcs->xx = timeout(isp_kick, isp, hz/10); - ISP_UNLOCK(isp); -} - -static void isp_pci_intr(void *arg) { ispsoftc_t *isp = arg; @@ -1360,6 +1364,7 @@ *semap = 0; return (1); default: + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); isp_prt(isp, ISP_LOGERR, "unknown interrupt 0x%x\n", r2hisr); return (0); } @@ -1392,6 +1397,7 @@ { struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int oldconf = 0; + volatile int junk; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { /* @@ -1400,10 +1406,13 @@ oldconf = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oldconf | BIU_PCI_CONF1_SXP); + junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); } BXW2(pcs, IspVirt2Off(isp, regoff), val); + junk = BXR2(pcs, IspVirt2Off(isp, regoff)); if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oldconf); + junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); } } @@ -1443,6 +1452,7 @@ { struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int oc = 0; + volatile int junk; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK || (regoff & _BLK_REG_MASK) == (SXP_BLOCK|SXP_BANK1_SELECT)) { @@ -1457,14 +1467,18 @@ else tc |= BIU_PCI1080_CONF1_SXP0; BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), tc); + junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); } else if ((regoff & _BLK_REG_MASK) == DMA_BLOCK) { oc = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oc | BIU_PCI1080_CONF1_DMA); + junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); } BXW2(pcs, IspVirt2Off(isp, regoff), val); + junk = BXR2(pcs, IspVirt2Off(isp, regoff)); if (oc) { BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oc); + junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); } } @@ -1536,12 +1550,14 @@ { struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int block = regoff & _BLK_REG_MASK; + volatile int junk; switch (block) { case BIU_BLOCK: break; case MBOX_BLOCK: BXW2(pcs, IspVirt2Off(pcs, regoff), val); + junk = BXR2(pcs, IspVirt2Off(pcs, regoff)); return; case SXP_BLOCK: isp_prt(isp, ISP_LOGWARN, "SXP_BLOCK write at 0x%x", regoff); @@ -1577,6 +1593,7 @@ case BIU2400_GPIOE: case BIU2400_HSEMA: BXW4(pcs, IspVirt2Off(pcs, regoff), val); + junk = BXR4(pcs, IspVirt2Off(pcs, regoff)); break; default: isp_prt(isp, ISP_LOGERR, ==== //depot/projects/newisp/dev/isp/ispreg.h#3 (text+ko) ==== @@ -239,8 +239,7 @@ ISP_WRITE(isp, BIU_ICR, BIU_IMASK) : \ (IS_24XX(isp) ? \ (ISP_WRITE(isp, BIU2400_ICR, BIU2400_IMASK)) : \ - (ISP_WRITE(isp, BIU_ICR, BIU2100_IMASK)))); \ - (void) INTS_ENABLED(isp) + (ISP_WRITE(isp, BIU_ICR, BIU2100_IMASK)))) #define DISABLE_INTS(isp) \ IS_24XX(isp)? ISP_WRITE(isp, BIU2400_ICR, 0) : ISP_WRITE(isp, BIU_ICR, 0) @@ -405,11 +404,11 @@ #define BIU2400_SOFT_RESET (1 << 0) /* BIU2400_ICR definitions */ -#define BIU2400_ICR_ENA_RISC_INT (1 << 3) -#define BIU2400_IMASK (BIU2400_ICR_ENA_RISC_INT) +#define BIU2400_ICR_ENA_RISC_INT 0x8 +#define BIU2400_IMASK (BIU2400_ICR_ENA_RISC_INT) /* BIU2400_ISR definitions */ -#define BIU2400_ISR_RISC_INT (1 << 3) +#define BIU2400_ISR_RISC_INT 0x8 #define BIU2400_R2HST_INTR BIU_R2HST_INTR #define BIU2400_R2HST_PAUSED BIU_R2HST_PAUSED From owner-p4-projects@FreeBSD.ORG Wed Aug 30 23:22:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E2FE16A4DF; Wed, 30 Aug 2006 23:22:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 18A8A16A4DD for ; Wed, 30 Aug 2006 23:22:46 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E799143D77 for ; Wed, 30 Aug 2006 23:22:41 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7UNMfYq046059 for ; Wed, 30 Aug 2006 23:22:41 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7UNMfcd046056 for perforce@freebsd.org; Wed, 30 Aug 2006 23:22:41 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 30 Aug 2006 23:22:41 GMT Message-Id: <200608302322.k7UNMfcd046056@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105378 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 30 Aug 2006 23:22:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=105378 Change 105378 by mjacob@newisp on 2006/08/30 23:22:04 Add a few missing 2400 specific register writes. At this point, the interrupt kick helper is gone, so the 24XX doesn't actually work at present (until we figure out how to re-arm interrupts). Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#5 edit .. //depot/projects/newisp/dev/isp/isp_freebsd.c#3 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#5 (text+ko) ==== @@ -5714,8 +5714,12 @@ /* * Clear the previous interrupt. */ - ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT); - ISP_WRITE(isp, BIU_SEMA, 0); + if (IS_24XX(isp)) { + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); + } else { + ISP_WRITE(isp, HCCR, HCCR_CMD_CLEAR_RISC_INT); + ISP_WRITE(isp, BIU_SEMA, 0); + } /* * Continue with next word. ==== //depot/projects/newisp/dev/isp/isp_freebsd.c#3 (text+ko) ==== @@ -3192,7 +3192,11 @@ void isp_uninit(ispsoftc_t *isp) { - ISP_WRITE(isp, HCCR, HCCR_CMD_RESET); + if (IS_24XX(isp)) { + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_RESET); + } else { + ISP_WRITE(isp, HCCR, HCCR_CMD_RESET); + } DISABLE_INTS(isp); } From owner-p4-projects@FreeBSD.ORG Thu Aug 31 05:26:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AAD116A4E1; Thu, 31 Aug 2006 05:26:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEE9416A4DF for ; Thu, 31 Aug 2006 05:26:20 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C9FC43D53 for ; Thu, 31 Aug 2006 05:26:20 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7V5QKXd091392 for ; Thu, 31 Aug 2006 05:26:20 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7V5QKS9091389 for perforce@freebsd.org; Thu, 31 Aug 2006 05:26:20 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 31 Aug 2006 05:26:20 GMT Message-Id: <200608310526.k7V5QKS9091389@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105385 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 05:26:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105385 Change 105385 by mjacob@newisp on 2006/08/31 05:25:43 Fix crocked 2400 register offsets for ICR && ISR. Interrupts now work. Yay. Affected files ... .. //depot/projects/newisp/dev/isp/isp_pci.c#6 edit .. //depot/projects/newisp/dev/isp/ispreg.h#4 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp_pci.c#6 (text+ko) ==== @@ -1186,7 +1186,6 @@ ispsoftc_t *isp = arg; uint32_t isr, sema, mbox; -if (IS_24XX(isp)) printf("#"); ISP_LOCK(isp); isp->isp_intcnt++; if (ISP_READ_ISR(isp, &isr, &sema, &mbox) == 0) { @@ -1510,11 +1509,11 @@ switch (regoff) { - case BIU_SEMA: - rv = 0; - break; case BIU2400_FLASH_ADDR: case BIU2400_FLASH_DATA: + case BIU2400_ICR: + case BIU2400_ISR: + case BIU2400_CSR: case BIU2400_REQINP: case BIU2400_REQOUTP: case BIU2400_RSPINP: @@ -1523,7 +1522,6 @@ case BIU2400_PRI_RSPINP: case BIU2400_ATIO_RSPINP: case BIU2400_ATIO_REQINP: - case BIU2400_CSR: case BIU2400_HCCR: case BIU2400_GPIOD: case BIU2400_GPIOE: @@ -1531,7 +1529,7 @@ rv = BXR4(pcs, IspVirt2Off(pcs, regoff)); break; case BIU2400_R2HSTSLO: - rv = BXR4(pcs, IspVirt2Off(pcs, regoff)) & 0xffff; + rv = BXR4(pcs, IspVirt2Off(pcs, regoff)); break; case BIU2400_R2HSTSHI: rv = BXR4(pcs, IspVirt2Off(pcs, regoff)) >> 16; @@ -1575,10 +1573,11 @@ } switch (regoff) { - case BIU_SEMA: - break; case BIU2400_FLASH_ADDR: case BIU2400_FLASH_DATA: + case BIU2400_ICR: + case BIU2400_ISR: + case BIU2400_CSR: case BIU2400_REQINP: case BIU2400_REQOUTP: case BIU2400_RSPINP: @@ -1587,7 +1586,6 @@ case BIU2400_PRI_RSPINP: case BIU2400_ATIO_RSPINP: case BIU2400_ATIO_REQINP: - case BIU2400_CSR: case BIU2400_HCCR: case BIU2400_GPIOD: case BIU2400_GPIOE: ==== //depot/projects/newisp/dev/isp/ispreg.h#4 (text+ko) ==== @@ -228,22 +228,6 @@ #define BIU2100_IMASK (BIU2100_ICR_ENA_RISC_INT|BIU2100_ICR_ENABLE_ALL_INTS) -#define INTS_ENABLED(isp) \ - ((IS_SCSI(isp))? \ - (ISP_READ(isp, BIU_ICR) & BIU_IMASK) : \ - (IS_24XX(isp)? (ISP_READ(isp, BIU2400_ICR) & BIU2400_IMASK) : \ - (ISP_READ(isp, BIU_ICR) & BIU2100_IMASK))) - -#define ENABLE_INTS(isp) \ - (IS_SCSI(isp) ? \ - ISP_WRITE(isp, BIU_ICR, BIU_IMASK) : \ - (IS_24XX(isp) ? \ - (ISP_WRITE(isp, BIU2400_ICR, BIU2400_IMASK)) : \ - (ISP_WRITE(isp, BIU_ICR, BIU2100_IMASK)))) - -#define DISABLE_INTS(isp) \ - IS_24XX(isp)? ISP_WRITE(isp, BIU2400_ICR, 0) : ISP_WRITE(isp, BIU_ICR, 0) - /* BUS STATUS REGISTER */ #define BIU_ISR_DMA_INT 0x0020 /* DMA interrupt pending */ #define BIU_ISR_CDMA_INT 0x0010 /* CDMA interrupt pending */ @@ -777,6 +761,25 @@ #define PCI_HCCR_BIOS 0x0001 /* W : BIOS enable */ /* + * Defines for Interrupts + */ +#define INTS_ENABLED(isp) \ + ((IS_SCSI(isp))? \ + (ISP_READ(isp, BIU_ICR) & BIU_IMASK) : \ + (IS_24XX(isp)? (ISP_READ(isp, BIU2400_ICR) & BIU2400_IMASK) : \ + (ISP_READ(isp, BIU_ICR) & BIU2100_IMASK))) + +#define ENABLE_INTS(isp) \ + (IS_SCSI(isp) ? \ + ISP_WRITE(isp, BIU_ICR, BIU_IMASK) : \ + (IS_24XX(isp) ? \ + (ISP_WRITE(isp, BIU2400_ICR, BIU2400_IMASK)) : \ + (ISP_WRITE(isp, BIU_ICR, BIU2100_IMASK)))) + +#define DISABLE_INTS(isp) \ + IS_24XX(isp)? ISP_WRITE(isp, BIU2400_ICR, 0) : ISP_WRITE(isp, BIU_ICR, 0) + +/* * NVRAM Definitions (PCI cards only) */ @@ -825,9 +828,9 @@ #define ISP_NVRAM_FAST_MTTR_ENABLE(c) ISPBSMX(c, 22, 0, 0x01) #define ISP_NVRAM_TARGOFF 28 -#define ISP_NVARM_TARGSIZE 6 +#define ISP_NVRAM_TARGSIZE 6 #define _IxT(tgt, tidx) \ - (ISP_NVRAM_TARGOFF + (ISP_NVARM_TARGSIZE * (tgt)) + (tidx)) + (ISP_NVRAM_TARGOFF + (ISP_NVRAM_TARGSIZE * (tgt)) + (tidx)) #define ISP_NVRAM_TGT_RENEG(c, t) ISPBSMX(c, _IxT(t, 0), 0, 0x01) #define ISP_NVRAM_TGT_QFRZ(c, t) ISPBSMX(c, _IxT(t, 0), 1, 0x01) #define ISP_NVRAM_TGT_ARQ(c, t) ISPBSMX(c, _IxT(t, 0), 2, 0x01) From owner-p4-projects@FreeBSD.ORG Thu Aug 31 09:53:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69CF616A4E1; Thu, 31 Aug 2006 09:53:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 29DFA16A4DD for ; Thu, 31 Aug 2006 09:53:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CA4843D64 for ; Thu, 31 Aug 2006 09:52:59 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7V9qwoE018608 for ; Thu, 31 Aug 2006 09:52:58 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7V9qwd1018605 for perforce@freebsd.org; Thu, 31 Aug 2006 09:52:58 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 09:52:58 GMT Message-Id: <200608310952.k7V9qwd1018605@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105391 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 09:53:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=105391 Change 105391 by piso@piso_newluxor on 2006/08/31 09:52:13 Check mip && ifName against NULL. Affected files ... .. //depot/projects/soc2005/libalias/sbin/natd/natd.c#3 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/natd/natd.c#3 (text+ko) ==== @@ -975,7 +975,7 @@ static void RefreshAddr (int sig __unused) { LibAliasRefreshModules(); - if (mip && mip->ifName) + if (mip != NULL && mip->ifName != NULL) mip->assignAliasAddr = 1; } From owner-p4-projects@FreeBSD.ORG Thu Aug 31 10:36:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3596616A4E0; Thu, 31 Aug 2006 10:36:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D67A316A4DA for ; Thu, 31 Aug 2006 10:36:55 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F08C43D45 for ; Thu, 31 Aug 2006 10:36:55 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VAatUC021873 for ; Thu, 31 Aug 2006 10:36:55 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VAatbq021870 for perforce@freebsd.org; Thu, 31 Aug 2006 10:36:55 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 10:36:55 GMT Message-Id: <200608311036.k7VAatbq021870@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105392 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 10:36:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=105392 Change 105392 by piso@piso_newluxor on 2006/08/31 10:36:05 Call LibAliasRefreshModules() from LibAliasInit(). Affected files ... .. //depot/projects/soc2005/libalias/sbin/natd/natd.c#4 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#6 edit .. //depot/projects/soc2005/libalias/usr.sbin/ppp/main.c#3 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/natd/natd.c#4 (text+ko) ==== @@ -350,9 +350,6 @@ signal (SIGTERM, InitiateShutdown); signal (SIGHUP, RefreshAddr); -/* Load all libalias modules */ - LibAliasRefreshModules(); - /* * Set alias address if it has been given. */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#6 (text+ko) ==== @@ -2512,6 +2512,9 @@ #ifndef NO_FW_PUNCH la->fireWallFD = -1; #endif +#ifndef _KERNEL + LibAliasRefreshModules(); +#endif return (la); } ==== //depot/projects/soc2005/libalias/usr.sbin/ppp/main.c#3 (text+ko) ==== @@ -328,7 +328,6 @@ #ifndef NONAT PacketAliasInit(); - LibAliasRefreshModules(); #endif label = ProcessArgs(argc, argv, &sw); From owner-p4-projects@FreeBSD.ORG Thu Aug 31 11:12:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE60216A4E5; Thu, 31 Aug 2006 11:12:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0E7D16A4DA for ; Thu, 31 Aug 2006 11:12:41 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6871443D49 for ; Thu, 31 Aug 2006 11:12:41 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VBCfsv024906 for ; Thu, 31 Aug 2006 11:12:41 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VBCfKZ024903 for perforce@freebsd.org; Thu, 31 Aug 2006 11:12:41 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 11:12:41 GMT Message-Id: <200608311112.k7VBCfKZ024903@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105394 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 11:12:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=105394 Change 105394 by piso@piso_newluxor on 2006/08/31 11:12:21 EXPORT_SYMS for module A aren't needed if a module B has module A as its explicit dependency (aka MODULE_DEPEND()): axe them. Pointed out by ru@. Affected files ... .. //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#4 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#4 (text+ko) ==== @@ -4,30 +4,6 @@ SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c INCS= alias.h -EXPORT_SYMS= LibAliasInit \ - LibAliasUninit \ - LibAliasSetAddress \ - LibAliasSetMode \ - LibAliasSkinnyPort \ - LibAliasIn \ - LibAliasOut \ - LibAliasRedirectPort \ - LibAliasRedirectAddr \ - LibAliasAddServer \ - LibAliasRedirectDynamic \ - LibAliasRedirectDelete \ - LibAliasProxyRule \ - LibAliasRedirectProto \ - LibAliasSaveFragment \ - LibAliasGetFragment \ - LibAliasFragmentIn \ - LibAliasSetTarget \ - LibAliasCheckNewLink \ - LibAliasInternetChecksum \ - LibAliasUnaliasOut \ - LibAliasAttachHandlers \ - LibAliasDetachHandlers - CFLAGS+= -Werror .include From owner-p4-projects@FreeBSD.ORG Thu Aug 31 12:13:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0E9716A4DE; Thu, 31 Aug 2006 12:13:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B89416A4E0 for ; Thu, 31 Aug 2006 12:13:09 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACCB143D66 for ; Thu, 31 Aug 2006 12:12:58 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VCCwon029141 for ; Thu, 31 Aug 2006 12:12:58 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VCCwjO029138 for perforce@freebsd.org; Thu, 31 Aug 2006 12:12:58 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 12:12:58 GMT Message-Id: <200608311212.k7VCCwjO029138@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 12:13:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=105398 Change 105398 by piso@piso_newluxor on 2006/08/31 12:12:22 We don't need alias_mod.h in /usr/include, and bsd.kmod.mk doesn't support INCS at all. Affected files ... .. //depot/projects/soc2005/libalias/lib/libalias/lib-cuseeme/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-dummy/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-ftp/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-irc/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-libalias/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-nbt/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-pptp/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-skinny/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-smedia/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/cuseeme/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/dummy/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/ftp/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/irc/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#5 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/nbt/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/pptp/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/skinny/Makefile#2 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/smedia/Makefile#2 edit Differences ... ==== //depot/projects/soc2005/libalias/lib/libalias/lib-cuseeme/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_cuseeme.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-dummy/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_dummy.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-ftp/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_ftp.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-irc/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_irc.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-libalias/Makefile#3 (text+ko) ==== @@ -7,7 +7,7 @@ SHLIB_MAJOR= 5 MAN= libalias.3 SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c -INCS= alias.h alias_mod.h +INCS= alias.h WARNS?= 6 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-nbt/Makefile#2 (text+ko) ==== @@ -4,8 +4,7 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_nbt.c -INCS= alias_mod.h -CFLAGS+= -Werror +CFLAGS+= -Werror -g .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-pptp/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_pptp.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-skinny/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_skinny.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/lib/libalias/lib-smedia/Makefile#2 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_smedia.c -INCS= alias_mod.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/cuseeme/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_cuseeme SRCS= alias_cuseeme.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/dummy/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_dummy SRCS= alias_dummy.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/ftp/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_ftp SRCS= alias_ftp.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/irc/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_irc SRCS= alias_irc.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#5 (text+ko) ==== @@ -2,7 +2,7 @@ KMOD= libalias SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c -INCS= alias.h + CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/nbt/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_nbt SRCS= alias_nbt.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/pptp/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_pptp SRCS= alias_pptp.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/skinny/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_skinny SRCS= alias_skinny.c -INCS= alias.h CFLAGS+= -Werror ==== //depot/projects/soc2005/libalias/sys/modules/libalias/smedia/Makefile#2 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_smedia SRCS= alias_smedia.c -INCS= alias.h CFLAGS+= -Werror From owner-p4-projects@FreeBSD.ORG Thu Aug 31 12:44:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 572F916A4E5; Thu, 31 Aug 2006 12:44:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C86116A4DA for ; Thu, 31 Aug 2006 12:44:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB4E643D45 for ; Thu, 31 Aug 2006 12:44:37 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VCibMf030533 for ; Thu, 31 Aug 2006 12:44:37 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VCibG5030530 for perforce@freebsd.org; Thu, 31 Aug 2006 12:44:37 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 31 Aug 2006 12:44:37 GMT Message-Id: <200608311244.k7VCibG5030530@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 105399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 12:44:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=105399 Change 105399 by hselasky@hselasky_mini_itx on 2006/08/31 12:44:19 Finished reworking "uftdi". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uftdi.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/uftdireg.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uftdi.c#4 (text+ko) ==== @@ -1,0 +1,1087 @@ +/* $NetBSD: uftdi.c,v 1.13 2002/09/23 05:51:23 simonb Exp $ */ + +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * NOTE: all function names beginning like "uftdi_cfg_" can only + * be called from within the config thread function ! + */ + +/* + * FTDI FT8U100AX serial adapter driver + */ + +#include +#include +#include +#include +#include +#include + +#define usbd_config_td_cc uftdi_config_copy +#define usbd_config_td_softc uftdi_softc + +#include +#include +#include +#include +#include + +#include +#include + +#include "usbdevs.h" + +__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.22 2005/04/05 22:09:18 ticso Exp $"); + +#ifdef USB_DEBUG +#define DPRINTF(sc,n,fmt,...) \ + do { if (uftdi_debug > (n)) { \ + printf("%s: %s: " fmt, (sc)->sc_name, \ + __FUNCTION__,## __VA_ARGS__); } } while (0) + +static int uftdi_debug = 0; +SYSCTL_NODE(_hw_usb, OID_AUTO, uftdi, CTLFLAG_RW, 0, "USB uftdi"); +SYSCTL_INT(_hw_usb_uftdi, OID_AUTO, debug, CTLFLAG_RW, + &uftdi_debug, 0, "uftdi debug level"); +#else +#define DPRINTF(...) +#endif + +#define UFTDI_CONFIG_INDEX 0 +#define UFTDI_IFACE_INDEX 0 +#define UFTDI_ENDPT_MAX 4 + +/* + * These are the maximum number of bytes transferred per frame. + * The output buffer size cannot be increased due to the size encoding. + */ +#define UFTDI_IBUFSIZE 64 +#define UFTDI_OBUFSIZE 64 + +struct uftdi_softc { + struct ucom_softc sc_ucom; + struct usbd_config_td sc_config_td; + struct usbd_memory_wait sc_mem_wait; + + struct usbd_device * sc_udev; + struct usbd_xfer * sc_xfer[UFTDI_ENDPT_MAX]; + device_t sc_dev; + + u_int32_t sc_unit; + enum uftdi_type sc_type; + + u_int16_t sc_last_lcr; + u_int16_t sc_rate; + + u_int8_t sc_iface_index; + u_int8_t sc_hdrlen; + + u_int8_t sc_msr; + u_int8_t sc_lsr; + + u_int8_t sc_dtr_onoff; + u_int8_t sc_rts_onoff; + u_int8_t sc_break_onoff; + + u_int8_t sc_flow; + u_int8_t sc_flow_v_start; + u_int8_t sc_flow_v_stop; + + u_int8_t sc_flag; +#define UFTDI_FLAG_WRITE_STALL 0x01 +#define UFTDI_FLAG_READ_STALL 0x02 + + u_int8_t sc_name[16]; +}; + +struct uftdi_config_copy { + u_int16_t last_lcr; + u_int16_t rate; + + u_int8_t dtr_onoff; + u_int8_t rts_onoff; + u_int8_t break_onoff; + + u_int8_t flow; + u_int8_t v_start; + u_int8_t v_stop; +}; + +/* prototypes */ + +static device_probe_t uftdi_probe; +static device_attach_t uftdi_attach; +static device_detach_t uftdi_detach; + +static void +uftdi_config_copy(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static void +uftdi_cfg_do_request(struct uftdi_softc *sc, usb_device_request_t *req, + void *data); +static int +uftdi_open(struct ucom_softc *ucom); + +static void +uftdi_cfg_open(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static void +uftdi_write_callback(struct usbd_xfer *xfer); + +static void +uftdi_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +uftdi_read_callback(struct usbd_xfer *xfer); + +static void +uftdi_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +uftdi_set_dtr(struct ucom_softc *ucom, u_int8_t onoff); + +static void +uftdi_cfg_set_dtr(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static void +uftdi_set_rts(struct ucom_softc *ucom, u_int8_t onoff); + +static void +uftdi_cfg_set_rts(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static void +uftdi_set_break(struct ucom_softc *ucom, u_int8_t onoff); + +static void +uftdi_cfg_set_break(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static int +uftdi_set_parm_soft(struct uftdi_softc *sc, u_int32_t ospeed, + u_int8_t v_start, u_int8_t v_stop, + u_int32_t cflag, u_int32_t iflag); +static int +uftdi_param(struct ucom_softc *ucom, struct termios *t); + +static void +uftdi_cfg_parm(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount); +static void +uftdi_get_status(struct ucom_softc *ucom, u_int8_t *lsr, u_int8_t *msr); + +static void +uftdi_start_read(struct ucom_softc *ucom); + +static void +uftdi_stop_read(struct ucom_softc *ucom); + +static void +uftdi_start_write(struct ucom_softc *ucom); + +static void +uftdi_stop_write(struct ucom_softc *ucom); + +static const struct usbd_config uftdi_config[UFTDI_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = UFTDI_OBUFSIZE, + .flags = 0, + .callback = &uftdi_write_callback, + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = UFTDI_IBUFSIZE, + .flags = USBD_SHORT_XFER_OK, + .callback = &uftdi_read_callback, + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &uftdi_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &uftdi_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static const struct ucom_callback uftdi_callback = { + .ucom_get_status = &uftdi_get_status, + .ucom_set_dtr = &uftdi_set_dtr, + .ucom_set_rts = &uftdi_set_rts, + .ucom_set_break = &uftdi_set_break, + .ucom_param = &uftdi_param, + .ucom_open = &uftdi_open, + .ucom_start_read = &uftdi_start_read, + .ucom_stop_read = &uftdi_stop_read, + .ucom_start_write = &uftdi_start_write, + .ucom_stop_write = &uftdi_stop_write, +}; + +static device_method_t uftdi_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, uftdi_probe), + DEVMETHOD(device_attach, uftdi_attach), + DEVMETHOD(device_detach, uftdi_detach), + + { 0, 0 } +}; + +static driver_t uftdi_driver = { + "ucom", + uftdi_methods, + sizeof (struct uftdi_softc) +}; + +DRIVER_MODULE(uftdi, uhub, uftdi_driver, ucom_devclass, usbd_driver_load, 0); +MODULE_DEPEND(uftdi, usb, 1, 1, 1); +MODULE_DEPEND(uftdi, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); + +static int +uftdi_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + + if (uaa->iface != NULL) { + if ((uaa->vendor == USB_VENDOR_FTDI) && + (uaa->product == USB_PRODUCT_FTDI_SERIAL_2232C)) { + return UMATCH_VENDOR_IFACESUBCLASS; + } + return UMATCH_NONE; + } + + if ((uaa->vendor == USB_VENDOR_FTDI) && + ((uaa->product == USB_PRODUCT_FTDI_SERIAL_8U100AX) || + (uaa->product == USB_PRODUCT_FTDI_SERIAL_8U232AM) || + (uaa->product == USB_PRODUCT_FTDI_SEMC_DSS20) || + (uaa->product == USB_PRODUCT_FTDI_CFA_631) || + (uaa->product == USB_PRODUCT_FTDI_CFA_632) || + (uaa->product == USB_PRODUCT_FTDI_CFA_633) || + (uaa->product == USB_PRODUCT_FTDI_CFA_634) || + (uaa->product == USB_PRODUCT_FTDI_USBSERIAL) || + (uaa->product == USB_PRODUCT_FTDI_MX2_3) || + (uaa->product == USB_PRODUCT_FTDI_MX4_5) || + (uaa->product == USB_PRODUCT_FTDI_LK202) || + (uaa->product == USB_PRODUCT_FTDI_LK204))) { + return UMATCH_VENDOR_PRODUCT; + } + + if ((uaa->vendor == USB_VENDOR_SIIG2) && + (uaa->product == USB_PRODUCT_SIIG2_US2308)) { + return UMATCH_VENDOR_PRODUCT; + } + + if ((uaa->vendor == USB_VENDOR_INTREPIDCS) && + ((uaa->product == USB_PRODUCT_INTREPIDCS_VALUECAN) || + (uaa->product == USB_PRODUCT_INTREPIDCS_NEOVI))) { + return UMATCH_VENDOR_PRODUCT; + } + + if ((uaa->vendor == USB_VENDOR_BBELECTRONICS) && + (uaa->product == USB_PRODUCT_BBELECTRONICS_USOTL4)) { + return UMATCH_VENDOR_PRODUCT; + } + + return (UMATCH_NONE); +} + +static int +uftdi_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct uftdi_softc *sc = device_get_softc(dev); + usb_interface_descriptor_t *id; + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), + "%s", device_get_nameunit(dev)); + + DPRINTF(sc, 0, "\n"); + + if (uaa->iface == NULL) { + + error = usbd_set_config_index(uaa->device, UFTDI_CONFIG_INDEX, 1); + + if (error) { + device_printf(dev, "failed to set configuration, " + "error=%s\n", usbd_errstr(error)); + goto detach; + } + + sc->sc_iface_index = UFTDI_IFACE_INDEX; + } else { + sc->sc_iface_index = uaa->iface_index; + } + + switch( uaa->vendor ) { + case USB_VENDOR_FTDI: + switch( uaa->product ){ + case USB_PRODUCT_FTDI_SERIAL_8U100AX: + sc->sc_type = UFTDI_TYPE_SIO; + sc->sc_hdrlen = 1; + break; + + case USB_PRODUCT_FTDI_SEMC_DSS20: + case USB_PRODUCT_FTDI_SERIAL_8U232AM: + case USB_PRODUCT_FTDI_SERIAL_2232C: + case USB_PRODUCT_FTDI_CFA_631: + case USB_PRODUCT_FTDI_CFA_632: + case USB_PRODUCT_FTDI_CFA_633: + case USB_PRODUCT_FTDI_CFA_634: + case USB_PRODUCT_FTDI_USBSERIAL: + case USB_PRODUCT_FTDI_MX2_3: + case USB_PRODUCT_FTDI_MX4_5: + case USB_PRODUCT_FTDI_LK202: + case USB_PRODUCT_FTDI_LK204: + sc->sc_type = UFTDI_TYPE_8U232AM; + sc->sc_hdrlen = 0; + break; + + default: /* Can't happen */ + goto detach; + } + break; + + case USB_VENDOR_INTREPIDCS: + switch( uaa->product ){ + case USB_PRODUCT_INTREPIDCS_VALUECAN: + case USB_PRODUCT_INTREPIDCS_NEOVI: + sc->sc_type = UFTDI_TYPE_8U232AM; + sc->sc_hdrlen = 0; + break; + + default: /* Can't happen */ + goto detach; + } + break; + + case USB_VENDOR_SIIG2: + switch( uaa->product ){ + case USB_PRODUCT_SIIG2_US2308: + sc->sc_type = UFTDI_TYPE_8U232AM; + sc->sc_hdrlen = 0; + break; + + default: /* Can't happen */ + goto detach; + } + break; + + case USB_VENDOR_BBELECTRONICS: + switch( uaa->product ){ + case USB_PRODUCT_BBELECTRONICS_USOTL4: + sc->sc_type = UFTDI_TYPE_8U232AM; + sc->sc_hdrlen = 0; + break; + + default: /* Can't happen */ + goto detach; + } + break; + + default: /* Can't happen */ + goto detach; + } + + error = usbd_transfer_setup(uaa->device, sc->sc_iface_index, + sc->sc_xfer, uftdi_config, UFTDI_ENDPT_MAX, + sc, &Giant, &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &Giant, + &uftdi_config_copy, NULL, + sizeof(struct uftdi_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + sc->sc_ucom.sc_parent = sc; + sc->sc_ucom.sc_portno = FTDI_PIT_SIOA; + sc->sc_ucom.sc_callback = &uftdi_callback; + + if (uaa->iface) { + id = usbd_get_interface_descriptor(uaa->iface); + + if (id == NULL) { + goto detach; + } + + sc->sc_ucom.sc_portno += id->bInterfaceNumber; + } + + error = ucom_attach(&(sc->sc_ucom), dev); + + if (error) { + goto detach; + } + + return 0; /* success */ + + detach: + uftdi_detach(dev); + return ENXIO; +} + +static int +uftdi_detach(device_t dev) +{ + struct uftdi_softc *sc = device_get_softc(dev); + + mtx_lock(&Giant); + + usbd_config_td_stop(&(sc->sc_config_td)); + + mtx_unlock(&Giant); + + ucom_detach(&(sc->sc_ucom)); + + usbd_transfer_unsetup(sc->sc_xfer, UFTDI_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &Giant); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + return 0; +} + +static void +uftdi_config_copy(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount) +{ + bzero(cc, sizeof(*cc)); + + cc->dtr_onoff = sc->sc_dtr_onoff; + cc->rts_onoff = sc->sc_rts_onoff; + cc->break_onoff = sc->sc_break_onoff; + cc->last_lcr = sc->sc_last_lcr; + cc->rate = sc->sc_rate; + cc->v_stop = sc->sc_flow_v_stop; + cc->v_start = sc->sc_flow_v_start; + cc->flow = sc->sc_flow; + + return; +} + +static void +uftdi_cfg_do_request(struct uftdi_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &Giant, req, + data, 0, NULL, 1000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +static int +uftdi_open(struct ucom_softc *ucom) +{ + struct uftdi_softc *sc = ucom->sc_parent; + + sc->sc_flag |= (UFTDI_FLAG_WRITE_STALL| + UFTDI_FLAG_READ_STALL); + + usbd_config_td_queue_command + (&(sc->sc_config_td), &uftdi_cfg_open, 0); + + return 0; +} + +static void +uftdi_cfg_open(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount) +{ + u_int16_t wIndex = sc->sc_ucom.sc_portno; + usb_device_request_t req; + + if (cc == NULL) { + + /* set 9600 baud, 2 stop bits, + * no parity, 8 bits + */ + (void) uftdi_set_parm_soft + (sc, 9600, 0, 0, CSTOPB | CS8, 0); + + return; + } + + DPRINTF(sc, 0, ""); + + /* perform a full reset on the device */ + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = FTDI_SIO_RESET; + USETW(req.wValue, FTDI_SIO_RESET_SIO); + USETW(req.wIndex, wIndex); + USETW(req.wLength, 0); + uftdi_cfg_do_request(sc, &req, NULL); + + /* write parameters */ + + uftdi_cfg_parm(sc, cc, 0); + + /* turn on RTS/CTS flow control */ + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = FTDI_SIO_SET_FLOW_CTRL; + USETW(req.wValue, 0); + USETW2(req.wIndex, FTDI_SIO_RTS_CTS_HS, wIndex); + USETW(req.wLength, 0); + uftdi_cfg_do_request(sc, &req, NULL); + + return; +} + +static void +uftdi_write_callback(struct usbd_xfer *xfer) +{ + struct uftdi_softc *sc = xfer->priv_sc; + u_int32_t actlen; + + USBD_CHECK_STATUS(xfer); + +tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flag |= UFTDI_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[2]); + } + return; + +tr_setup: +tr_transferred: + if (sc->sc_flag & UFTDI_FLAG_WRITE_STALL) { + usbd_transfer_start(sc->sc_xfer[2]); + return; + } + + if(ucom_get_data(&(sc->sc_ucom), ((u_int8_t *)(xfer->buffer)) + + sc->sc_hdrlen, UFTDI_OBUFSIZE - sc->sc_hdrlen, + &actlen)) { + + if (sc->sc_hdrlen > 0) { + *(u_int8_t *)(xfer->buffer) = + FTDI_OUT_TAG(actlen, sc->sc_ucom.sc_portno); + } + + xfer->length = actlen + sc->sc_hdrlen; + + usbd_start_hardware(xfer); + } + return; +} + +static void +uftdi_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct uftdi_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, sc->sc_xfer[0]); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, sc->sc_xfer[0]); + sc->sc_flag &= ~UFTDI_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[0]); + return; + + tr_error: + sc->sc_flag &= ~UFTDI_FLAG_WRITE_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} + +static void +uftdi_read_callback(struct usbd_xfer *xfer) +{ + struct uftdi_softc *sc = xfer->priv_sc; + u_int8_t *ptr = xfer->buffer; + u_int8_t msr; + u_int8_t lsr; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flag |= UFTDI_FLAG_READ_STALL; + usbd_transfer_start(sc->sc_xfer[3]); + } + return; + + tr_transferred: + + if (xfer->actlen < 2) { + goto tr_setup; + } + + msr = FTDI_GET_MSR(ptr); + lsr = FTDI_GET_LSR(ptr); + + if ((sc->sc_msr != msr) || + ((sc->sc_lsr & FTDI_LSR_MASK) != (lsr & FTDI_LSR_MASK))) { + DPRINTF(sc, 0, "status change msr=0x%02x (0x%02x) " + "lsr=0x%02x (0x%02x)\n", msr, sc->sc_msr, + lsr, sc->sc_lsr); + + sc->sc_msr = msr; + sc->sc_lsr = lsr; + + ucom_status_change(&(sc->sc_ucom)); + } + + xfer->actlen -= 2; + ptr += 2; + + if (xfer->actlen) { + ucom_put_data(&(sc->sc_ucom), ptr, xfer->actlen); + } + + tr_setup: + if (sc->sc_flag & UFTDI_FLAG_READ_STALL) { + usbd_transfer_start(sc->sc_xfer[3]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +uftdi_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct uftdi_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, sc->sc_xfer[1]); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, sc->sc_xfer[1]); + sc->sc_flag &= ~UFTDI_FLAG_READ_STALL; + usbd_transfer_start(sc->sc_xfer[1]); + return; + + tr_error: + sc->sc_flag &= ~UFTDI_FLAG_READ_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} + +static void +uftdi_set_dtr(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct uftdi_softc *sc = ucom->sc_parent; + + sc->sc_dtr_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &uftdi_cfg_set_dtr, 0); + + return; +} + +static void +uftdi_cfg_set_dtr(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount) +{ + u_int16_t wIndex = sc->sc_ucom.sc_portno; + u_int16_t wValue; + usb_device_request_t req; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + wValue = cc->dtr_onoff ? FTDI_SIO_SET_DTR_HIGH : FTDI_SIO_SET_DTR_LOW; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = FTDI_SIO_MODEM_CTRL; + USETW(req.wValue, wValue); + USETW(req.wIndex, wIndex); + USETW(req.wLength, 0); + uftdi_cfg_do_request(sc, &req, NULL); + + return; +} + +static void +uftdi_set_rts(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct uftdi_softc *sc = ucom->sc_parent; + + sc->sc_rts_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &uftdi_cfg_set_rts, 0); + + return; +} + +static void +uftdi_cfg_set_rts(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount) +{ + u_int16_t wIndex = sc->sc_ucom.sc_portno; + u_int16_t wValue; + usb_device_request_t req; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + wValue = cc->rts_onoff ? FTDI_SIO_SET_RTS_HIGH : FTDI_SIO_SET_RTS_LOW; + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = FTDI_SIO_MODEM_CTRL; + USETW(req.wValue, wValue); + USETW(req.wIndex, wIndex); + USETW(req.wLength, 0); + uftdi_cfg_do_request(sc, &req, NULL); + + return; +} + +static void +uftdi_set_break(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct uftdi_softc *sc = ucom->sc_parent; + + sc->sc_break_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &uftdi_cfg_set_break, 0); + + return; +} + +static void +uftdi_cfg_set_break(struct uftdi_softc *sc, + struct uftdi_config_copy *cc, u_int16_t refcount) +{ + u_int16_t wIndex = sc->sc_ucom.sc_portno; + u_int16_t wValue; + usb_device_request_t req; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + if (cc->break_onoff) { + wValue = cc->last_lcr | FTDI_SIO_SET_BREAK; + } else { + wValue = cc->last_lcr; + } + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = FTDI_SIO_SET_DATA; + USETW(req.wValue, wValue); + USETW(req.wIndex, wIndex); + USETW(req.wLength, 0); + uftdi_cfg_do_request(sc, &req, NULL); + + return; +} + +static int +uftdi_set_parm_soft(struct uftdi_softc *sc, u_int32_t ospeed, + u_int8_t v_start, u_int8_t v_stop, + u_int32_t cflag, u_int32_t iflag) +{ + u_int16_t rate = 0; + u_int16_t data = 0; + u_int8_t flow = 0; + + switch (sc->sc_type) { + case UFTDI_TYPE_SIO: + switch (ospeed) { + case 300: rate = ftdi_sio_b300; break; + case 600: rate = ftdi_sio_b600; break; + case 1200: rate = ftdi_sio_b1200; break; + case 2400: rate = ftdi_sio_b2400; break; + case 4800: rate = ftdi_sio_b4800; break; + case 9600: rate = ftdi_sio_b9600; break; + case 19200: rate = ftdi_sio_b19200; break; + case 38400: rate = ftdi_sio_b38400; break; + case 57600: rate = ftdi_sio_b57600; break; + case 115200: rate = ftdi_sio_b115200; break; + default: + return (EINVAL); + } + break; + + case UFTDI_TYPE_8U232AM: + switch(ospeed) { + case 300: rate = ftdi_8u232am_b300; break; + case 600: rate = ftdi_8u232am_b600; break; + case 1200: rate = ftdi_8u232am_b1200; break; + case 2400: rate = ftdi_8u232am_b2400; break; + case 4800: rate = ftdi_8u232am_b4800; break; + case 9600: rate = ftdi_8u232am_b9600; break; + case 19200: rate = ftdi_8u232am_b19200; break; + case 38400: rate = ftdi_8u232am_b38400; break; + case 57600: rate = ftdi_8u232am_b57600; break; + case 115200: rate = ftdi_8u232am_b115200; break; + case 230400: rate = ftdi_8u232am_b230400; break; + case 460800: rate = ftdi_8u232am_b460800; break; + case 921600: rate = ftdi_8u232am_b921600; break; + case 2000000: rate = ftdi_8u232am_b2000000; break; + case 3000000: rate = ftdi_8u232am_b3000000; break; + default: + return (EINVAL); + } + break; + } + sc->sc_rate = rate; + + if (cflag & CSTOPB) + data = FTDI_SIO_SET_DATA_STOP_BITS_2; + else + data = FTDI_SIO_SET_DATA_STOP_BITS_1; + + if (cflag & PARENB) { + if (cflag & PARODD) { + data |= FTDI_SIO_SET_DATA_PARITY_ODD; + } else { + data |= FTDI_SIO_SET_DATA_PARITY_EVEN; + } + } else { + data |= FTDI_SIO_SET_DATA_PARITY_NONE; + } + + switch (cflag & CSIZE) { + case CS5: + data |= FTDI_SIO_SET_DATA_BITS(5); + break; + + case CS6: + data |= FTDI_SIO_SET_DATA_BITS(6); + break; + + case CS7: + data |= FTDI_SIO_SET_DATA_BITS(7); + break; + + case CS8: + data |= FTDI_SIO_SET_DATA_BITS(8); + break; + } + sc->sc_last_lcr = data; + + if (cflag & CRTSCTS) { + flow = FTDI_SIO_RTS_CTS_HS; + v_start = 0; + v_stop = 0; + } else if (iflag & (IXON|IXOFF)) { + flow = FTDI_SIO_XON_XOFF_HS; + } else { + flow = FTDI_SIO_DISABLE_FLOW_CTRL; + v_start = 0; + v_stop = 0; + } + + sc->sc_flow = flow; + sc->sc_flow_v_start = v_start; + sc->sc_flow_v_stop = v_stop; + return 0; +} + +static int +uftdi_param(struct ucom_softc *ucom, struct termios *t) +{ + struct uftdi_softc *sc = ucom->sc_parent; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 31 14:29:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7362316A4E1; Thu, 31 Aug 2006 14:29:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 36DF416A4DF for ; Thu, 31 Aug 2006 14:29:17 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EAC3443D45 for ; Thu, 31 Aug 2006 14:29:16 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VETGne049454 for ; Thu, 31 Aug 2006 14:29:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VETGDx049451 for perforce@freebsd.org; Thu, 31 Aug 2006 14:29:16 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 14:29:16 GMT Message-Id: <200608311429.k7VETGDx049451@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 14:29:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=105402 Change 105402 by piso@piso_newluxor on 2006/08/31 14:28:16 Convert all the CFLAGS+=-Werror in WARNS?=1. Affected files ... .. //depot/projects/soc2005/libalias/lib/libalias/lib-cuseeme/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-dummy/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-ftp/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-irc/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-libalias/Makefile#4 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-nbt/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-pptp/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-skinny/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/lib-smedia/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/cuseeme/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/dummy/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/ftp/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/irc/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#6 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/nbt/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/pptp/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/skinny/Makefile#3 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/smedia/Makefile#3 edit Differences ... ==== //depot/projects/soc2005/libalias/lib/libalias/lib-cuseeme/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_cuseeme.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-dummy/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_dummy.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-ftp/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_ftp.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-irc/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_irc.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-libalias/Makefile#4 (text+ko) ==== ==== //depot/projects/soc2005/libalias/lib/libalias/lib-nbt/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_nbt.c - -CFLAGS+= -Werror -g +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-pptp/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_pptp.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-skinny/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_skinny.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/lib-smedia/Makefile#3 (text+ko) ==== @@ -4,7 +4,6 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 4 SRCS= alias_smedia.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/cuseeme/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_cuseeme SRCS= alias_cuseeme.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/dummy/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_dummy SRCS= alias_dummy.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/ftp/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_ftp SRCS= alias_ftp.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/irc/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_irc SRCS= alias_irc.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/libalias/Makefile#6 (text+ko) ==== @@ -2,8 +2,6 @@ KMOD= libalias SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c - - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/nbt/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_nbt SRCS= alias_nbt.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/pptp/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_pptp SRCS= alias_pptp.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/skinny/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_skinny SRCS= alias_skinny.c - -CFLAGS+= -Werror +WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/sys/modules/libalias/smedia/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= alias_smedia SRCS= alias_smedia.c - -CFLAGS+= -Werror +WARNS?= 1 .include From owner-p4-projects@FreeBSD.ORG Thu Aug 31 18:03:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2583416A513; Thu, 31 Aug 2006 18:03:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D42EE16A50D for ; Thu, 31 Aug 2006 18:03:20 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0281943D62 for ; Thu, 31 Aug 2006 18:03:04 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VI2lUY074645 for ; Thu, 31 Aug 2006 18:02:47 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VI2keP074642 for perforce@freebsd.org; Thu, 31 Aug 2006 18:02:46 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 18:02:46 GMT Message-Id: <200608311802.k7VI2keP074642@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 18:03:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105410 Change 105410 by piso@piso_newluxor on 2006/08/31 18:02:14 First round of mdoc cleanup. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/libalias.3#4 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/libalias.3#4 (text+ko) ==== @@ -894,8 +894,8 @@ .An Ruslan Ermilov Aq ru@FreeBSD.org added support for PPTP and LSNAT as well as general hacking. .An Paolo Pisati Aq piso@FreeBSD.org -made the library modular, moving support for all -the protocols (except for IP, TCP and UDP) to external modules. +made the library modular, moving support for all +protocols (except for IP, TCP and UDP) to external modules. .Sh ACKNOWLEDGMENTS Listed below, in approximate chronological order, are individuals who have provided valuable comments and/or debugging assistance. @@ -1014,105 +1014,148 @@ a unique aliasing link can be established. In an alternate operating mode, the first choice of an aliasing port is also random and unrelated to the local port number. -.Sh Modular architecture (and ipfw support) -One of the latest improvement of libalias was to make its support +.Sh MODULAR ARCHITECTURE (AND Xr ipfw 4 Sh SUPPORT) +One of the latest improvements to +.Nm libalias was to make its support for new protocols independent from the rest of the library, giving it -the ability to load/unload at runtime support for new protocols. -To achieve this feature, all the code for protocols handling was moved +the ability to load/unload at run-time support for new protocols. +To achieve this feature, all the code for protocol handling was moved to a series of modules outside of the main library. -These modules are compiled from the same source base but works in a -different ways, according if they are compiled to work inside a kernel -or as part of a user land library. -.Ss Libalias modules in kernel land -When compiled to be part of a kernel, libalias modules are plain -simple kld, installed as default with all the other kernel modules: +These modules are compiled from the same sources but works in a +different ways, depending on whether they are compiled to work inside a kernel +or as part of the userland library. +.Ss LIBALIAS MODULES IN KERNEL LAND +When compiled to be parts of a kernel, +.Nm libalias +modules are plain simple KLDs: .Pp -.Bd -ragged -offset indent -.An -split -.An /boot/kernel/alias_cuseeme.ko -.An /boot/kernel/alias_dummy.ko -.An /boot/kernel/alias_ftp.ko -.An /boot/kernel/alias_irc.ko -.An /boot/kernel/alias_nbt.ko -.An /boot/kernel/alias_pptp.ko -.An /boot/kernel/alias_skinny.ko -.An /boot/kernel/alias_smedia.ko -.Ed +.Bl -item -compact +.It +.Pa /boot/kernel/alias_cuseeme.ko +.It +.Pa /boot/kernel/alias_dummy.ko +.It +.Pa /boot/kernel/alias_ftp.ko +.It +.Pa /boot/kernel/alias_irc.ko +.It +.Pa /boot/kernel/alias_nbt.ko +.It +.Pa /boot/kernel/alias_pptp.ko +.It +.Pa /boot/kernel/alias_skinny.ko +.It +.Pa /boot/kernel/alias_smedia.ko +.El .Pp -To load a new protocol just kldload it: +To add support for new protocol just kldload its module, for example: .Pp -kldload alias_ftp # add support for ftp protocol to kernel libalias +.Dl "kldload alias_ftp .Pp and when you don't need it anymore, you can unload it: .Pp -kldunload alias_ftp -.Pp -.Ss Libalias modules in user land -Due to the differences between kernel and user land (no kld mechanism, +.Dl "kldunload alias_ftp +.Ss LIBALIAS MODULES IN USERLAND +Due to the differences between kernel and userland (no kld mechanism, many different address spaces, etc etc), we had to change a bit how to -handle modules loading/tracking/unloading in user land. +handle modules loading/tracking/unloading in userland. .Pp -While compiled for a user land libalias, all the modules are installed -in /usr/lib: +While compiled for a userland +.Nm libalias +all the modules are plain libraries: .Pp -.Bd -ragged -offset indent -.An -split -.An /usr/lib/libalias_cuseeme.a -.An /usr/lib/libalias_cuseeme.so -> /lib/libalias_cuseeme.so.4 -.An /usr/lib/libalias_cuseeme_p.a -.An /usr/lib/libalias_dummy.a -.An /usr/lib/libalias_dummy.so -> /lib/libalias_dummy.so.4 -.An /usr/lib/libalias_dummy_p.a -.An /usr/lib/libalias_ftp.a -.An /usr/lib/libalias_ftp.so -> /lib/libalias_ftp.so.4 -.An /usr/lib/libalias_ftp_p.a -.An /usr/lib/libalias_irc.a -.An /usr/lib/libalias_irc.so -> /lib/libalias_irc.so.4 -.An /usr/lib/libalias_irc_p.a -.An /usr/lib/libalias_nbt.a -.An /usr/lib/libalias_nbt.so -> /lib/libalias_nbt.so.4 -.An /usr/lib/libalias_nbt_p.a -.An /usr/lib/libalias_pptp.a -.An /usr/lib/libalias_pptp.so -> /lib/libalias_pptp.so.4 -.An /usr/lib/libalias_pptp_p.a -.An /usr/lib/libalias_skinny.a -.An /usr/lib/libalias_skinny.so -> /lib/libalias_skinny.so.4 -.An /usr/lib/libalias_skinny_p.a -.An /usr/lib/libalias_smedia.a -.An /usr/lib/libalias_smedia.so -> /lib/libalias_smedia.so.4 -.An /usr/lib/libalias_smedia_p.a -.Ed +.Bl -item -compact +.It +.Pa /usr/lib/libalias_cuseeme.a +.It +.Pa /usr/lib/libalias_cuseeme.so -> /lib/libalias_cuseeme.so.4 +.It +.Pa /usr/lib/libalias_cuseeme_p.a +.It +.Pa /usr/lib/libalias_dummy.a +.It +.Pa /usr/lib/libalias_dummy.so -> /lib/libalias_dummy.so.4 +.It +.Pa /usr/lib/libalias_dummy_p.a +.It +.Pa /usr/lib/libalias_ftp.a +.It +.Pa /usr/lib/libalias_ftp.so -> /lib/libalias_ftp.so.4 +.It +.Pa /usr/lib/libalias_ftp_p.a +.It +.Pa /usr/lib/libalias_irc.a +.It +.Pa /usr/lib/libalias_irc.so -> /lib/libalias_irc.so.4 +.It +.Pa /usr/lib/libalias_irc_p.a +.It +.Pa /usr/lib/libalias_nbt.a +.It +.Pa /usr/lib/libalias_nbt.so -> /lib/libalias_nbt.so.4 +.It +.Pa /usr/lib/libalias_nbt_p.a +.It +.Pa /usr/lib/libalias_pptp.a +.It +.Pa /usr/lib/libalias_pptp.so -> /lib/libalias_pptp.so.4 +.It +.Pa /usr/lib/libalias_pptp_p.a +.It +.Pa /usr/lib/libalias_skinny.a +.It +.Pa /usr/lib/libalias_skinny.so -> /lib/libalias_skinny.so.4 +.It +.Pa /usr/lib/libalias_skinny_p.a +.It +.Pa /usr/lib/libalias_smedia.a +.It +.Pa /usr/lib/libalias_smedia.so -> /lib/libalias_smedia.so.4 +.It +.Pa /usr/lib/libalias_smedia_p.a +.El .Pp To take advantage of modules, an application must be patched to handle SIGHUP signal and call LibAliasRefreshModules() whenever it receives that signal (see below for details). .Pp -If you have correctly installed libalias, in /etc you should +If you have correctly installed +.Nm libalias +in /etc you should find a file called libalias.conf with the following contents (or similar): .Pp -.Bd -ragged -offset indent -.An -split -.An /usr/lib/libalias_cuseeme.so -.An /usr/lib/libalias_ftp.so -.An /usr/lib/libalias_irc.so -.An /usr/lib/libalias_nbt.so -.An /usr/lib/libalias_pptp.so -.An /usr/lib/libalias_skinny.so -.An /usr/lib/libalias_smedia.so -.Ed +.Bl -item -compact +.It +.Pa /usr/lib/libalias_cuseeme.so +.It +.Pa /usr/lib/libalias_ftp.so +.It +.Pa /usr/lib/libalias_irc.so +.It +.Pa /usr/lib/libalias_nbt.so +.It +.Pa /usr/lib/libalias_pptp.so +.It +.Pa /usr/lib/libalias_skinny.so +.It +.Pa /usr/lib/libalias_smedia.so +.El .Pp -this file contains the paths to the modules that libalias will load. +this file contains the paths to the modules that +.Nm libalias +will load. To load/unload a new module just add its path to libalias.conf and send a SIGHUP signal to the application that needs the new module: .Pp -kill -HUP -.Pp -.Sh Modular architecture: how it works -The modular architecture of libalias work (almost) the same when it's -running inside kernel or in user land. From alias_mod.c: +.Dl "kill -HUP +.Ss MODULAR ARCHITECURE: HOW IT WORKS +The modular architecture of +.Nm libalias +work (almost) the same when it's +running inside kernel or in userland. From alias_mod.c: .Bd -literal -/* protocol and user land module handlers chains */ +/* protocol and userland module handlers chains */ struct chain handler_chain, dll_chain; handler_chain keep tracks of all the protocol handlers loaded, while @@ -1155,10 +1198,14 @@ module can handle. .Pp The protocol handler function is the function that actually manipulates -the packet to make libalias correctly nat it. +the packet to make +.Nm libalias +correctly nat it. .Pp -When a packet enters libalias, if it meets a module hook, -libalias scan handler_chain to see if there's an handler that match +When a packet enters +.Nm libalias +, if it meets a module hook, +handler_chain is searched to see if there's an handler that match this type of packet (it checks protocol and direction of packet), then if more then one handler is found, it starts with the module with a lower priority number: it calls fingerprints and read the result. @@ -1167,7 +1214,9 @@ of this handler and return, else it skip to the fingerprint function of the next eligible module, till the end of handler_chain .Pp -Inside libalias, the module hook looks like this: +Inside +.Nm libalias +the module hook looks like this: .Bd -literal struct alias_data ad = { lnk, @@ -1204,15 +1253,20 @@ in this case, find_handler will search only for modules registered for supporting INcoming UDP packets. .Pp -As i said earlier, libalias in userland is a bit different, cause we +As i said earlier, +.Nm libalias +in userland is a bit different, cause we have to take care of module handling too (avoiding duplicate load of module, avoiding module with same name, etc etc) so dll_chain was introduced. .Pp -dll_chain contains a list of all user land libalias modules loaded. +dll_chain contains a list of all userland +.Nm libalias +modules loaded. .Pp -When an application calls LibAliasRefreshModules(), libalias first unload -all the loaded modules, then reload all the modules listed in +When an application calls LibAliasRefreshModules(), +.Nm libalias +first unload all the loaded modules, then reload all the modules listed in /etc/libalias.conf: for every module loaded, a new entry to dll_chain is added. .Pp @@ -1235,12 +1289,13 @@ .Pp handle is a pointer to the module obtained through dlopen() .Pp -Whenever a module is loaded in user land, an entry is added to +Whenever a module is loaded in userland, an entry is added to dll_chain, than every protocol handler present in that module is resolved and registered in handler_chain. -.Ss How to write a module for libalias -There's a module (called alias_dummy.[ch]) in libalias that can be -used as a skeleton for future work, here we analyse some parts of that +.Ss HOW TO WRITE A MODULE FOR LIBALIAS +There's a module (called alias_dummy.[ch]) in +.Nm libalias +that can be used as a skeleton for future work, here we analyse some parts of that module. From alias_dummy.c: .Bd -literal @@ -1308,9 +1363,11 @@ } .Ed and they must accept exactly these input parameters. -.Ss Patching an application for user land libalias modules -If you have any application that uses libalias and you want to add it -support for libalias modules, then follow this simple 5 steps +.Ss PATCHING AN APPLICATION FOR USERLAND LIBALIAS MODULES +If you have any application that uses +.Nm libalias +and you want to add it +support for modules, then follow this simple 5 steps procedure. .Bd -ragged -offset indent .An -split @@ -1349,10 +1406,11 @@ .Pp .An recompile and you are done. .Ed +.Ss LOGGING SUPPORT IN KERNEL LAND .Pp -.Ss Logging support in kernel land -.Pp -While working as kld, libalias now have log support that +While working as kld, +.Nm libalias +now have log support that happens on a buffer allocated inside struct libalias(from alias_local.h): .Bd -literal struct libalias { @@ -1376,7 +1434,9 @@ ... } .Ed -so all the applications using libalias, will be able to handle their +so all the applications using +.Nm libalias +, will be able to handle their own logs, if they want, accessing logDesc. Moreover, every change to log buffer is automatically added to syslog with facilities security and info. From owner-p4-projects@FreeBSD.ORG Thu Aug 31 18:18:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A963416A4E2; Thu, 31 Aug 2006 18:18:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6391C16A4DA for ; Thu, 31 Aug 2006 18:18:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59ACF43D8A for ; Thu, 31 Aug 2006 18:18:08 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VII81T076920 for ; Thu, 31 Aug 2006 18:18:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VII8Ak076917 for perforce@freebsd.org; Thu, 31 Aug 2006 18:18:08 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 31 Aug 2006 18:18:08 GMT Message-Id: <200608311818.k7VII8Ak076917@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 105411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 18:18:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=105411 Change 105411 by hselasky@hselasky_mini_itx on 2006/08/31 18:17:27 Finished reworking "ucycom". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ucycom.c#4 (text+ko) ==== @@ -1,0 +1,693 @@ +/*- + * Copyright (c) 2004 Dag-Erling Coïdan Smørgrav + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD: src/sys/dev/usb/ucycom.c,v 1.4 2005/10/16 20:22:56 phk Exp $ + */ + +/* + * Device driver for Cypress CY7C637xx and CY7C640/1xx series USB to + * RS232 bridges. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "usbdevs.h" + +#include + +__FBSDID("$FreeBSD: src/sys/dev/usb/ucycom.c,v 1.4 2005/10/16 20:22:56 phk Exp $"); + +#define UCYCOM_MAX_IOLEN (256 + 2) /* bytes */ + +#define UCYCOM_ENDPT_MAX 4 /* units */ +#define UCYCOM_IFACE_INDEX 0 + +#define DPRINTF(...) + +struct ucycom_softc { + struct ucom_softc sc_ucom; + struct usbd_memory_wait sc_mem_wait; + + struct usbd_device * sc_udev; + struct usbd_xfer * sc_xfer[UCYCOM_ENDPT_MAX]; + device_t sc_dev; + + u_int32_t sc_model; +#define MODEL_CY7C63743 0x63743 +#define MODEL_CY7C64013 0x64013 + u_int32_t sc_baud; + u_int32_t sc_unit; + + u_int16_t sc_flen; /* feature report length */ + u_int16_t sc_ilen; /* input report length */ + u_int16_t sc_olen; /* output report length */ + + u_int8_t sc_fid; /* feature report id */ + u_int8_t sc_iid; /* input report id */ + u_int8_t sc_oid; /* output report id */ + u_int8_t sc_cfg; +#define UCYCOM_CFG_RESET 0x80 +#define UCYCOM_CFG_PARODD 0x20 +#define UCYCOM_CFG_PAREN 0x10 +#define UCYCOM_CFG_STOPB 0x08 +#define UCYCOM_CFG_DATAB 0x03 + u_int8_t sc_ist; /* status flags from last input */ + u_int8_t sc_flags; +#define UCYCOM_FLAG_RELOAD_CONFIG 0x01 +#define UCYCOM_FLAG_INTR_STALL 0x02 + u_int8_t sc_name[16]; + u_int8_t sc_iface_no; +}; + +/* prototypes */ + +static device_probe_t ucycom_probe; +static device_attach_t ucycom_attach; +static device_detach_t ucycom_detach; + +static int +ucycom_open(struct ucom_softc *ucom); + +static void +ucycom_start_read(struct ucom_softc *ucom); + +static void +ucycom_stop_read(struct ucom_softc *ucom); + +static void +ucycom_start_write(struct ucom_softc *ucom); + +static void +ucycom_stop_write(struct ucom_softc *ucom); + +static void +ucycom_ctrl_write_callback(struct usbd_xfer *xfer); + +static void +ucycom_config_callback(struct usbd_xfer *xfer); + +static int +ucycom_param(struct ucom_softc *ucom, struct termios *t); + +static int +ucycom_configure(struct ucycom_softc *sc, u_int32_t baud, u_int8_t cfg); + +static void +ucycom_intr_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +ucycom_intr_read_callback(struct usbd_xfer *xfer); + +static const struct usbd_config ucycom_config[UCYCOM_ENDPT_MAX] = { + + [0] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = (sizeof(usb_device_request_t) + UCYCOM_MAX_IOLEN), + .flags = 0, + .callback = &ucycom_ctrl_write_callback, + .timeout = 1000, /* 1 second */ + }, + + [1] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = UCYCOM_MAX_IOLEN, + .callback = &ucycom_intr_read_callback, + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = (sizeof(usb_device_request_t) + UCYCOM_MAX_IOLEN), + .flags = 0, + .callback = &ucycom_config_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &ucycom_intr_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static const struct ucom_callback ucycom_callback = { + .ucom_param = &ucycom_param, + .ucom_open = &ucycom_open, + .ucom_start_read = &ucycom_start_read, + .ucom_stop_read = &ucycom_stop_read, + .ucom_start_write = &ucycom_start_write, + .ucom_stop_write = &ucycom_stop_write, +}; + +static device_method_t ucycom_methods[] = { + DEVMETHOD(device_probe, ucycom_probe), + DEVMETHOD(device_attach, ucycom_attach), + DEVMETHOD(device_detach, ucycom_detach), + { 0, 0 } +}; + +static driver_t ucycom_driver = { + "ucycom", + ucycom_methods, + sizeof(struct ucycom_softc), +}; + +static devclass_t ucycom_devclass; + +DRIVER_MODULE(ucycom, uhub, ucycom_driver, ucycom_devclass, usbd_driver_load, 0); +MODULE_VERSION(ucycom, 1); +MODULE_DEPEND(ucycom, usb, 1, 1, 1); + +/* + * Supported devices + */ + +static struct ucycom_device { + uint16_t vendor; + uint16_t product; + u_int32_t model; +} ucycom_devices[] = { + { USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE, MODEL_CY7C64013 }, + { 0, 0, 0 }, +}; + +#define UCYCOM_DEFAULT_RATE 4800 +#define UCYCOM_DEFAULT_CFG 0x03 /* N-8-1 */ + +static int +ucycom_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ucycom_device *ud; + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + for (ud = ucycom_devices; ud->model != 0; ++ud) { + if ((ud->vendor == uaa->vendor) && + (ud->product == uaa->product)) { + return UMATCH_VENDOR_PRODUCT; + } + } + + return UMATCH_NONE; +} + +static int +ucycom_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ucycom_softc *sc = device_get_softc(dev); + struct ucycom_device *ud; + struct usbd_interface *iface; + void *urd_ptr = NULL; + int32_t error; + int32_t urd_len; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), + "%s", device_get_nameunit(dev)); + + DPRINTF(sc, 0, "\n"); + + /* get chip model */ + + for (ud = ucycom_devices; ud->model != 0; ++ud) { + if ((ud->vendor == uaa->vendor) && + (ud->product == uaa->product)) { + sc->sc_model = ud->model; + } + } + + if (sc->sc_model == 0) { + device_printf(dev, "unsupported device\n"); + goto detach; + } + + device_printf(dev, "Cypress CY7C%X USB to RS232 bridge\n", sc->sc_model); + + /* select configuration */ + + error = usbd_set_config_index(sc->sc_udev, 0, 1 /* verbose */); + + if (error) { + device_printf(dev, "failed to select " + "configuration: %s\n", + usbd_errstr(error)); + goto detach; + } + + /* get report descriptor */ + + error = usbreq_read_report_desc(uaa->device, UCYCOM_IFACE_INDEX, + &urd_ptr, &urd_len, M_USBDEV); + if (error) { + device_printf(dev, "failed to get report " + "descriptor: %s\n", + usbd_errstr(error)); + goto detach; + } + + /* get report sizes */ + + sc->sc_flen = hid_report_size(urd_ptr, urd_len, hid_feature, &sc->sc_fid); + sc->sc_ilen = hid_report_size(urd_ptr, urd_len, hid_input, &sc->sc_iid); + sc->sc_olen = hid_report_size(urd_ptr, urd_len, hid_output, &sc->sc_oid); + + if ((sc->sc_ilen > UCYCOM_MAX_IOLEN) || (sc->sc_ilen < 1) || + (sc->sc_olen > UCYCOM_MAX_IOLEN) || (sc->sc_olen < 2) || + (sc->sc_flen > UCYCOM_MAX_IOLEN) || (sc->sc_flen < 5)) { + device_printf(dev, "invalid report size i=%d, o=%d, f=%d, max=%d\n", + sc->sc_ilen, sc->sc_olen, sc->sc_flen, + UCYCOM_MAX_IOLEN); + goto detach; + } + + iface = usbd_get_iface(uaa->device, UCYCOM_IFACE_INDEX); + + if (iface == NULL) { + device_printf(dev, "no interface!\n"); + goto detach; + } + + if (iface->idesc == NULL) { + device_printf(dev, "no interface descriptor!\n"); + goto detach; + } + + sc->sc_iface_no = iface->idesc->bInterfaceNumber; + + error = usbd_transfer_setup(uaa->device, UCYCOM_IFACE_INDEX, + sc->sc_xfer, ucycom_config, UCYCOM_ENDPT_MAX, + sc, &Giant, &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + sc->sc_ucom.sc_parent = sc; + sc->sc_ucom.sc_portno = 0; + sc->sc_ucom.sc_callback = &ucycom_callback; + + error = ucom_attach(&(sc->sc_ucom), dev); + + if (error) { + goto detach; + } + + if (urd_ptr) { + free(urd_ptr, M_USBDEV); + } + + return 0; /* success */ + + detach: + if (urd_ptr) { + free(urd_ptr, M_USBDEV); + } + ucycom_detach(dev); + return ENXIO; +} + +static int +ucycom_detach(device_t dev) +{ + struct ucycom_softc *sc = device_get_softc(dev); + + ucom_detach(&(sc->sc_ucom)); + + usbd_transfer_unsetup(sc->sc_xfer, UCYCOM_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &Giant); + + return 0; +} + +static int +ucycom_open(struct ucom_softc *ucom) +{ + struct ucycom_softc *sc = ucom->sc_parent; + + /* set default configuration */ + ucycom_configure(sc, UCYCOM_DEFAULT_RATE, UCYCOM_DEFAULT_CFG); + + sc->sc_flags |= UCYCOM_FLAG_INTR_STALL; + + return 0; +} + +static void +ucycom_start_read(struct ucom_softc *ucom) +{ + struct ucycom_softc *sc = ucom->sc_parent; + usbd_transfer_start(sc->sc_xfer[1]); + return; +} + +static void +ucycom_stop_read(struct ucom_softc *ucom) +{ + struct ucycom_softc *sc = ucom->sc_parent; + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[1]); + return; +} + +static void +ucycom_start_write(struct ucom_softc *ucom) +{ + struct ucycom_softc *sc = ucom->sc_parent; + usbd_transfer_start(sc->sc_xfer[0]); + return; +} + +static void +ucycom_stop_write(struct ucom_softc *ucom) +{ + struct ucycom_softc *sc = ucom->sc_parent; + usbd_transfer_stop(sc->sc_xfer[0]); + return; +} + +static void +ucycom_ctrl_write_callback(struct usbd_xfer *xfer) +{ + struct ucycom_softc *sc = xfer->priv_sc; + usb_device_request_t *req = xfer->buffer; + u_int8_t offset; + u_int32_t actlen; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error == USBD_CANCELLED) { + return; + } + DPRINTF(sc, 0, "error=%s\n", + usbd_errstr(xfer->error)); + tr_transferred: + tr_setup: + + switch (sc->sc_model) { + case MODEL_CY7C63743: + offset = 1; + break; + case MODEL_CY7C64013: + offset = 2; + break; + default: + offset = 0; + break; + } + + if(ucom_get_data(&(sc->sc_ucom), req->bData + offset, + sc->sc_olen - offset, &actlen)) { + + req->bmRequestType = UT_WRITE_CLASS_INTERFACE; + req->bRequest = UR_SET_REPORT; + USETW2(req->wValue, UHID_OUTPUT_REPORT, sc->sc_oid); + USETW(req->wIndex, sc->sc_iface_no); + USETW(req->wLength, sc->sc_olen); + + switch (sc->sc_model) { + case MODEL_CY7C63743: + req->bData[0] = actlen; + break; + case MODEL_CY7C64013: + req->bData[0] = 0; + req->bData[1] = actlen; + break; + default: + panic("invalid model number!\n"); + break; + } + + xfer->length = (sc->sc_olen + sizeof(*req)); + + usbd_start_hardware(xfer); + } + return; +} + +static void +ucycom_config_callback(struct usbd_xfer *xfer) +{ + struct ucycom_softc *sc = xfer->priv_sc; + usb_device_request_t *req = xfer->buffer; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error == USBD_CANCELLED) { + return; + } + DPRINTF(sc, 0, "error=%s\n", + usbd_errstr(xfer->error)); + tr_transferred: + tr_setup: + if (sc->sc_flags & UCYCOM_FLAG_RELOAD_CONFIG) { + sc->sc_flags &= ~UCYCOM_FLAG_RELOAD_CONFIG; + + req->bmRequestType = UT_WRITE_CLASS_INTERFACE; + req->bRequest = UR_SET_REPORT; + USETW2(req->wValue, UHID_FEATURE_REPORT, sc->sc_fid); + USETW(req->wIndex, sc->sc_iface_no); + USETW(req->wLength, sc->sc_flen); + + req->bData[0] = (sc->sc_baud & 0xff); + req->bData[1] = (sc->sc_baud >> 8) & 0xff; + req->bData[2] = (sc->sc_baud >> 16) & 0xff; + req->bData[3] = (sc->sc_baud >> 24) & 0xff; + req->bData[4] = sc->sc_cfg; + + xfer->length = (sc->sc_flen + sizeof(*req)); + + usbd_start_hardware(xfer); + } + return; +} + +static int +ucycom_param(struct ucom_softc *ucom, struct termios *t) +{ + struct ucycom_softc *sc = ucom->sc_parent; + u_int32_t baud; + u_int8_t cfg; + int error; + + DPRINTF(sc, 0, "\n"); + + if (t->c_ispeed != t->c_ospeed) { + return (EINVAL); + } + + baud = t->c_ispeed; + + if (t->c_cflag & CIGNORE) { + cfg = sc->sc_cfg; + } else { + cfg = 0; + switch (t->c_cflag & CSIZE) { + case CS8: + ++cfg; + case CS7: + ++cfg; + case CS6: + ++cfg; + case CS5: + break; + default: + return (EINVAL); + } + if (t->c_cflag & CSTOPB) + cfg |= UCYCOM_CFG_STOPB; + if (t->c_cflag & PARENB) + cfg |= UCYCOM_CFG_PAREN; + if (t->c_cflag & PARODD) + cfg |= UCYCOM_CFG_PARODD; + } + + error = ucycom_configure(sc, baud, cfg); + return error; +} + +static int +ucycom_configure(struct ucycom_softc *sc, u_int32_t baud, u_int8_t cfg) +{ + switch (baud) { + case 600: + case 1200: + case 2400: + case 4800: + case 9600: + case 19200: + case 38400: + case 57600: +#if 0 + /* + * Stock chips only support standard baud rates in the 600 - 57600 + * range, but higher rates can be achieved using custom firmware. + */ + case 115200: + case 153600: + case 192000: +#endif + break; + default: + return EINVAL; + } + + sc->sc_flags |= UCYCOM_FLAG_RELOAD_CONFIG; + sc->sc_baud = baud; + sc->sc_cfg = cfg; + + usbd_transfer_start(sc->sc_xfer[2]); + + return 0; +} + +static void +ucycom_intr_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct ucycom_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + sc->sc_flags &= ~UCYCOM_FLAG_INTR_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + sc->sc_flags &= ~UCYCOM_FLAG_INTR_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} + +static void +ucycom_intr_read_callback(struct usbd_xfer *xfer) +{ + struct ucycom_softc *sc = xfer->priv_sc; + u_int8_t *ptr = xfer->buffer; + u_int32_t len; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flags |= UCYCOM_FLAG_INTR_STALL; + usbd_transfer_start(sc->sc_xfer[3]); + } + return; + + tr_transferred: + switch (sc->sc_model) { + case MODEL_CY7C63743: + if (xfer->actlen < 1) { + goto tr_setup; + } + sc->sc_ist = ptr[0] & ~0x07; + len = ptr[0] & 0x07; + + xfer->actlen --; + ptr ++; + + xfer->actlen = min(xfer->actlen, len); + break; + + case MODEL_CY7C64013: + if (xfer->actlen < 2) { + goto tr_setup; + } + sc->sc_ist = ptr[0] & ~0x07; + len = ptr[1]; + + xfer->actlen -= 2; + ptr += 2; + + xfer->actlen = min(xfer->actlen, len); + break; + + default: + panic("unsupported model number!"); + break; + } + + if (xfer->actlen) { + ucom_put_data(&(sc->sc_ucom), ptr, xfer->actlen); + } + + tr_setup: + if (sc->sc_flags & UCYCOM_FLAG_INTR_STALL) { + usbd_transfer_start(sc->sc_xfer[3]); + } else { + xfer->length = sc->sc_ilen; + usbd_start_hardware(xfer); + } + return; +} From owner-p4-projects@FreeBSD.ORG Thu Aug 31 18:23:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14AD416A4DF; Thu, 31 Aug 2006 18:23:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CCE6216A4DD for ; Thu, 31 Aug 2006 18:23:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22A9443D5C for ; Thu, 31 Aug 2006 18:23:15 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VINEUl077214 for ; Thu, 31 Aug 2006 18:23:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VINEFV077211 for perforce@freebsd.org; Thu, 31 Aug 2006 18:23:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 31 Aug 2006 18:23:14 GMT Message-Id: <200608311823.k7VINEFV077211@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 105412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 18:23:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=105412 Change 105412 by hselasky@hselasky_mini_itx on 2006/08/31 18:23:06 Remove unused file. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/hid.c#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Aug 31 19:26:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE41616A500; Thu, 31 Aug 2006 19:26:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A59D716A4E8 for ; Thu, 31 Aug 2006 19:26:40 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D4FC343D46 for ; Thu, 31 Aug 2006 19:26:39 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VJQd73082240 for ; Thu, 31 Aug 2006 19:26:39 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VJQdbT082237 for perforce@freebsd.org; Thu, 31 Aug 2006 19:26:39 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 31 Aug 2006 19:26:39 GMT Message-Id: <200608311926.k7VJQdbT082237@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 19:26:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=105417 Change 105417 by mjacob@newisp on 2006/08/31 19:25:42 Various changes imported from work supported by Mendocino. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#6 edit .. //depot/projects/newisp/dev/isp/isp_library.c#3 edit .. //depot/projects/newisp/dev/isp/isp_library.h#3 edit .. //depot/projects/newisp/dev/isp/isp_target.c#3 edit .. //depot/projects/newisp/dev/isp/isp_target.h#3 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#6 (text+ko) ==== @@ -1730,9 +1730,6 @@ icbp->icb_respaddr[RQRSP_ADDR3247] = DMA_WD2(isp->isp_result_dma); icbp->icb_respaddr[RQRSP_ADDR4863] = DMA_WD3(isp->isp_result_dma); - icbp->icb_rqstout = 0; - icbp->icb_rspnsin = 0; - isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init: fwopt 0x%x xfwopt 0x%x zfwopt 0x%x", icbp->icb_fwoptions, icbp->icb_xfwoptions, icbp->icb_zfwoptions); @@ -1956,9 +1953,6 @@ DMA_WD3(isp->isp_result_dma), DMA_WD2(isp->isp_result_dma), DMA_WD1(isp->isp_result_dma), DMA_WD0(isp->isp_result_dma)); - icbp->icb_rqstout = 0; - icbp->icb_rspnsin = 0; - FC_SCRATCH_ACQUIRE(isp); isp_put_icb_2400(isp, icbp, fcp->isp_scratch); ==== //depot/projects/newisp/dev/isp/isp_library.c#3 (text) ==== @@ -48,9 +48,9 @@ int isp_save_xs(ispsoftc_t *isp, XS_T *xs, uint32_t *handlep) { - int i, j; + uint32_t i, j; - for (j = isp->isp_lasthdls, i = 0; i < (int) isp->isp_maxcmds; i++) { + for (j = isp->isp_lasthdls, i = 0; i < isp->isp_maxcmds; i++) { if (isp->isp_xflist[j] == NULL) { break; } @@ -63,8 +63,9 @@ } isp->isp_xflist[j] = xs; *handlep = j+1; - if (++j == isp->isp_maxcmds) + if (++j == isp->isp_maxcmds) { j = 0; + } isp->isp_lasthdls = (uint32_t)j; return (0); } @@ -1183,17 +1184,19 @@ return (-1); } isp->isp_tgtlist[i] = xs; - *handlep = i+1; + *handlep = (i+1) | 0x8000; return (0); } void * isp_find_xs_tgt(ispsoftc_t *isp, uint32_t handle) { - if (handle < 1 || handle > (uint32_t) isp->isp_maxcmds) { + if (handle == 0 || (handle & 0x8000) == 0 || + (handle & 0x7fff) > isp->isp_maxcmds) { + isp_prt(isp, ISP_LOGERR, "bad handle in isp_find_xs_tgt"); return (NULL); } else { - return (isp->isp_tgtlist[handle - 1]); + return (isp->isp_tgtlist[(handle & 0x7fff) - 1]); } } @@ -1204,7 +1207,7 @@ if (xs != NULL) { for (i = 0; i < isp->isp_maxcmds; i++) { if (isp->isp_tgtlist[i] == xs) { - return ((uint32_t) i+1); + return ((i+1) & 0x7fff); } } } @@ -1214,10 +1217,15 @@ void isp_destroy_tgt_handle(ispsoftc_t *isp, uint32_t handle) { - if (handle > 0 && handle <= (uint32_t) isp->isp_maxcmds) { - isp->isp_tgtlist[handle - 1] = NULL; + if (handle == 0 || (handle & 0x8000) == 0 || + (handle & 0x7fff) > isp->isp_maxcmds) { + isp_prt(isp, ISP_LOGERR, + "bad handle in isp_destroy_tgt_handle"); + } else { + isp->isp_tgtlist[(handle & 0x7fff) - 1] = NULL; } } + void isp_put_atio(ispsoftc_t *isp, at_entry_t *atsrc, at_entry_t *atdst) { @@ -1413,7 +1421,7 @@ { int i; isp_copy_out_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXPUT_16(isp, ctsrc->ct_reserved, &ctdst->ct_reserved); + ISP_IOXPUT_16(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle); ISP_IOXPUT_16(isp, ctsrc->ct_fwhandle, &ctdst->ct_fwhandle); if (ISP_IS_SBUS(isp)) { ISP_IOXPUT_8(isp, ctsrc->ct_iid, &ctdst->ct_lun); @@ -1453,7 +1461,7 @@ { int i; isp_copy_in_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXGET_16(isp, &ctsrc->ct_reserved, ctdst->ct_reserved); + ISP_IOXGET_16(isp, &ctsrc->ct_syshandle, ctdst->ct_syshandle); ISP_IOXGET_16(isp, &ctsrc->ct_fwhandle, ctdst->ct_fwhandle); if (ISP_IS_SBUS(isp)) { ISP_IOXGET_8(isp, &ctsrc->ct_lun, ctdst->ct_iid); @@ -1495,8 +1503,7 @@ { int i; isp_copy_out_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXPUT_16(isp, ctsrc->ct_reserved, &ctdst->ct_reserved); - ISP_IOXPUT_16(isp, ctsrc->ct_fwhandle, &ctdst->ct_fwhandle); + ISP_IOXPUT_32(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle); ISP_IOXPUT_8(isp, ctsrc->ct_lun, &ctdst->ct_lun); ISP_IOXPUT_8(isp, ctsrc->ct_iid, &ctdst->ct_iid); ISP_IOXPUT_16(isp, ctsrc->ct_rxid, &ctdst->ct_rxid); @@ -1579,8 +1586,7 @@ { int i; isp_copy_out_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXPUT_16(isp, ctsrc->ct_reserved, &ctdst->ct_reserved); - ISP_IOXPUT_16(isp, ctsrc->ct_fwhandle, &ctdst->ct_fwhandle); + ISP_IOXPUT_32(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle); ISP_IOXPUT_16(isp, ctsrc->ct_iid, &ctdst->ct_iid); ISP_IOXPUT_16(isp, ctsrc->ct_rxid, &ctdst->ct_rxid); ISP_IOXPUT_16(isp, ctsrc->ct_flags, &ctdst->ct_flags); @@ -1660,9 +1666,10 @@ void isp_get_ctio2(ispsoftc_t *isp, ct2_entry_t *ctsrc, ct2_entry_t *ctdst) { + int i; + isp_copy_in_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXGET_16(isp, &ctsrc->ct_reserved, ctdst->ct_reserved); - ISP_IOXGET_16(isp, &ctsrc->ct_fwhandle, ctdst->ct_fwhandle); + ISP_IOXGET_32(isp, &ctsrc->ct_syshandle, ctdst->ct_syshandle); ISP_IOXGET_8(isp, &ctsrc->ct_lun, ctdst->ct_lun); ISP_IOXGET_8(isp, &ctsrc->ct_iid, ctdst->ct_iid); ISP_IOXGET_16(isp, &ctsrc->ct_rxid, ctdst->ct_rxid); @@ -1672,14 +1679,82 @@ ISP_IOXGET_16(isp, &ctsrc->ct_seg_count, ctdst->ct_seg_count); ISP_IOXGET_32(isp, &ctsrc->ct_reloff, ctdst->ct_reloff); ISP_IOXGET_32(isp, &ctsrc->ct_resid, ctdst->ct_resid); + if ((ctdst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) { + ISP_IOXGET_32(isp, &ctsrc->rsp.m0._reserved, + ctdst->rsp.m0._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m0._reserved2, + ctdst->rsp.m0._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m0.ct_scsi_status, + ctdst->rsp.m0.ct_scsi_status); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_xfrlen, + ctdst->rsp.m0.ct_xfrlen); + if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO2) { + for (i = 0; i < ISP_RQDSEG_T2; i++) { + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg[i].ds_base, + ctdst->rsp.m0.ct_dataseg[i].ds_base); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg[i].ds_count, + ctdst->rsp.m0.ct_dataseg[i].ds_count); + } + } else if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO3) { + for (i = 0; i < ISP_RQDSEG_T3; i++) { + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_base, + ctdst->rsp.m0.ct_dataseg64[i].ds_base); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_basehi, + ctdst->rsp.m0.ct_dataseg64[i].ds_basehi); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_count, + ctdst->rsp.m0.ct_dataseg64[i].ds_count); + } + } else if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO4) { + ISP_IOXGET_16(isp, &ctsrc->rsp.m0.ct_dslist.ds_type, + ctdst->rsp.m0.ct_dslist.ds_type); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_dslist.ds_segment, + ctdst->rsp.m0.ct_dslist.ds_segment); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_dslist.ds_base, + ctdst->rsp.m0.ct_dslist.ds_base); + } + } else if ((ctdst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) { + ISP_IOXGET_16(isp, &ctsrc->rsp.m1._reserved, + ctdst->rsp.m1._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1._reserved2, + ctdst->rsp.m1._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_senselen, + ctdst->rsp.m1.ct_senselen); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_scsi_status, + ctdst->rsp.m1.ct_scsi_status); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_resplen, + ctdst->rsp.m1.ct_resplen); + for (i = 0; i < MAXRESPLEN; i++) { + ISP_IOXGET_8(isp, &ctsrc->rsp.m1.ct_resp[i], + ctdst->rsp.m1.ct_resp[i]); + } + } else { + ISP_IOXGET_32(isp, &ctsrc->rsp.m2._reserved, + ctdst->rsp.m2._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m2._reserved2, + ctdst->rsp.m2._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m2._reserved3, + ctdst->rsp.m2._reserved3); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_datalen, + ctdst->rsp.m2.ct_datalen); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_base, + ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_base); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_count, + ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_count); + } } void isp_get_ctio2e(ispsoftc_t *isp, ct2e_entry_t *ctsrc, ct2e_entry_t *ctdst) { + int i; + isp_copy_in_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header); - ISP_IOXGET_16(isp, &ctsrc->ct_reserved, ctdst->ct_reserved); - ISP_IOXGET_16(isp, &ctsrc->ct_fwhandle, ctdst->ct_fwhandle); + ISP_IOXGET_32(isp, &ctsrc->ct_syshandle, ctdst->ct_syshandle); ISP_IOXGET_16(isp, &ctsrc->ct_iid, ctdst->ct_iid); ISP_IOXGET_16(isp, &ctsrc->ct_rxid, ctdst->ct_rxid); ISP_IOXGET_16(isp, &ctsrc->ct_flags, ctdst->ct_flags); @@ -1688,6 +1763,73 @@ ISP_IOXGET_16(isp, &ctsrc->ct_seg_count, ctdst->ct_seg_count); ISP_IOXGET_32(isp, &ctsrc->ct_reloff, ctdst->ct_reloff); ISP_IOXGET_32(isp, &ctsrc->ct_resid, ctdst->ct_resid); + if ((ctdst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) { + ISP_IOXGET_32(isp, &ctsrc->rsp.m0._reserved, + ctdst->rsp.m0._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m0._reserved2, + ctdst->rsp.m0._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m0.ct_scsi_status, + ctdst->rsp.m0.ct_scsi_status); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_xfrlen, + ctdst->rsp.m0.ct_xfrlen); + if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO2) { + for (i = 0; i < ISP_RQDSEG_T2; i++) { + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg[i].ds_base, + ctdst->rsp.m0.ct_dataseg[i].ds_base); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg[i].ds_count, + ctdst->rsp.m0.ct_dataseg[i].ds_count); + } + } else if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO3) { + for (i = 0; i < ISP_RQDSEG_T3; i++) { + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_base, + ctdst->rsp.m0.ct_dataseg64[i].ds_base); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_basehi, + ctdst->rsp.m0.ct_dataseg64[i].ds_basehi); + ISP_IOXGET_32(isp, + &ctsrc->rsp.m0.ct_dataseg64[i].ds_count, + ctdst->rsp.m0.ct_dataseg64[i].ds_count); + } + } else if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO4) { + ISP_IOXGET_16(isp, &ctsrc->rsp.m0.ct_dslist.ds_type, + ctdst->rsp.m0.ct_dslist.ds_type); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_dslist.ds_segment, + ctdst->rsp.m0.ct_dslist.ds_segment); + ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_dslist.ds_base, + ctdst->rsp.m0.ct_dslist.ds_base); + } + } else if ((ctdst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) { + ISP_IOXGET_16(isp, &ctsrc->rsp.m1._reserved, + ctdst->rsp.m1._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1._reserved2, + ctdst->rsp.m1._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_senselen, + ctdst->rsp.m1.ct_senselen); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_scsi_status, + ctdst->rsp.m1.ct_scsi_status); + ISP_IOXGET_16(isp, &ctsrc->rsp.m1.ct_resplen, + ctdst->rsp.m1.ct_resplen); + for (i = 0; i < MAXRESPLEN; i++) { + ISP_IOXGET_8(isp, &ctsrc->rsp.m1.ct_resp[i], + ctdst->rsp.m1.ct_resp[i]); + } + } else { + ISP_IOXGET_32(isp, &ctsrc->rsp.m2._reserved, + ctdst->rsp.m2._reserved); + ISP_IOXGET_16(isp, &ctsrc->rsp.m2._reserved2, + ctdst->rsp.m2._reserved2); + ISP_IOXGET_16(isp, &ctsrc->rsp.m2._reserved3, + ctdst->rsp.m2._reserved3); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_datalen, + ctdst->rsp.m2.ct_datalen); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_base, + ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_base); + ISP_IOXGET_32(isp, &ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_count, + ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_count); + } } void ==== //depot/projects/newisp/dev/isp/isp_library.h#3 (text) ==== @@ -125,6 +125,8 @@ #include "isp_target.h" #endif +#define IS_TARGET_HANDLE(x) ((x) & 0x8000) + extern int isp_save_xs_tgt(ispsoftc_t *, void *, uint32_t *); extern void *isp_find_xs_tgt(ispsoftc_t *, uint32_t); extern uint32_t isp_find_tgt_handle(ispsoftc_t *, void *); ==== //depot/projects/newisp/dev/isp/isp_target.c#3 (text+ko) ==== @@ -53,8 +53,8 @@ "ATIO returned for lun %d because it was in the middle of Bus Device Reset " "on bus %d"; static const char atior[] = - "ATIO returned on for lun %d on from IID %d because a Bus Reset occurred " - "on bus %d"; + "ATIO returned on for lun %d on from loopid %d because a Bus Reset " + "occurred on bus %d"; static void isp_got_msg(ispsoftc_t *, in_entry_t *); static void isp_got_msg_fc(ispsoftc_t *, in_fcentry_t *); @@ -798,8 +798,8 @@ } else { isp_put_notify_ack_fc(isp, na, (na_fcentry_t *)outp); } - isp_prt(isp, ISP_LOGTDEBUG0, "notify ack iid %u seqid %x flags " - "%x tflags %x response %x", iid, na->na_seqid, + isp_prt(isp, ISP_LOGTDEBUG0, "notify ack loopid %u seqid %x " + "flags %x tflags %x response %x", iid, na->na_seqid, na->na_flags, na->na_task_flags, na->na_response); } else { na_entry_t *na = (na_entry_t *) storage; @@ -819,8 +819,8 @@ na->na_header.rqs_entry_type = RQSTYPE_NOTIFY_ACK; na->na_header.rqs_entry_count = 1; isp_put_notify_ack(isp, na, (na_entry_t *)outp); - isp_prt(isp, ISP_LOGTDEBUG0, "notify ack iid %u lun %u tgt %u " - "seqid %x event %x", na->na_iid, na->na_lun, na->na_tgt, + isp_prt(isp, ISP_LOGTDEBUG0, "notify ack loopid %u lun %u tgt " + "%u seqid %x event %x", na->na_iid, na->na_lun, na->na_tgt, na->na_seqid, na->na_event); } ISP_TDQE(isp, "isp_notify_ack", (int) optr, storage); @@ -901,7 +901,7 @@ default: isp_prt(isp, ISP_LOGERR, - "Unknown ATIO status 0x%x from initiator %d for lun %d", + "Unknown ATIO status 0x%x from loopid %d for lun %d", aep->at_status, aep->at_iid, lun); (void) isp_target_put_atio(isp, aep); break; @@ -990,7 +990,7 @@ default: isp_prt(isp, ISP_LOGERR, - "Unknown ATIO2 status 0x%x from initiator %d for lun %d", + "Unknown ATIO2 status 0x%x from loopid %d for lun %d", aep->at_status, iid, lun); (void) isp_target_put_atio(isp, aep); break; @@ -1006,8 +1006,9 @@ if (ct->ct_syshandle) { xs = isp_find_xs_tgt(isp, ct->ct_syshandle); - if (xs == NULL) + if (xs == NULL) { pl = ISP_LOGALL; + } } else { xs = NULL; } @@ -1059,7 +1060,7 @@ if (fmsg == NULL) fmsg = "ABORT TAG message sent by Initiator"; - isp_prt(isp, ISP_LOGWARN, "CTIO destroyed by %s", fmsg); + isp_prt(isp, ISP_LOGTDEBUG0, "CTIO destroyed by %s", fmsg); break; case CT_INVAL: @@ -1160,14 +1161,15 @@ static void isp_handle_ctio2(ispsoftc_t *isp, ct2_entry_t *ct) { - XS_T *xs; + void *xs; int pl = ISP_LOGTDEBUG2; char *fmsg = NULL; if (ct->ct_syshandle) { xs = isp_find_xs_tgt(isp, ct->ct_syshandle); - if (xs == NULL) + if (xs == NULL) { pl = ISP_LOGALL; + } } else { xs = NULL; } @@ -1197,7 +1199,7 @@ * status. These CTIOs are handled in that same way as * CT_ABORTED ones, so just fall through here. */ - fmsg = "TARGET RESET Task Management Function Received"; + fmsg = "TARGET RESET"; /*FALLTHROUGH*/ case CT_RESET: if (fmsg == NULL) @@ -1209,10 +1211,11 @@ * Bus Free and returns all outstanding CTIOs with the status * set, then sends us an Immediate Notify entry. */ - if (fmsg == NULL) - fmsg = "ABORT Task Management Function Received"; + if (fmsg == NULL) { + fmsg = "ABORT"; + } - isp_prt(isp, ISP_LOGERR, "CTIO2 destroyed by %s: RX_ID=0x%x", + isp_prt(isp, ISP_LOGTDEBUG0, "CTIO2 destroyed by %s: RX_ID=0x%x", fmsg, ct->ct_rxid); break; @@ -1250,7 +1253,7 @@ case CT_NOACK: if (fmsg == NULL) fmsg = "unacknowledged Immediate Notify pending"; - isp_prt(isp, ISP_LOGERR, "CTIO returned by f/w- %s", fmsg); + isp_prt(isp, ISP_LOGWARN, "CTIO returned by f/w- %s", fmsg); break; case CT_INVRXID: @@ -1258,7 +1261,7 @@ * CTIO rejected by the firmware because an invalid RX_ID. * Just print a message. */ - isp_prt(isp, ISP_LOGERR, + isp_prt(isp, ISP_LOGWARN, "CTIO2 completed with Invalid RX_ID 0x%x", ct->ct_rxid); break; ==== //depot/projects/newisp/dev/isp/isp_target.h#3 (text+ko) ==== @@ -409,8 +409,7 @@ */ typedef struct { isphdr_t ct_header; - uint16_t ct_reserved; -#define ct_syshandle ct_reserved /* we use this */ + uint16_t ct_syshandle; uint16_t ct_fwhandle; /* required by f/w */ uint8_t ct_lun; /* lun */ uint8_t ct_iid; /* initiator id */ @@ -513,8 +512,7 @@ #define MAXRESPLEN 26 typedef struct { isphdr_t ct_header; - uint16_t ct_reserved; - uint16_t ct_fwhandle; /* just to match CTIO */ + uint32_t ct_syshandle; uint8_t ct_lun; /* lun */ uint8_t ct_iid; /* initiator id */ uint16_t ct_rxid; /* response ID */ @@ -572,8 +570,7 @@ typedef struct { isphdr_t ct_header; - uint16_t ct_reserved; - uint16_t ct_fwhandle; /* just to match CTIO */ + uint32_t ct_syshandle; uint16_t ct_iid; /* initiator id */ uint16_t ct_rxid; /* response ID */ uint16_t ct_flags; @@ -615,16 +612,17 @@ /* * ct_flags values for CTIO2 */ -#define CT2_FLAG_MMASK 0x0003 #define CT2_FLAG_MODE0 0x0000 #define CT2_FLAG_MODE1 0x0001 #define CT2_FLAG_MODE2 0x0002 -#define CT2_DATA_IN CT_DATA_IN -#define CT2_DATA_OUT CT_DATA_OUT -#define CT2_NO_DATA CT_NO_DATA -#define CT2_DATAMASK CT_DATAMASK +#define CT2_FLAG_MMASK 0x0003 +#define CT2_DATA_IN 0x0040 +#define CT2_DATA_OUT 0x0080 +#define CT2_NO_DATA 0x00C0 +#define CT2_DATAMASK 0x00C0 #define CT2_CCINCR 0x0100 #define CT2_FASTPOST 0x0200 +#define CT2_CONFIRM 0x2000 #define CT2_TERMINATE 0x4000 #define CT2_SENDSTATUS 0x8000 From owner-p4-projects@FreeBSD.ORG Thu Aug 31 19:52:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 586A916A4E2; Thu, 31 Aug 2006 19:52:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C5AEC16A4E0 for ; Thu, 31 Aug 2006 19:52:12 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8BD9E43D5A for ; Thu, 31 Aug 2006 19:52:12 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VJqCdb083769 for ; Thu, 31 Aug 2006 19:52:12 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VJqCLE083766 for perforce@freebsd.org; Thu, 31 Aug 2006 19:52:12 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 19:52:12 GMT Message-Id: <200608311952.k7VJqCLE083766@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105418 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 19:52:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=105418 Change 105418 by piso@piso_newluxor on 2006/08/31 19:51:40 Move kernel libalias modules to a new building scheme. Affected files ... .. //depot/projects/soc2005/libalias/sys/modules/libalias/Makefile#4 edit .. //depot/projects/soc2005/libalias/sys/modules/libalias/cuseeme/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/dummy/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/ftp/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/irc/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/Makefile.inc#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/cuseeme/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/dummy/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/ftp/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/irc/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/nbt/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/pptp/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/skinny/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/modules/smedia/Makefile#1 add .. //depot/projects/soc2005/libalias/sys/modules/libalias/nbt/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/pptp/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/skinny/Makefile#4 delete .. //depot/projects/soc2005/libalias/sys/modules/libalias/smedia/Makefile#4 delete Differences ... ==== //depot/projects/soc2005/libalias/sys/modules/libalias/Makefile#4 (text+ko) ==== @@ -1,11 +1,29 @@ -SUBDIR= cuseeme \ - dummy \ - ftp \ - irc \ - libalias \ - nbt \ - pptp \ - skinny \ - smedia +# Copyright 2006 Paolo Pisati +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $Id$ + +SUBDIR+= libalias modules .include From owner-p4-projects@FreeBSD.ORG Thu Aug 31 20:05:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 993E616A4EA; Thu, 31 Aug 2006 20:05:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D29816A4E6 for ; Thu, 31 Aug 2006 20:05:37 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CAEE843D73 for ; Thu, 31 Aug 2006 20:05:30 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VK5U1w085718 for ; Thu, 31 Aug 2006 20:05:30 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VK5UxU085712 for perforce@freebsd.org; Thu, 31 Aug 2006 20:05:30 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 20:05:30 GMT Message-Id: <200608312005.k7VK5UxU085712@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 20:05:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=105419 Change 105419 by piso@piso_newluxor on 2006/08/31 20:05:29 Move the libalias lib modules under modules, and while here delete the lib- prefix. Affected files ... .. //depot/projects/soc2005/libalias/lib/libalias/lib-cuseeme/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-dummy/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-ftp/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-irc/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-libalias/Makefile#5 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-nbt/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-pptp/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-skinny/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/lib-smedia/Makefile#4 delete .. //depot/projects/soc2005/libalias/lib/libalias/libalias/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/cuseeme/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/dummy/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/ftp/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/irc/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/nbt/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/pptp/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/skinny/Makefile#1 branch .. //depot/projects/soc2005/libalias/lib/libalias/modules/smedia/Makefile#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Thu Aug 31 20:18:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C84116A4E1; Thu, 31 Aug 2006 20:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 15AB316A4DF for ; Thu, 31 Aug 2006 20:18:54 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1208E43D62 for ; Thu, 31 Aug 2006 20:18:49 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VKImOt086393 for ; Thu, 31 Aug 2006 20:18:48 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VKImHr086390 for perforce@freebsd.org; Thu, 31 Aug 2006 20:18:48 GMT (envelope-from piso@freebsd.org) Date: Thu, 31 Aug 2006 20:18:48 GMT Message-Id: <200608312018.k7VKImHr086390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 20:18:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=105421 Change 105421 by piso@piso_newluxor on 2006/08/31 20:17:58 Finish converting the libalias lib side to the new build scheme too. Affected files ... .. //depot/projects/soc2005/libalias/lib/libalias/Makefile#3 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/cuseeme/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/dummy/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/ftp/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/irc/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/nbt/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/pptp/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/skinny/Makefile#2 edit .. //depot/projects/soc2005/libalias/lib/libalias/modules/smedia/Makefile#2 edit Differences ... ==== //depot/projects/soc2005/libalias/lib/libalias/Makefile#3 (text+ko) ==== @@ -1,12 +1,29 @@ -# $FreeBSD: src/lib/libalias/Makefile,v 1.31 2005/07/22 17:18:59 kensmith Exp $ -SUBDIR= lib-cuseeme \ - lib-dummy \ - lib-ftp \ - lib-irc \ - lib-libalias \ - lib-nbt \ - lib-pptp \ - lib-skinny \ - lib-smedia - -.include +# Copyright 2006 Paolo Pisati +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $Id$ + +SUBDIR+= libalias modules + +.include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/cuseeme/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_cuseeme -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_cuseeme.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/dummy/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_dummy -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_dummy.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/ftp/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_ftp -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_ftp.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/irc/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_irc -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_irc.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/nbt/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_nbt -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_nbt.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/pptp/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_pptp -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_pptp.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/skinny/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_skinny -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_skinny.c -WARNS?= 1 .include ==== //depot/projects/soc2005/libalias/lib/libalias/modules/smedia/Makefile#2 (text+ko) ==== @@ -1,9 +1,4 @@ -.PATH: ${.CURDIR}/../../../sys/netinet/libalias - LIB= alias_smedia -SHLIBDIR?= /lib -SHLIB_MAJOR= 4 SRCS= alias_smedia.c -WARNS?= 1 .include From owner-p4-projects@FreeBSD.ORG Thu Aug 31 22:34:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E55E16A4E0; Thu, 31 Aug 2006 22:34:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 38BDD16A4DD for ; Thu, 31 Aug 2006 22:34:59 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA73243D66 for ; Thu, 31 Aug 2006 22:34:58 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7VMYwwh003801 for ; Thu, 31 Aug 2006 22:34:58 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7VMYqCd003798 for perforce@freebsd.org; Thu, 31 Aug 2006 22:34:52 GMT (envelope-from imp@freebsd.org) Date: Thu, 31 Aug 2006 22:34:52 GMT Message-Id: <200608312234.k7VMYqCd003798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 105429 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 31 Aug 2006 22:34:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=105429 Change 105429 by imp@imp_paco-paco on 2006/08/31 22:34:30 IFC @105427 Affected files ... .. //depot/projects/arm/src/MAINTAINERS#2 integrate .. //depot/projects/arm/src/Makefile.inc1#12 integrate .. //depot/projects/arm/src/bin/cp/cp.1#2 integrate .. //depot/projects/arm/src/bin/cp/cp.c#2 integrate .. //depot/projects/arm/src/bin/cp/extern.h#2 integrate .. //depot/projects/arm/src/bin/cp/utils.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/gcc/ansidecl.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/builtins.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-common.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-common.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-decl.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-objc-common.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-pch.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/c-typeck.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cfgcleanup.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/combine.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config.gcc#2 integrate .. //depot/projects/arm/src/contrib/gcc/config.host#2 integrate .. //depot/projects/arm/src/contrib/gcc/config.in#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/alpha/alpha.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/alpha/alpha.md#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/arm/arm-protos.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/arm/arm.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/arm/arm.md#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/host-linux.c#1 branch .. //depot/projects/arm/src/contrib/gcc/config/host-solaris.c#1 branch .. //depot/projects/arm/src/contrib/gcc/config/i386/i386.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/i386/i386.md#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/ia64/hpux.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/aix51.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/host-darwin.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/linux64.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/rs6000-protos.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/rs6000.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/rs6000.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/rs6000.md#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/rs6000/sysv4.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/sparc/gmon-sol2.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/sparc/sol2-gas-bi.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/sparc/sol2.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/sparc/sparc.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/sparc/sparc.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/config/x-linux#1 branch .. //depot/projects/arm/src/contrib/gcc/config/x-solaris#1 branch .. //depot/projects/arm/src/contrib/gcc/configure#2 integrate .. //depot/projects/arm/src/contrib/gcc/configure.ac#2 integrate .. //depot/projects/arm/src/contrib/gcc/coverage.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/call.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/class.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/cp-tree.def#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/cp-tree.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/cvt.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/decl.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/decl2.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/error.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/init.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/lex.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/method.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/name-lookup.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/name-lookup.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/parser.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/pt.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/search.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/semantics.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cp/typeck.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cppfiles.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cpphash.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/cppinit.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/cse.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/doc/contrib.texi#2 integrate .. //depot/projects/arm/src/contrib/gcc/doc/hostconfig.texi#2 integrate .. //depot/projects/arm/src/contrib/gcc/doc/include/gcc-common.texi#2 integrate .. //depot/projects/arm/src/contrib/gcc/doc/invoke.texi#2 integrate .. //depot/projects/arm/src/contrib/gcc/expmed.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/f/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/gcc/f/g77.texi#2 integrate .. //depot/projects/arm/src/contrib/gcc/f/g77spec.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/flow.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/fold-const.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/gcc.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/gcov-dump.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/gcov.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/gcse.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/ggc-common.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/global.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/hooks.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/hooks.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/hosthooks-def.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/hosthooks.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/local-alloc.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/longlong.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/loop.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/md5.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/md5.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/mips-tdump.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/mips-tfile.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/mklibgcc.in#2 integrate .. //depot/projects/arm/src/contrib/gcc/optabs.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/pretty-print.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/reg-stack.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/regrename.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/regs.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/rtl.h#2 integrate .. //depot/projects/arm/src/contrib/gcc/sched-rgn.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/simplify-rtx.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/stmt.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/toplev.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/tree.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/unroll.c#2 integrate .. //depot/projects/arm/src/contrib/gcc/version.c#2 integrate .. //depot/projects/arm/src/contrib/libf2c/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/libobjc/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/libobjc/README#2 integrate .. //depot/projects/arm/src/contrib/libstdc++/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/libstdc++/include/bits/c++config#2 integrate .. //depot/projects/arm/src/contrib/libstdc++/include/bits/fstream.tcc#2 integrate .. //depot/projects/arm/src/contrib/libstdc++/include/c_std/std_cmath.h#2 integrate .. //depot/projects/arm/src/contrib/libstdc++/include/ext/hashtable.h#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/Makefile#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/cmds.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/conf.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/extern.h#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/ftpcmd.y#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/ftpd.8#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/ftpd.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/ftpd.conf.5#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/logutmp.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/logwtmp.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/pathnames.h#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/popen.c#2 integrate .. //depot/projects/arm/src/contrib/lukemftpd/src/version.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/contrib/openbsm/HISTORY#2 integrate .. //depot/projects/arm/src/contrib/openbsm/README#2 integrate .. //depot/projects/arm/src/contrib/openbsm/VERSION#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditfilterd/auditfilterd.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditfilterd/auditfilterd.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/audit.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/audit_filter.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/audit_internal.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/audit_kevents.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/audit_record.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/bsm/libbsm.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/config/config.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/config/config.h.in#2 integrate .. //depot/projects/arm/src/contrib/openbsm/configure#2 integrate .. //depot/projects/arm/src/contrib/openbsm/configure.ac#2 integrate .. //depot/projects/arm/src/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/au_token.3#2 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_audit.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_event.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_token.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/man/audit.log.5#2 integrate .. //depot/projects/arm/src/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/test/bsm/generate.c#2 integrate .. //depot/projects/arm/src/contrib/openbsm/tools/Makefile.am#2 integrate .. //depot/projects/arm/src/contrib/openbsm/tools/Makefile.in#2 integrate .. //depot/projects/arm/src/etc/Makefile#2 integrate .. //depot/projects/arm/src/etc/defaults/periodic.conf#2 integrate .. //depot/projects/arm/src/etc/etc.alpha/ttys#2 delete .. //depot/projects/arm/src/etc/freebsd-update.conf#1 branch .. //depot/projects/arm/src/etc/hosts.allow#2 integrate .. //depot/projects/arm/src/etc/inetd.conf#2 integrate .. //depot/projects/arm/src/etc/mtree/BSD.var.dist#2 integrate .. //depot/projects/arm/src/etc/periodic/security/410.logincheck#1 branch .. //depot/projects/arm/src/etc/periodic/security/Makefile#2 integrate .. //depot/projects/arm/src/etc/periodic/weekly/120.clean-kvmdb#2 delete .. //depot/projects/arm/src/etc/periodic/weekly/Makefile#2 integrate .. //depot/projects/arm/src/etc/phones#2 integrate .. //depot/projects/arm/src/etc/rc.d/powerd#2 integrate .. //depot/projects/arm/src/games/fortune/datfiles/fortunes#3 integrate .. //depot/projects/arm/src/gnu/usr.bin/gdb/Makefile#3 integrate .. //depot/projects/arm/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#1 branch .. //depot/projects/arm/src/lib/libarchive/archive_read_support_compression_none.c#3 integrate .. //depot/projects/arm/src/lib/libc/ia64/gen/_set_tp.c#2 integrate .. //depot/projects/arm/src/lib/libc/powerpc/gen/_set_tp.c#2 integrate .. //depot/projects/arm/src/lib/libc/sys/kqueue.2#2 integrate .. //depot/projects/arm/src/lib/libsdp/sdp.h#2 integrate .. //depot/projects/arm/src/lib/libsdp/util.c#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/ia64/ia64/pthread_md.c#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/ia64/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/powerpc/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/powerpc/powerpc/pthread_md.c#2 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_mutex.c#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_mutex_prioceiling.c#2 delete .. //depot/projects/arm/src/lib/libthr/thread/thr_mutex_protocol.c#2 delete .. //depot/projects/arm/src/lib/libthr/thread/thr_private.h#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_seterrno.c#2 delete .. //depot/projects/arm/src/lib/libthr/thread/thr_sigmask.c#2 delete .. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#2 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.h#2 integrate .. //depot/projects/arm/src/libexec/lukemftpd/nbsd2fbsd.h#2 integrate .. //depot/projects/arm/src/libexec/lukemftpd/nbsd_pidfile.h#1 branch .. //depot/projects/arm/src/libexec/lukemftpd/pamize.h#2 delete .. //depot/projects/arm/src/libexec/rtld-elf/ia64/reloc.c#2 integrate .. //depot/projects/arm/src/libexec/rtld-elf/ia64/rtld_machdep.h#2 integrate .. //depot/projects/arm/src/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#8 integrate .. //depot/projects/arm/src/release/scripts/kernels-install.sh#2 integrate .. //depot/projects/arm/src/release/scripts/lib32-install.sh#1 branch .. //depot/projects/arm/src/release/scripts/proflibs-install.sh#2 integrate .. //depot/projects/arm/src/sbin/restore/tape.c#2 integrate .. //depot/projects/arm/src/share/man/man4/auditpipe.4#2 integrate .. //depot/projects/arm/src/share/man/man4/dummynet.4#2 integrate .. //depot/projects/arm/src/share/man/man4/fast_ipsec.4#2 integrate .. //depot/projects/arm/src/share/man/man4/ipsec.4#2 integrate .. //depot/projects/arm/src/share/man/man4/ixgb.4#3 integrate .. //depot/projects/arm/src/share/man/man4/sio.4#2 integrate .. //depot/projects/arm/src/share/man/man5/Makefile#2 integrate .. //depot/projects/arm/src/share/man/man5/freebsd-update.conf.5#1 branch .. //depot/projects/arm/src/share/man/man5/periodic.conf.5#2 integrate .. //depot/projects/arm/src/share/man/man8/Makefile#2 integrate .. //depot/projects/arm/src/share/man/man8/nanobsd.8#1 branch .. //depot/projects/arm/src/share/man/man9/VFS_ROOT.9#2 integrate .. //depot/projects/arm/src/share/man/man9/bus_dma.9#2 integrate .. //depot/projects/arm/src/share/man/man9/ithread.9#2 integrate .. //depot/projects/arm/src/share/mk/bsd.lib.mk#2 integrate .. //depot/projects/arm/src/share/mk/bsd.port.mk#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#7 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_proto.h#13 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_syscall.h#13 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysent.c#13 integrate .. //depot/projects/arm/src/sys/amd64/linux32/syscalls.master#13 integrate .. //depot/projects/arm/src/sys/arm/arm/busdma_machdep.c#9 integrate .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#9 integrate .. //depot/projects/arm/src/sys/arm/arm/elf_trampoline.c#12 integrate .. //depot/projects/arm/src/sys/arm/arm/fusu.S#4 integrate .. //depot/projects/arm/src/sys/arm/arm/identcpu.c#7 integrate .. //depot/projects/arm/src/sys/arm/arm/pmap.c#25 integrate .. //depot/projects/arm/src/sys/arm/at91/at91.c#19 integrate .. //depot/projects/arm/src/sys/arm/at91/at91rm92reg.h#19 integrate .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#54 integrate .. //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#35 integrate .. //depot/projects/arm/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/arm/src/sys/arm/include/armreg.h#3 integrate .. //depot/projects/arm/src/sys/arm/include/asm.h#2 integrate .. //depot/projects/arm/src/sys/arm/include/cpuconf.h#4 integrate .. //depot/projects/arm/src/sys/arm/include/cpufunc.h#5 integrate .. //depot/projects/arm/src/sys/arm/include/elf.h#3 integrate .. //depot/projects/arm/src/sys/arm/include/vmparam.h#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_pci.c#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321var.h#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#11 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/arm/src/sys/bsm/audit.h#6 integrate .. //depot/projects/arm/src/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/arm/src/sys/bsm/audit_kevents.h#7 integrate .. //depot/projects/arm/src/sys/bsm/audit_record.h#5 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#12 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_stats.c#9 integrate .. //depot/projects/arm/src/sys/conf/NOTES#32 integrate .. //depot/projects/arm/src/sys/conf/files.powerpc#11 integrate .. //depot/projects/arm/src/sys/conf/options.arm#16 integrate .. //depot/projects/arm/src/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/arm/src/sys/dev/arcmsr/arcmsr.c#4 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#25 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-raid.c#12 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.c#26 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.h#10 integrate .. //depot/projects/arm/src/sys/dev/fb/creator.c#3 integrate .. //depot/projects/arm/src/sys/dev/fdc/fdc.c#6 integrate .. //depot/projects/arm/src/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/arm/src/sys/dev/ispfw/ispfw.c#4 integrate .. //depot/projects/arm/src/sys/dev/mii/brgphy.c#10 integrate .. //depot/projects/arm/src/sys/dev/mii/miidevs#6 integrate .. //depot/projects/arm/src/sys/i386/i386/support.s#4 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_dummy.c#6 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_machdep.c#7 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_proto.h#15 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_syscall.h#15 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_sysent.c#15 integrate .. //depot/projects/arm/src/sys/i386/linux/syscalls.master#15 integrate .. //depot/projects/arm/src/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/arm/src/sys/ia64/include/vmparam.h#3 integrate .. //depot/projects/arm/src/sys/kern/init_main.c#7 integrate .. //depot/projects/arm/src/sys/kern/init_sysent.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_thr.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_thread.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_umtx.c#7 integrate .. //depot/projects/arm/src/sys/kern/sched_4bsd.c#9 integrate .. //depot/projects/arm/src/sys/kern/sched_core.c#4 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#9 integrate .. //depot/projects/arm/src/sys/kern/subr_witness.c#10 integrate .. //depot/projects/arm/src/sys/kern/syscalls.c#15 integrate .. //depot/projects/arm/src/sys/kern/syscalls.master#18 integrate .. //depot/projects/arm/src/sys/kern/systrace_args.c#3 integrate .. //depot/projects/arm/src/sys/kern/vfs_mount.c#19 integrate .. //depot/projects/arm/src/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/arm/src/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/arm/src/sys/net/if_bridge.c#22 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#14 integrate .. //depot/projects/arm/src/sys/net/if_vlan.c#17 integrate .. //depot/projects/arm/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#6 integrate .. //depot/projects/arm/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#6 integrate .. //depot/projects/arm/src/sys/netgraph/ng_fec.c#3 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#18 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#10 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_socket.c#13 integrate .. //depot/projects/arm/src/sys/powerpc/include/gdb_machdep.h#1 branch .. //depot/projects/arm/src/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/gdb_machdep.c#1 branch .. //depot/projects/arm/src/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/arm/src/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/arm/src/sys/security/audit/audit_ioctl.h#3 integrate .. //depot/projects/arm/src/sys/security/audit/audit_pipe.c#5 integrate .. //depot/projects/arm/src/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/arm/src/sys/sys/kobj.h#3 integrate .. //depot/projects/arm/src/sys/sys/proc.h#14 integrate .. //depot/projects/arm/src/sys/sys/sched.h#5 integrate .. //depot/projects/arm/src/sys/sys/sx.h#6 integrate .. //depot/projects/arm/src/sys/sys/syscall.h#15 integrate .. //depot/projects/arm/src/sys/sys/syscall.mk#15 integrate .. //depot/projects/arm/src/sys/sys/sysproto.h#16 integrate .. //depot/projects/arm/src/sys/sys/systm.h#13 integrate .. //depot/projects/arm/src/sys/sys/umtx.h#5 integrate .. //depot/projects/arm/src/sys/vm/vm_contig.c#7 integrate .. //depot/projects/arm/src/sys/vm/vm_page.c#19 integrate .. //depot/projects/arm/src/sys/vm/vm_page.h#7 integrate .. //depot/projects/arm/src/sys/vm/vm_pageq.c#10 integrate .. //depot/projects/arm/src/tools/tools/ministat/ministat.c#2 integrate .. //depot/projects/arm/src/usr.bin/less/lesspipe.sh#2 integrate .. //depot/projects/arm/src/usr.bin/tip/NEWS#2 delete .. //depot/projects/arm/src/usr.bin/tip/libacu/biz22.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/biz31.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/courier.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/df.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/dn11.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/hayes.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/t3000.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/v3451.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/v831.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/libacu/ventel.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/acu.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/acutab.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/cmds.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/cmdtab.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/cu.1#1 branch .. //depot/projects/arm/src/usr.bin/tip/tip/cu.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/hunt.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/log.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/partab.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/pathnames.h#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/remote.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/tip.1#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/tip.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/tip.h#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/tipout.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/uucplock.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/value.c#2 integrate .. //depot/projects/arm/src/usr.bin/tip/tip/vars.c#2 integrate .. //depot/projects/arm/src/usr.bin/vgrind/vgrind.1#2 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#6 integrate .. //depot/projects/arm/src/usr.sbin/freebsd-update/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/freebsd-update/freebsd-update.8#1 branch .. //depot/projects/arm/src/usr.sbin/freebsd-update/freebsd-update.sh#1 branch .. //depot/projects/arm/src/usr.sbin/sysinstall/config.c#2 integrate Differences ... ==== //depot/projects/arm/src/MAINTAINERS#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.139 2006/07/11 06:09:54 mjacob Exp $ +$FreeBSD: src/MAINTAINERS,v 1.140 2006/08/31 09:51:33 cperciva Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -118,6 +118,7 @@ linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. +freebsd-update cperciva Pre-commit review requested. sys/netgraph/bluetooth emax Pre-commit review preferred. lib/libbluetooth emax Pre-commit review preferred. lib/libsdp emax Pre-commit review preferred. ==== //depot/projects/arm/src/Makefile.inc1#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.553 2006/08/22 07:51:05 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.554 2006/08/24 17:02:26 imp Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -1032,7 +1032,7 @@ .for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs} ${_lib}__L: .PHONY .if exists(${.CURDIR}/${_lib}) - ${_+_}@${ECHODIR} "===> ${_lib} (depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_lib}; \ ${MAKE} DIRPRFX=${_lib}/ obj; \ ${MAKE} DIRPRFX=${_lib}/ depend; \ @@ -1045,7 +1045,7 @@ # static PAM library, and dynamic PAM library before dynamic PAM # modules. lib/libpam__L: .PHONY - ${_+_}@${ECHODIR} "===> lib/libpam (depend,all,install)"; \ + ${_+_}@${ECHODIR} "===> lib/libpam (obj,depend,all,install)"; \ cd ${.CURDIR}/lib/libpam; \ ${MAKE} DIRPRFX=lib/libpam/ obj; \ ${MAKE} DIRPRFX=lib/libpam/ depend; \ ==== //depot/projects/arm/src/bin/cp/cp.1#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.33 2005/02/25 00:40:46 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.35 2006/08/25 09:58:13 ru Exp $ .\" -.Dd February 23, 2005 +.Dd August 24, 2006 .Dt CP 1 .Os .Sh NAME @@ -45,7 +45,7 @@ .Op Fl H | Fl L | Fl P .Oc .Op Fl f | i | n -.Op Fl pv +.Op Fl lpv .Ar source_file target_file .Nm .Oo @@ -53,7 +53,7 @@ .Op Fl H | Fl L | Fl P .Oc .Op Fl f | i | n -.Op Fl pv +.Op Fl lpv .Ar source_file ... target_directory .Sh DESCRIPTION In the first synopsis form, the @@ -144,6 +144,8 @@ or .Fl n options.) +.It Fl l +Create hard links to regular files in a hierarchy instead of copying. .It Fl n Do not overwrite an existing file. (The ==== //depot/projects/arm/src/bin/cp/cp.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.53 2006/07/04 20:52:36 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.54 2006/08/24 20:45:38 julian Exp $"); /* * Cp copies source files to target files. @@ -83,7 +83,7 @@ PATH_T to = { to.p_path, emptystring, "" }; -int fflag, iflag, nflag, pflag, vflag; +int fflag, iflag, lflag, nflag, pflag, vflag; static int Rflag, rflag; volatile sig_atomic_t info; @@ -102,7 +102,7 @@ char *target; Hflag = Lflag = Pflag = 0; - while ((ch = getopt(argc, argv, "HLPRfinprv")) != -1) + while ((ch = getopt(argc, argv, "HLPRfinprvl")) != -1) switch (ch) { case 'H': Hflag = 1; @@ -140,6 +140,9 @@ case 'v': vflag = 1; break; + case 'l': + lflag = 1; + break; default: usage(); break; @@ -457,6 +460,9 @@ badcp = rval = 1; } break; + case S_IFSOCK: + warnx("%s is a socket (not copied).", + curr->fts_path); case S_IFIFO: if (Rflag) { if (copy_fifo(curr->fts_statp, !dne)) ==== //depot/projects/arm/src/bin/cp/extern.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.2 (Berkeley) 4/1/94 - * $FreeBSD: src/bin/cp/extern.h,v 1.20 2005/09/05 04:36:08 csjp Exp $ + * $FreeBSD: src/bin/cp/extern.h,v 1.21 2006/08/24 20:45:38 julian Exp $ */ typedef struct { @@ -37,7 +37,7 @@ } PATH_T; extern PATH_T to; -extern int fflag, iflag, nflag, pflag, vflag; +extern int fflag, iflag, lflag, nflag, pflag, vflag; extern volatile sig_atomic_t info; __BEGIN_DECLS ==== //depot/projects/arm/src/bin/cp/utils.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.46 2005/09/05 04:36:08 csjp Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.49 2006/08/25 09:58:13 ru Exp $"); #include #include @@ -61,7 +61,7 @@ { static char buf[MAXBSIZE]; struct stat *fs; - int ch, checkch, from_fd, rcount, rval, to_fd; + int ch, checkch, from_fd = 0, rcount, rval, to_fd = 0; ssize_t wcount; size_t wresid; size_t wtotal; @@ -109,15 +109,20 @@ /* remove existing destination file name, * create a new file */ (void)unlink(to.p_path); - to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, - fs->st_mode & ~(S_ISUID | S_ISGID)); - } else - /* overwrite existing destination file name */ - to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0); - } else - to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, - fs->st_mode & ~(S_ISUID | S_ISGID)); - + if (!lflag) + to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, + fs->st_mode & ~(S_ISUID | S_ISGID)); + } else { + if (!lflag) + /* overwrite existing destination file name */ + to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0); + } + } else { + if (!lflag) + to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT, + fs->st_mode & ~(S_ISUID | S_ISGID)); + } + if (to_fd == -1) { warn("%s", to.p_path); (void)close(from_fd); @@ -126,77 +131,85 @@ rval = 0; - /* - * Mmap and write if less than 8M (the limit is so we don't totally - * trash memory on big files. This is really a minor hack, but it - * wins some CPU back. - */ + if (!lflag) { + /* + * Mmap and write if less than 8M (the limit is so we don't totally + * trash memory on big files. This is really a minor hack, but it + * wins some CPU back. + */ #ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED - if (S_ISREG(fs->st_mode) && fs->st_size > 0 && - fs->st_size <= 8 * 1048576) { - if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ, - MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) { - warn("%s", entp->fts_path); - rval = 1; - } else { - wtotal = 0; - for (bufp = p, wresid = fs->st_size; ; - bufp += wcount, wresid -= (size_t)wcount) { - wcount = write(to_fd, bufp, wresid); - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); - - } - if (wcount >= (ssize_t)wresid || wcount <= 0) - break; - } - if (wcount != (ssize_t)wresid) { - warn("%s", to.p_path); - rval = 1; - } - /* Some systems don't unmap on close(2). */ - if (munmap(p, fs->st_size) < 0) { + if (S_ISREG(fs->st_mode) && fs->st_size > 0 && + fs->st_size <= 8 * 1048576) { + if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ, + MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) { warn("%s", entp->fts_path); rval = 1; + } else { + wtotal = 0; + for (bufp = p, wresid = fs->st_size; ; + bufp += wcount, wresid -= (size_t)wcount) { + wcount = write(to_fd, bufp, wresid); + wtotal += wcount; + if (info) { + info = 0; + (void)fprintf(stderr, + "%s -> %s %3d%%\n", + entp->fts_path, to.p_path, + cp_pct(wtotal, fs->st_size)); + + } + if (wcount >= (ssize_t)wresid || wcount <= 0) + break; + } + if (wcount != (ssize_t)wresid) { + warn("%s", to.p_path); + rval = 1; + } + /* Some systems don't unmap on close(2). */ + if (munmap(p, fs->st_size) < 0) { + warn("%s", entp->fts_path); + rval = 1; + } } - } - } else + } else #endif - { - wtotal = 0; - while ((rcount = read(from_fd, buf, MAXBSIZE)) > 0) { - for (bufp = buf, wresid = rcount; ; - bufp += wcount, wresid -= wcount) { - wcount = write(to_fd, bufp, wresid); - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); - + { + wtotal = 0; + while ((rcount = read(from_fd, buf, MAXBSIZE)) > 0) { + for (bufp = buf, wresid = rcount; ; + bufp += wcount, wresid -= wcount) { + wcount = write(to_fd, bufp, wresid); + wtotal += wcount; + if (info) { + info = 0; + (void)fprintf(stderr, + "%s -> %s %3d%%\n", + entp->fts_path, to.p_path, + cp_pct(wtotal, fs->st_size)); + + } + if (wcount >= (ssize_t)wresid || wcount <= 0) + break; } - if (wcount >= (ssize_t)wresid || wcount <= 0) + if (wcount != (ssize_t)wresid) { + warn("%s", to.p_path); + rval = 1; break; + } } - if (wcount != (ssize_t)wresid) { - warn("%s", to.p_path); + if (rcount < 0) { + warn("%s", entp->fts_path); rval = 1; - break; } } - if (rcount < 0) { - warn("%s", entp->fts_path); + } else { + if (link(entp->fts_path, to.p_path)) { + warn("%s", to.p_path); rval = 1; } } - + (void)close(from_fd); + /* * Don't remove the target even after an error. The target might * not be a regular file, or its attributes might be important, @@ -204,14 +217,16 @@ * to remove it if we created it and its length is 0. */ - if (pflag && setfile(fs, to_fd)) - rval = 1; - if (pflag && preserve_fd_acls(from_fd, to_fd) != 0) - rval = 1; - (void)close(from_fd); - if (close(to_fd)) { - warn("%s", to.p_path); - rval = 1; + if (!lflag) { + if (pflag && setfile(fs, to_fd)) + rval = 1; + if (pflag && preserve_fd_acls(from_fd, to_fd) != 0) + rval = 1; + (void)close(from_fd); + if (close(to_fd)) { + warn("%s", to.p_path); + rval = 1; + } } return (rval); } @@ -411,8 +426,8 @@ { (void)fprintf(stderr, "%s\n%s\n", -"usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file target_file", -" cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file ... " +"usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] source_file target_file", +" cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] source_file ... " "target_directory"); exit(EX_USAGE); } ==== //depot/projects/arm/src/contrib/gcc/ChangeLog#2 (text+ko) ==== @@ -1,3 +1,822 @@ +2006-04-25 Nick Clifton + + * config/m32r/m32r.c (gen_compare): Fix reg/smallconst equal code, + the patch for which was accidentally omitted from the previous + commit. + +2006-04-04 Kazuhiro Inaoka + + PR target/26775 + PR target/26776 + * config/m32r/m32r.c (m32r_output_function_epilogue): Case for + a large stack frame at epilogue. Use fp to recover a stack + pointer for alloca function at epilogue. + + PR target/36276 + * config/m32r/m32r.c (gen_compare): Removed a rule addsi3 codes + to avoid a miss optimizing at simplify_relational_operation(). + * config/m32r/m32r.md (seq): Ditto. Changed reg_or_eq_int16_operand + to reg_or_uint16_operand because seq_insn has not used addsi3 already. + (seq_insn): Ditto. Removed operand check mode "P". Changed + reg_or_eq_int16_operand to reg_or_uint16_operand. + +2006-03-05 Release Manager + + * GCC 3.4.6 released. + +2006-03-01 Gabriel Dos Reis + + Backport + 2005-11-03 James E Wilson + + PR preprocessor/24202 + * cppfiles.c (_cpp_pop_file_buffer): Set buffer_valid to false. + +2006-03-01 Alan Modra + + PR target/21616 + Revert most of 2004-03-10 changes, apply mainline 2005-01-07. + * config/rs6000/rs6000.c (invalid_gpr_mem): Delete. + (base_reg_operand): Delete. + (legitimate_offset_address_p): Revert 2004-03-10 changes. + (secondary_reload_class): Likewise. + (rs6000_legitimize_reload_address): Convert non-word aligned + offset address using ld/std into indirect address. + * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Define. + (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Delete. + (PREDICATE_CODES): Delete invalid_gpr_mem and base_reg_operand. + * config/rs6000/rs6000-protos.h (secondary_reload_class): Update. + * config/rs6000/rs6000.md (movdf_hardfloat64): Remove m->b + alternative and split. + (movdi_internal64): Likewise. + (reload_outdf, reload_indf, reload_outdi, reload_indi): Delete. + +2006-02-28 Gabriel Dos Reis + + Backport + 2004-04-28 Serge Belyshev <1319@bot.ru> + + PR 14944 + * coverage.c (read_counts_file): Fix usage of warning () call. + * pretty-print.c (pp_base_format_text): Fix typo in the comment. + +2006-02-18 Olivier Hainque + + PR ada/13408 + * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. + +2006-02-13 Kaveh R. Ghazi + + Backport: + 2006-02-01 Steve Ellcey + + PR middle-end/24901 + * fold-const.c (fold_checksum_tree): Change type of buf. + +2006-02-11 Kaveh R. Ghazi + + * doc/contrib.texi: Update my entry. + +2006-02-09 Eric Botcazou + + * config/sparc/sparc.c (tls_call_delay): Fix oversight. + +2006-02-07 John David Anglin + + PR target/26109 + * pa.c (attr_length_indirect_call): Don't return length 8 for distances + >= 240000 when generating code for SOM runtime. + (output_indirect_call): Don't use "b,l" instruction for indirect calls + to $$dyncall when generating code for SOM runtime.. + +2006-02-02 Nick Clifton + + PR 24376 + * sched-rgn.c (add_branch_dependences): For cc0 targets extend + the dependencies inside a block back to the very first cc0 setter + in the block. + +2006-01-21 Joseph S. Myers + + * gcc.c (process_command), gcov.c (print_version), gcov-dump.c + (print_version), mips-tdump.c (main), mips-tfile.c (main): Update + copyright notice dates. + +2006-01-12 Kaz Kojima + + PR target/25613 + * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version. + +2005-12-30 Roger Sayle + + PR target/25213 + Backport from mainline + 2005-09-06 Jakub Jelinek + + PR rtl-optimization/23098 + * cse.c (fold_rtx_mem): Call delegitimize_address target hook. + * simplify-rtx.c (constant_pool_reference_p): New function. + * rtl.h (constant_pool_reference_p): New prototype. + * config/i386/i386.md (pushf split, mov[sdx]f split): Use + constant_pool_reference_p in condition and + avoid_constant_pool_reference in preparation statements. + +2005-12-30 John David Anglin + + PR fortran/25586 + * pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point + store patterns. + +2005-12-29 Alan Modra + + PR target/25572 + * config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live. + +2005-12-17 Steven Bosscher + + PR rtl-optimization/23837 + * optabs.c (expand_binop): For a multi-word rotate, never emit + a REG_NO_CONFLICT block. + +2005-12-16 John David Anglin + + Backport from mainline: + 2004-11-01 Mike Stump + + * inclhack.def (stdio_va_list): Break out clients from here... + (stdio_va_list_clients): ...to here. Also, don't fix if stdarg.h is + included or ifdef va_start. + * fixincl.x: Regenerate. + +2005-12-13 Alan Modra + + * config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define. + +2005-12-10 John David Anglin + + PR target/25258 + * pa.c (som_text_section_asm_op): Use .NSUBSPA directive when changing + to the text subspace to output debugging information. + +2005-12-06 Alan Modra + + PR other/13873 + * longlong.h: Merge PPC tests from upstream. + +2005-12-03 Kaveh R. Ghazi + + PR middle-end/25022 + * builtins.c (expand_builtin_fputs, expand_builtin_printf, + expand_builtin_fprintf): Lookup the explicit replacement functions + for any unlocked stdio builtin transformations. + + * builtins.c (expand_builtin_fputs): Defer check for missing + replacement functions. + +2005-12-02 Volker Reichelt + + PR c++/24103 + Backport: + 2002-08-22 Diego Novillo + + * tree.c (simple_cst_equal): Call simple_cst_list_equal to compare + CONSTRUCTOR_ELTS pointers. + +2005-12-01 Gabriel Dos Reis + + * version.c: Bump version number. + * doc/include/gcc-common.texi: Likewise. + +2005-11-30 Release Manager + + * GCC 3.4.5 released. + +2005-11-23 Alan Modra + + PR middle-end/24950 + * expmed.c (store_bit_field): Don't attempt to insv a field + larger than the reg. + + Merge from trunk + 2005-11-14 Dale Johannesen + * expmed.c (store_bit_field): Add offset unconditionally for + memory targets. + (extract_bit_field): Don't force extzv or extv operand into + a register if field is too big. + 2004-12-01 Richard Henderson + * expmed.c (store_bit_field): Use simplify_gen_subreg instead + of gen_rtx_SUBREG directly. + +2005-11-16 Steve Ellcey + + PR target/24718 + * mklibgcc.in: Create dummy object for libgcc_eh.a + * config/ia64/hpux.h (LIBGCC_SPEC): Remove. + +2005-11-13 Andreas Jaeger + + * fixinc/check.tpl: Handle CVS additionally. + +2005-11-10 Uros Bizjak + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 1 04:31:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBF5016A4DF; Fri, 1 Sep 2006 04:31:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9896616A4DD for ; Fri, 1 Sep 2006 04:31:34 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 431FF43D46 for ; Fri, 1 Sep 2006 04:31:34 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k814VYb6038818 for ; Fri, 1 Sep 2006 04:31:34 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k814VXgM038815 for perforce@freebsd.org; Fri, 1 Sep 2006 04:31:33 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 1 Sep 2006 04:31:33 GMT Message-Id: <200609010431.k814VXgM038815@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 04:31:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=105436 Change 105436 by mjacob@newisp on 2006/09/01 04:30:56 Sync with head. Affected files ... .. //depot/projects/newisp/arm/arm/fusu.S#3 integrate .. //depot/projects/newisp/arm/include/asm.h#2 integrate .. //depot/projects/newisp/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/newisp/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/newisp/dev/em/if_em.c#2 integrate .. //depot/projects/newisp/dev/em/if_em.h#2 integrate .. //depot/projects/newisp/dev/isp/isp.c#7 integrate .. //depot/projects/newisp/dev/mii/brgphy.c#2 integrate .. //depot/projects/newisp/dev/mii/miidevs#2 integrate .. //depot/projects/newisp/kern/kern_umtx.c#3 integrate .. //depot/projects/newisp/netinet/ip_fw2.c#2 integrate .. //depot/projects/newisp/pci/agp_ati.c#2 integrate Differences ... ==== //depot/projects/newisp/arm/arm/fusu.S#3 (text+ko) ==== @@ -37,7 +37,7 @@ #include #include #include "assym.s" -__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.9 2006/08/29 23:53:34 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.10 2006/08/30 11:44:37 cognet Exp $"); #ifdef MULTIPROCESSOR .Lcpu_info: @@ -52,7 +52,7 @@ * Fetch an int from the user's address space. */ -ENTRY(casuword32) +ENTRY_NP(casuword32) ENTRY(casuptr) #ifdef MULTIPROCESSOR /* XXX Probably not appropriate for non-Hydra SMPs */ @@ -99,7 +99,7 @@ * Fetch an int from the user's address space. */ -ENTRY(fuword32) +ENTRY_NP(fuword32) ENTRY(fuword) #ifdef MULTIPROCESSOR /* XXX Probably not appropriate for non-Hydra SMPs */ @@ -301,7 +301,7 @@ * Store an int in the user's address space. */ -ENTRY(suword32) +ENTRY_NP(suword32) ENTRY(suword) #ifdef MULTIPROCESSOR /* XXX Probably not appropriate for non-Hydra SMPs */ ==== //depot/projects/newisp/arm/include/asm.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * * from: @(#)asm.h 5.5 (Berkeley) 5/7/91 * - * $FreeBSD: src/sys/arm/include/asm.h,v 1.4 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/asm.h,v 1.5 2006/08/30 11:45:07 cognet Exp $ */ #ifndef _MACHINE_ASM_H_ @@ -55,15 +55,6 @@ #define _JB_MAGIC__SETJMP 0x4278f500 #define _JB_MAGIC_SETJMP 0x4278f501 #endif -#if 0 -#ifdef __STDC__ -# define __CONCAT(x,y) x ## y -# define __STRING(x) #x -#else -# define __CONCAT(x,y) x/**/y -# define __STRING(x) "x" -#endif -#endif #define I32_bit (1 << 7) /* IRQ disable */ #define F32_bit (1 << 6) /* FIQ disable */ ==== //depot/projects/newisp/dev/arcmsr/arcmsr.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ ** 1.00.00.00 3/31/2004 Erich Chen First release ** 1.20.00.02 11/29/2004 Erich Chen bug fix with arcmsr_bus_reset when PHY error ****************************************************************************************** -** $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.10 2006/05/16 14:36:22 phk Exp $ +** $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.11 2006/08/31 08:45:44 rse Exp $ */ #define ARCMSR_DEBUG0 0 /* @@ -2026,7 +2026,7 @@ /* ********************************************************************** ** -** start background rebulid +** start background rebuild ** ********************************************************************** */ @@ -2043,7 +2043,7 @@ /* ********************************************************************** ** -** start background rebulid +** start background rebuild ** ********************************************************************** */ @@ -2065,7 +2065,7 @@ arcmsr_start_adapter_bgrb(pACB); if(arcmsr_wait_msgint_ready(pACB)!=TRUE) { - printf("arcmsr_HwInitialize: wait 'start adapter background rebulid' timeout................. \n"); + printf("arcmsr_HwInitialize: wait 'start adapter background rebuild' timeout................. \n"); } /* clear Qbuffer if door bell ringed */ outbound_doorbell=CHIP_REG_READ32(&pACB->pmu->outbound_doorbell); @@ -2536,7 +2536,7 @@ arcmsr_stop_adapter_bgrb(pACB); if(arcmsr_wait_msgint_ready(pACB)!=TRUE) { - printf("arcmsr_pcidev_disattach: wait 'stop adapter rebulid' timeout.... \n"); + printf("arcmsr_pcidev_disattach: wait 'stop adapter rebuild' timeout.... \n"); } arcmsr_flush_adapter_cache(pACB); if(arcmsr_wait_msgint_ready(pACB)!=TRUE) ==== //depot/projects/newisp/dev/ata/ata-chipset.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.171 2006/08/18 09:56:12 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.172 2006/08/30 11:50:22 sos Exp $"); #include "opt_ata.h" #include @@ -2863,7 +2863,11 @@ ATA_OUTL(ctlr->r_res2, offset, 0x00ff00ff); /* enable device and PHY state change interrupts */ - ATA_OUTL(ctlr->r_res2, offset + 4, 0x00dd00dd); + ATA_OUTL(ctlr->r_res2, offset + 4, 0x000d000d); + + /* disable NCQ support */ + ATA_OUTL(ctlr->r_res2, 0x0400, + ATA_INL(ctlr->r_res2, 0x0400) & 0xfffffff9); } else { /* clear interrupt status */ @@ -2924,7 +2928,7 @@ /* get and clear interrupt status */ if (ctlr->chip->cfg2 & NVQ) { status = ATA_INL(ctlr->r_res2, offset); - ATA_OUTL(ctlr->r_res2, offset, (0x0f << shift)); + ATA_OUTL(ctlr->r_res2, offset, (0x0f << shift) | 0x00f000f0); } else { status = ATA_INB(ctlr->r_res2, offset); @@ -2947,6 +2951,7 @@ /* check for and handle disconnect events */ if ((status & (0x08 << shift)) && + !((status & (0x04 << shift) && ATA_IDX_INL(ch, ATA_SSTATUS))) && (tp = (struct ata_connect_task *) malloc(sizeof(struct ata_connect_task), M_ATA, M_NOWAIT | M_ZERO))) { ==== //depot/projects/newisp/dev/em/if_em.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.133 2006/08/22 02:32:48 yongari Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.134 2006/08/31 18:49:41 jhb Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -2118,7 +2118,7 @@ { device_t dev = adapter->dev; - if (adapter->res_interrupt != NULL) { + if (adapter->int_handler_tag != NULL) { bus_teardown_intr(dev, adapter->res_interrupt, adapter->int_handler_tag); adapter->int_handler_tag = NULL; } ==== //depot/projects/newisp/dev/em/if_em.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.48 2006/08/14 01:50:54 yongari Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.49 2006/08/31 18:50:16 jhb Exp $*/ #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -232,9 +232,10 @@ OFFLOAD_UDP_IP } XSUM_CONTEXT_T; -struct adapter adapter; /* XXX: ugly forward declaration */ +struct adapter; + struct em_int_delay_info { - struct adapter *adapter; /* XXX: ugly pointer */ + struct adapter *adapter; /* Back-pointer to the adapter struct */ int offset; /* Register offset to read/write */ int value; /* Current value in usecs */ }; ==== //depot/projects/newisp/dev/isp/isp.c#7 (text+ko) ==== ==== //depot/projects/newisp/dev/mii/brgphy.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.45 2006/08/23 15:37:07 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.46 2006/08/31 11:15:18 yongari Exp $"); /* * Driver for the Broadcom BCR5400 1000baseTX PHY. Speed is always @@ -102,6 +102,7 @@ MII_PHY_DESC(xxBROADCOM, BCM5400), MII_PHY_DESC(xxBROADCOM, BCM5401), MII_PHY_DESC(xxBROADCOM, BCM5411), + MII_PHY_DESC(xxBROADCOM, BCM5752), MII_PHY_DESC(xxBROADCOM, BCM5701), MII_PHY_DESC(xxBROADCOM, BCM5703), MII_PHY_DESC(xxBROADCOM, BCM5704), @@ -607,6 +608,7 @@ bcm5704_load_dspcode(sc); break; case MII_MODEL_xxBROADCOM_BCM5750: + case MII_MODEL_xxBROADCOM_BCM5752: case MII_MODEL_xxBROADCOM_BCM5714: case MII_MODEL_xxBROADCOM_BCM5780: case MII_MODEL_xxBROADCOM_BCM5706C: ==== //depot/projects/newisp/dev/mii/miidevs#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/mii/miidevs,v 1.33 2006/07/25 00:14:00 yongari Exp $ +$FreeBSD: src/sys/dev/mii/miidevs,v 1.34 2006/08/31 11:13:51 yongari Exp $ /*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/ /*- @@ -118,6 +118,7 @@ model xxBROADCOM BCM5400 0x0004 Broadcom 1000baseTX PHY model xxBROADCOM BCM5401 0x0005 BCM5401 10/100/1000baseTX PHY model xxBROADCOM BCM5411 0x0007 BCM5411 10/100/1000baseTX PHY +model xxBROADCOM BCM5752 0x0010 BCM5752 10/100/1000baseTX PHY model xxBROADCOM BCM5701 0x0011 BCM5701 10/100/1000baseTX PHY model xxBROADCOM BCM5703 0x0016 BCM5703 10/100/1000baseTX PHY model xxBROADCOM BCM5704 0x0019 BCM5704 10/100/1000baseTX PHY ==== //depot/projects/newisp/kern/kern_umtx.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_umtx.c,v 1.41 2006/08/28 07:09:27 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_umtx.c,v 1.42 2006/08/30 23:59:45 davidxu Exp $"); #include #include @@ -126,7 +126,7 @@ /* Thread contending with us */ TAILQ_HEAD(,umtx_pi) uq_pi_contested; - /* Inherited prioroty from PP mutex */ + /* Inherited priority from PP mutex */ u_char uq_inherited_pri; }; @@ -1728,11 +1728,6 @@ if (error != 0) break; - /* - * We set the contested bit, sleep. Otherwise the lock changed - * and we need to retry or we lost a race to the thread - * unlocking the umtx. - */ umtxq_lock(&uq->uq_key); umtxq_insert(uq); umtxq_unbusy(&uq->uq_key); @@ -1986,20 +1981,21 @@ int try) { uint32_t flags; - int ret; flags = fuword32(&m->m_flags); if (flags == -1) return (EFAULT); - if ((flags & UMUTEX_PRIO_INHERIT) != 0) - ret = do_lock_pi(td, m, flags, ts, try); - else if ((flags & UMUTEX_PRIO_PROTECT) != 0) - ret = do_lock_pp(td, m, flags, ts, try); - else - ret = do_lock_normal(td, m, flags, ts, try); + switch(flags & (UMUTEX_PRIO_INHERIT | UMUTEX_PRIO_PROTECT)) { + case 0: + return (do_lock_normal(td, m, flags, ts, try)); + case UMUTEX_PRIO_INHERIT: + return (do_lock_pi(td, m, flags, ts, try)); + case UMUTEX_PRIO_PROTECT: + return (do_lock_pp(td, m, flags, ts, try)); + } - return (ret); + return (EINVAL); } /* @@ -2067,12 +2063,6 @@ case UMTX_OP_MUTEX_UNLOCK: error = do_unlock_umutex(td, uap->obj); break; - case UMTX_OP_MUTEX_TRYLOCK: - error = do_lock_umutex(td, uap->obj, NULL, 1); - break; - case UMTX_OP_SET_CEILING: - error = do_set_ceiling(td, uap->obj, uap->val, uap->uaddr1); - break; case UMTX_OP_LOCK: /* Allow a null timespec (wait forever). */ if (uap->uaddr2 == NULL) @@ -2113,6 +2103,12 @@ case UMTX_OP_WAKE: error = kern_umtx_wake(td, uap->obj, uap->val); break; + case UMTX_OP_MUTEX_TRYLOCK: + error = do_lock_umutex(td, uap->obj, NULL, 1); + break; + case UMTX_OP_SET_CEILING: + error = do_set_ceiling(td, uap->obj, uap->val, uap->uaddr1); + break; default: error = EINVAL; break; ==== //depot/projects/newisp/netinet/ip_fw2.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.144 2006/08/18 22:36:04 julian Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.145 2006/08/31 16:56:45 jhay Exp $ */ #define DEB(x) @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -2263,6 +2264,11 @@ PULLUP_TO(hlen, ulp, struct ip6_ext); break; + case IPPROTO_PIM: + /* XXX PIM header check? */ + PULLUP_TO(hlen, ulp, struct pim); + break; + case IPPROTO_IPV6: /* RFC 2893 */ PULLUP_TO(hlen, ulp, struct ip6_hdr); break; ==== //depot/projects/newisp/pci/agp_ati.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp_ati.c,v 1.2 2005/12/20 21:12:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp_ati.c,v 1.3 2006/09/01 02:22:17 anholt Exp $"); #include "opt_bus.h" @@ -89,6 +89,8 @@ return ("ATI RS100 AGP bridge"); case 0xcab21002: return ("ATI RS200 AGP bridge"); + case 0xcbb21002: + return ("ATI RS200M AGP bridge"); case 0xcab31002: return ("ATI RS250 AGP bridge"); case 0x58301002: @@ -181,7 +183,8 @@ switch (pci_get_devid(dev)) { case 0xcab01002: /* ATI RS100 AGP bridge */ - case 0xcab21002: /*ATI RS200 AGP bridge */ + case 0xcab21002: /* ATI RS200 AGP bridge */ + case 0xcbb21002: /* ATI RS200M AGP bridge */ case 0xcab31002: /* ATI RS250 AGP bridge */ sc->is_rs300 = 0; apsize_reg = ATI_RS100_APSIZE; From owner-p4-projects@FreeBSD.ORG Fri Sep 1 05:09:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A01616A54E; Fri, 1 Sep 2006 05:08:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BD1616B4F1 for ; Fri, 1 Sep 2006 05:08:23 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0074D43D49 for ; Fri, 1 Sep 2006 05:08:22 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8158MtJ049967 for ; Fri, 1 Sep 2006 05:08:22 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8158MkZ049964 for perforce@freebsd.org; Fri, 1 Sep 2006 05:08:22 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 1 Sep 2006 05:08:22 GMT Message-Id: <200609010508.k8158MkZ049964@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105439 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 05:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=105439 Change 105439 by mjacob@newisp on 2006/09/01 05:08:20 sync with head. Affected files ... .. //depot/projects/newisp/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/newisp/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/newisp/dev/isp/isp_pci.c#7 integrate .. //depot/projects/newisp/dev/isp/isp_sbus.c#3 integrate Differences ... ==== //depot/projects/newisp/dev/isp/isp_freebsd.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * Platform (FreeBSD) dependent common attachment code for Qlogic adapters. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.121 2006/08/04 20:13:27 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.122 2006/09/01 04:57:14 mjacob Exp $"); #include #include #include @@ -52,6 +52,9 @@ static void isp_kthread(void *); static void isp_action(struct cam_sim *, union ccb *); +#if __FreeBSD_version < 700000 +ispfwfunc *isp_get_firmware_p = NULL; +#endif #if __FreeBSD_version < 500000 #define ISP_CDEV_MAJOR 248 ==== //depot/projects/newisp/dev/isp/isp_freebsd.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.91 2006/07/09 17:50:17 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.92 2006/09/01 05:03:42 mjacob Exp $ */ /*- * Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions * @@ -97,6 +97,10 @@ #endif #endif +#if __FreeBSD_version < 700000 +typedef void ispfwfunc(int, int, int, uint16_t **); +#endif + #ifdef ISP_TARGET_MODE #define ISP_TARGET_FUNCTIONS 1 #define ATPDPSIZE 256 ==== //depot/projects/newisp/dev/isp/isp_pci.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.120 2006/08/21 00:46:10 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.121 2006/09/01 05:03:42 mjacob Exp $"); #include #include @@ -356,7 +356,6 @@ MODULE_DEPEND(isp, ispfw, 1, 1, 1); MODULE_DEPEND(isp, firmware, 1, 1, 1); #else -typedef void ispfwfunc(int, int, int, uint32_t **); extern ispfwfunc *isp_get_firmware_p; #endif ==== //depot/projects/newisp/dev/isp/isp_sbus.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.21 2006/07/16 20:11:49 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.22 2006/09/01 05:03:42 mjacob Exp $"); #include #include @@ -114,7 +114,6 @@ #if __FreeBSD_version >= 700000 MODULE_DEPEND(isp, firmware, 1, 1, 1); #else -typedef void ispfwfunc(int, int, int, uint16_t **); extern ispfwfunc *isp_get_firmware_p; #endif From owner-p4-projects@FreeBSD.ORG Fri Sep 1 11:14:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4D9F16A4E7; Fri, 1 Sep 2006 11:14:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7FAD816A4E1 for ; Fri, 1 Sep 2006 11:14:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8917043D49 for ; Fri, 1 Sep 2006 11:14:33 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81BEXQM084821 for ; Fri, 1 Sep 2006 11:14:33 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81BEXtP084807 for perforce@freebsd.org; Fri, 1 Sep 2006 11:14:33 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 1 Sep 2006 11:14:33 GMT Message-Id: <200609011114.k81BEXtP084807@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 105452 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 11:14:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=105452 Change 105452 by rwatson@rwatson_zoo on 2006/09/01 11:13:31 Integrate trustedbsd priv branch, which will contain work on a modified kernel privilege API. Affected files ... .. //depot/projects/trustedbsd/priv/sys/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/support.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/.cvsignore#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/DEFAULTS#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/MAC#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/conf/NOTES#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/_bus.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/_limits.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/_types.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/asm.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/atomic.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/bus.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/clock.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/cpu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/elf.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/endian.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/exec.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/float.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/fpu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/frame.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/iodev.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/kdb.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/limits.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/md_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/memdev.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/metadata.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/minidump.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/mptable.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/mutex.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/param.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pcb.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pmap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/ppireg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/proc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/profile.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/psl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/reloc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/resource.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/runq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/segments.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/signal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/smp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/timerreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/trap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/tss.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/varargs.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/clock.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/icu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/isa.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/isa.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/syscalls.master#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/trustedbsd/priv/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/blockio.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/copystr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/disassem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/exception.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/fiq.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/fusu.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/genassym.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/inckern.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/intr.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/locore.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/mem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/pmap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/setstack.s#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/support.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/swtch.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/undefined.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/vectors.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_piovar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spi.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spireg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_st.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_streg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_twi.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_twiio.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_twireg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/files.at91#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/files.kb920x#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/if_ate.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/if_atereg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/kb920x_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/ohci_atmelarm.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.at91#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.kb920x#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/.cvsignore#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/EP80219#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/IQ31244#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/KB920X#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/SIMICS#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/conf/SKYEYE#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/_bus.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/_limits.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/_stdint.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/_types.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/armreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/asm.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/asmacros.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/atomic.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/blockio.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/bus.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/clock.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/cpu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/disassem.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/elf.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/endian.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/exec.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/fiq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/float.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/fp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/frame.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/gdb_machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/ieee.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/intr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/katelib.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/kdb.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/limits.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/machdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/md_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/memdev.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/metadata.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/mutex.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/param.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/pcb.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/pcpu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/pmap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/pmc_mdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/proc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/profile.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/psl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/pte.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/ptrace.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/reloc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/resource.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/runq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/setjmp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/sigframe.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/signal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/smp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/stdarg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/swi.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/sysarch.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/trap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/ucontext.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/undefined.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/utrap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/include/vmparam.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/README#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0/arm_init.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/arm_init.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/bcache.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/boot.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/commands.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/console.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/dev_net.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/dev_net.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/devopen.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/help.common#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/interp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/isapnp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/isapnp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf_obj.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/loader.8#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/ls.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/misc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/module.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/newvers.sh#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/panic.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/pnp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/pnpdata#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/reloc_elf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/reloc_elf32.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/reloc_elf64.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/common/ufsread.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/README#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/bootinfo.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/copy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/devicename.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/efiboot.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/efifpswa.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/elf_freebsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/module.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/dict.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/float.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/loader.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/math64.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/math64.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/search.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/stack.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/tools.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/unix.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/vm.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ficl/words.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/frames.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/loader.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/loader.conf#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/loader.rc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/screen.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/forth/support.4th#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/loader/version#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/conf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/start.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/efi/version#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/bootinfo.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/copy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/devicename.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/elf_freebsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ia64/ski/version#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/ldscript.powerpc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/start.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/powerpc/loader/version#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/trustedbsd/priv/sys/bsm/audit.h#1 branch .. //depot/projects/trustedbsd/priv/sys/bsm/audit_internal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/trustedbsd/priv/sys/bsm/audit_record.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_ccb.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_debug.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_periph.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_periph.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_queue.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_queue.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_sim.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_sim.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_xpt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_xpt.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/00READ#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/README#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/TODO#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/cnode.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_fbsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_io.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_kernel.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_namecache.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_namecache.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_opstats.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_pioctl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_psdev.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_psdev.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_subr.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_subr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_venus.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_venus.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_vfsops.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_vfsops.h#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_vnops.c#1 branch .. //depot/projects/trustedbsd/priv/sys/coda/coda_vnops.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ia32/ia32_reg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ia32/ia32_util.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linsysfs/linsysfs.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_ipc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_ipc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_mib.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_mib.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_signal.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_signal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_socket.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_socket.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_stats.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_util.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_util.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/kern_windrv.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/usbd_var.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/pecoff/imgact_pecoff.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/pecoff/imgact_pecoff.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/imgact_svr4.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_acl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_dirent.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_errno.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_exec.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_filio.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_filio.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fuser.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_hrt.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ioctl.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ioctl.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ipc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ipc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_mman.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_proto.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_resource.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_resource.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_siginfo.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_signal.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_signal.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_socket.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_socket.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sockio.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sockio.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sockmod.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_statvfs.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stream.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stropts.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_syscall.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_syscallnames.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sysconfig.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sysent.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_systeminfo.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_sysvec.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_termios.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_termios.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_time.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_timod.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ttold.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ttold.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_types.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ucontext.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ulimit.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_ustat.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_util.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_utsname.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_wait.h#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/syscalls.conf#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/svr4/syscalls.master#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.amd64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.arm#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.i386#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.pc98#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.powerpc#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/Makefile.sparc64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/NOTES#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/defines#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.amd64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.arm#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.i386#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.pc98#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.powerpc#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files.sparc64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/kern.mk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/kern.post.mk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/kern.pre.mk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/kmod.mk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/kmod_syms.awk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.amd64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.arm#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.i386#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.powerpc#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/ldscript.sparc64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/makeLINT.mk#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/makeLINT.sed#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/newvers.sh#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.amd64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.arm#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.i386#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.ia64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.pc98#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.powerpc#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/options.sparc64#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/systags.sh#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_classq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.h#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#1 branch .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 1 12:16:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 04B1D16A4E1; Fri, 1 Sep 2006 12:16:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA2F716A4DF for ; Fri, 1 Sep 2006 12:16:53 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 56C4643D45 for ; Fri, 1 Sep 2006 12:16:53 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81CGraY044953 for ; Fri, 1 Sep 2006 12:16:53 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81CGrdr044950 for perforce@freebsd.org; Fri, 1 Sep 2006 12:16:53 GMT (envelope-from piso@freebsd.org) Date: Fri, 1 Sep 2006 12:16:53 GMT Message-Id: <200609011216.k81CGrdr044950@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105456 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 12:16:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=105456 Change 105456 by piso@piso_newluxor on 2006/09/01 12:16:12 Cosmetic. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/libalias.3#5 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/libalias.3#5 (text+ko) ==== @@ -1015,7 +1015,7 @@ In an alternate operating mode, the first choice of an aliasing port is also random and unrelated to the local port number. .Sh MODULAR ARCHITECTURE (AND Xr ipfw 4 Sh SUPPORT) -One of the latest improvements to +One of the latest improvements to .Nm libalias was to make its support for new protocols independent from the rest of the library, giving it the ability to load/unload at run-time support for new protocols. @@ -1025,7 +1025,7 @@ different ways, depending on whether they are compiled to work inside a kernel or as part of the userland library. .Ss LIBALIAS MODULES IN KERNEL LAND -When compiled to be parts of a kernel, +When compiled to be parts of a kernel, .Nm libalias modules are plain simple KLDs: .Pp @@ -1060,7 +1060,7 @@ many different address spaces, etc etc), we had to change a bit how to handle modules loading/tracking/unloading in userland. .Pp -While compiled for a userland +While compiled for a userland .Nm libalias all the modules are plain libraries: .Pp @@ -1119,7 +1119,7 @@ patched to handle SIGHUP signal and call LibAliasRefreshModules() whenever it receives that signal (see below for details). .Pp -If you have correctly installed +If you have correctly installed .Nm libalias in /etc you should find a file called libalias.conf with the following contents (or @@ -1142,16 +1142,16 @@ .Pa /usr/lib/libalias_smedia.so .El .Pp -this file contains the paths to the modules that -.Nm libalias +this file contains the paths to the modules that +.Nm libalias will load. To load/unload a new module just add its path to libalias.conf and send a SIGHUP signal to the application that needs the new module: .Pp .Dl "kill -HUP .Ss MODULAR ARCHITECURE: HOW IT WORKS -The modular architecture of -.Nm libalias +The modular architecture of +.Nm libalias work (almost) the same when it's running inside kernel or in userland. From alias_mod.c: .Bd -literal @@ -1166,17 +1166,17 @@ struct proto_handler { /* handler priority */ - int pri; + int pri; /* flow direction */ - int16_t dir; - /* working protocol */ - int16_t proto; + int16_t dir; + /* working protocol */ + int16_t proto; /* fingerprint * function */ - int (*fingerprint)(struct libalias *la, + int (*fingerprint)(struct libalias *la, struct ip *pip, struct alias_data *ah); /* aliasing * function */ - int (*protohandler)(struct libalias *la, - struct ip *pip, struct alias_data *ah); + int (*protohandler)(struct libalias *la, + struct ip *pip, struct alias_data *ah); struct proto_handler *next; }; .Ed @@ -1188,7 +1188,7 @@ .Pp dir is the direction of packets: ingoing or outgoing. .Pp -proto says at which protocol this packet belongs: IP, TCP or UDP +proto says at which protocol this packet belongs: IP, TCP or UDP .Pp fingerprint points to the fingerprint function while protohandler points to the protocol handler function. @@ -1198,11 +1198,11 @@ module can handle. .Pp The protocol handler function is the function that actually manipulates -the packet to make -.Nm libalias +the packet to make +.Nm libalias correctly nat it. .Pp -When a packet enters +When a packet enters .Nm libalias , if it meets a module hook, handler_chain is searched to see if there's an handler that match @@ -1214,13 +1214,13 @@ of this handler and return, else it skip to the fingerprint function of the next eligible module, till the end of handler_chain .Pp -Inside -.Nm libalias +Inside +.Nm libalias the module hook looks like this: .Bd -literal struct alias_data ad = { - lnk, - &original_address, + lnk, + &original_address, &alias_address, &alias_port, &ud->uh_sport, /* original source port */ @@ -1230,10 +1230,8 @@ ... - /* walk out chain */ + /* walk out chain */ err = find_handler(IN, UDP, la, pip, &ad); - if (err == EHDNOF) - ; .Ed all data useful to a module are gathered together in a alias_data structure, then find_handler is called. @@ -1246,25 +1244,25 @@ .Pp la: pointer to this instance of libalias .Pp -pip: pointer to a struct ip +pip: pointer to a struct ip .Pp ad: pointer to struct alias_data (see above) .Pp in this case, find_handler will search only for modules registered for supporting INcoming UDP packets. .Pp -As i said earlier, +As i said earlier, .Nm libalias in userland is a bit different, cause we have to take care of module handling too (avoiding duplicate load of module, avoiding module with same name, etc etc) so dll_chain was introduced. .Pp -dll_chain contains a list of all userland +dll_chain contains a list of all userland .Nm libalias modules loaded. .Pp -When an application calls LibAliasRefreshModules(), +When an application calls LibAliasRefreshModules(), .Nm libalias first unload all the loaded modules, then reload all the modules listed in /etc/libalias.conf: for every module loaded, a new entry to dll_chain @@ -1272,28 +1270,28 @@ .Pp dll_chain is composed of struct dll entries: .Bd -literal -struct dll { +struct dll { /* name of module */ - char name[DLL_LEN]; - /* + char name[DLL_LEN]; + /* * ptr to shared obj obtained through * dlopen() - use this ptr to get access - * to any symbols from a loaded module - * via dlsym() + * to any symbols from a loaded module + * via dlsym() */ - void *handle; + void *handle; struct dll *next; -}; +}; .Ed name is the name of the module -.Pp +.Pp handle is a pointer to the module obtained through dlopen() .Pp Whenever a module is loaded in userland, an entry is added to dll_chain, than every protocol handler present in that module is resolved and registered in handler_chain. .Ss HOW TO WRITE A MODULE FOR LIBALIAS -There's a module (called alias_dummy.[ch]) in +There's a module (called alias_dummy.[ch]) in .Nm libalias that can be used as a skeleton for future work, here we analyse some parts of that module. @@ -1322,7 +1320,7 @@ { int error; - switch (type) { + switch (type) { case MOD_LOAD: error = 0; attach_handlers(handlers); @@ -1346,7 +1344,7 @@ #ifdef _KERNEL static #endif -int +int fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah) { ... @@ -1355,8 +1353,8 @@ #ifdef _KERNEL static #endif -int -protohandler(struct libalias *la, struct ip *pip, +int +protohandler(struct libalias *la, struct ip *pip, struct alias_data *ah) { ... @@ -1364,7 +1362,7 @@ .Ed and they must accept exactly these input parameters. .Ss PATCHING AN APPLICATION FOR USERLAND LIBALIAS MODULES -If you have any application that uses +If you have any application that uses .Nm libalias and you want to add it support for modules, then follow this simple 5 steps @@ -1373,7 +1371,6 @@ .An -split .An 1) first, figure out which file is the main file of your program .An (let's call it main.c) - .An 2) add this to the header section of main,c, if not already .An present: .Pp @@ -1390,7 +1387,7 @@ .Pp .An 5) and place this function somewhere in main.c: .Pp -.An static void +.An static void .An signal_handler(int sig) { .Pp .An LibAliasRefreshModules(); @@ -1408,7 +1405,7 @@ .Ed .Ss LOGGING SUPPORT IN KERNEL LAND .Pp -While working as kld, +While working as kld, .Nm libalias now have log support that happens on a buffer allocated inside struct libalias(from alias_local.h): @@ -1416,15 +1413,15 @@ struct libalias { ... - /* log descriptor */ + /* log descriptor */ #ifdef KERNEL_LOG - char *logDesc; /* - * ptr to an auto-malloced + char *logDesc; /* + * ptr to an auto-malloced * memory buffer when libalias * works as kld */ -#else - FILE *logDesc; /* +#else + FILE *logDesc; /* * ptr to /var/log/alias.log * when libalias runs as a * userland lib @@ -1434,7 +1431,7 @@ ... } .Ed -so all the applications using +so all the applications using .Nm libalias , will be able to handle their own logs, if they want, accessing logDesc. From owner-p4-projects@FreeBSD.ORG Fri Sep 1 12:25:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D061216A503; Fri, 1 Sep 2006 12:25:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7920E16A4EE for ; Fri, 1 Sep 2006 12:25:20 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA7A043D7C for ; Fri, 1 Sep 2006 12:25:06 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81CP6ss045411 for ; Fri, 1 Sep 2006 12:25:06 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81CP3FK045408 for perforce@freebsd.org; Fri, 1 Sep 2006 12:25:03 GMT (envelope-from piso@freebsd.org) Date: Fri, 1 Sep 2006 12:25:03 GMT Message-Id: <200609011225.k81CP3FK045408@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 105457 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 12:25:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105457 Change 105457 by piso@piso_newluxor on 2006/09/01 12:24:30 IFC Affected files ... .. //depot/projects/soc2005/libalias/MAINTAINERS#3 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/Makefile#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/cmds.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/conf.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/extern.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpcmd.y#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.8#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.conf.5#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/logutmp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/logwtmp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/pathnames.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/popen.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/lukemftpd/src/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit.h#3 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_internal.h#3 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_kevents.h#4 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/audit_record.h#4 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_token.c#4 integrate .. //depot/projects/soc2005/libalias/etc/Makefile#3 integrate .. //depot/projects/soc2005/libalias/etc/defaults/periodic.conf#3 integrate .. //depot/projects/soc2005/libalias/etc/freebsd-update.conf#1 branch .. //depot/projects/soc2005/libalias/etc/hosts.allow#2 integrate .. //depot/projects/soc2005/libalias/etc/inetd.conf#2 integrate .. //depot/projects/soc2005/libalias/etc/mtree/BSD.var.dist#2 integrate .. //depot/projects/soc2005/libalias/etc/periodic/weekly/120.clean-kvmdb#2 delete .. //depot/projects/soc2005/libalias/etc/periodic/weekly/Makefile#2 integrate .. //depot/projects/soc2005/libalias/etc/phones#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_compression_none.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libbsm/Makefile#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/ia64/gen/_set_tp.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/powerpc/gen/_set_tp.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/arch/ia64/ia64/pthread_md.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/arch/ia64/include/pthread_md.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/arch/powerpc/include/pthread_md.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/arch/powerpc/powerpc/pthread_md.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex_prioceiling.c#2 delete .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_mutex_protocol.c#2 delete .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_private.h#4 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_seterrno.c#2 delete .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_sigmask.c#2 delete .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_umtx.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_umtx.h#2 integrate .. //depot/projects/soc2005/libalias/libexec/lukemftpd/nbsd2fbsd.h#2 integrate .. //depot/projects/soc2005/libalias/libexec/lukemftpd/nbsd_pidfile.h#1 branch .. //depot/projects/soc2005/libalias/libexec/lukemftpd/pamize.h#2 delete .. //depot/projects/soc2005/libalias/libexec/rtld-elf/ia64/reloc.c#2 integrate .. //depot/projects/soc2005/libalias/libexec/rtld-elf/ia64/rtld_machdep.h#2 integrate .. //depot/projects/soc2005/libalias/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#7 integrate .. //depot/projects/soc2005/libalias/release/scripts/kernels-install.sh#2 integrate .. //depot/projects/soc2005/libalias/release/scripts/lib32-install.sh#1 branch .. //depot/projects/soc2005/libalias/release/scripts/proflibs-install.sh#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ixgb.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/sio.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man5/Makefile#2 integrate .. //depot/projects/soc2005/libalias/share/man/man5/freebsd-update.conf.5#1 branch .. //depot/projects/soc2005/libalias/share/man/man5/periodic.conf.5#2 integrate .. //depot/projects/soc2005/libalias/share/man/man8/Makefile#2 integrate .. //depot/projects/soc2005/libalias/share/man/man8/nanobsd.8#1 branch .. //depot/projects/soc2005/libalias/share/man/man9/bus_dma.9#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/pmap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91rm92reg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/include/asm.h#2 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_record.h#4 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/fdc/fdc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/miidevs#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/support.s#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_sysent.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_umtx.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.master#6 integrate .. //depot/projects/soc2005/libalias/sys/kern/systrace_args.c#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/Makefile#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#12 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/soc2005/libalias/sys/pci/agp_ati.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/copyinout.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/vm_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit.h#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_syscalls.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/sx.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.h#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.mk#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/sysproto.h#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/systm.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/umtx.h#3 integrate .. //depot/projects/soc2005/libalias/tools/tools/ministat/ministat.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/less/lesspipe.sh#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/NEWS#2 delete .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/biz22.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/biz31.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/courier.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/df.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/dn11.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/hayes.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/t3000.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/v3451.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/v831.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/libacu/ventel.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/acu.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/acutab.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cmds.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cmdtab.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cu.1#1 branch .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/cu.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/hunt.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/log.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/partab.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/pathnames.h#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/remote.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tip.h#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/tipout.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/uucplock.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/value.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tip/tip/vars.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/vgrind/vgrind.1#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/Makefile#5 integrate .. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/Makefile#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.8#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.sh#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/config.c#2 integrate Differences ... ==== //depot/projects/soc2005/libalias/MAINTAINERS#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.139 2006/07/11 06:09:54 mjacob Exp $ +$FreeBSD: src/MAINTAINERS,v 1.140 2006/08/31 09:51:33 cperciva Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -118,6 +118,7 @@ linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. +freebsd-update cperciva Pre-commit review requested. sys/netgraph/bluetooth emax Pre-commit review preferred. lib/libbluetooth emax Pre-commit review preferred. lib/libsdp emax Pre-commit review preferred. ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/Makefile#2 (text+ko) ==== @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.51 2003-07-23 08:01:27 itojun Exp $ +# $NetBSD: Makefile,v 1.56 2006/03/23 20:14:16 wiz Exp $ # @(#)Makefile 8.2 (Berkeley) 4/4/94 .include PROG= ftpd SRCS= cmds.c conf.c ftpd.c ftpcmd.y logutmp.c logwtmp.c popen.c -CPPFLAGS+=-I${.CURDIR} -DSUPPORT_UTMP -DSUPPORT_UTMPX +CPPFLAGS+=-I${.CURDIR} -DSUPPORT_UTMP -DSUPPORT_UTMPX -DLOGIN_CAP DPADD+= ${LIBCRYPT} ${LIBUTIL} LDADD+= -lcrypt -lutil MAN= ftpd.conf.5 ftpusers.5 ftpd.8 @@ -15,8 +15,9 @@ SRCS+= ls.c cmp.c print.c stat_flags.c util.c .PATH: ${NETBSDSRCDIR}/bin/ls +.if (${USE_INET6} != "no") CPPFLAGS+=-DINET6 -.include +.endif WARNS=2 @@ -25,6 +26,11 @@ DPADD+= ${LIBSKEY} LDADD+= -lskey .endif +.if (${USE_PAM} != "no") +CPPFLAGS+=-DUSE_PAM +DPADD+= ${LIBPAM} ${PAM_STATIC_DPADD} +LDADD+= -lpam ${PAM_STATIC_LDADD} +.endif ftpd.o ftpcmd.o: version.h @@ -38,13 +44,8 @@ #DPADD+= ${LIBKRB5} ${LIBASN1} #LDADD+= -lkrb5 -lasn1 # -#SRCS+= klogin.c -#CPPFLAGS+=-DKERBEROS -I${DESTDIR}/usr/include/kerberosIV -#DPADD+= ${LIBKRB} -#LDADD+= -lkrb -# -#DPADD+= ${LIBCRYPTO} ${LIBROKEN} ${LIBCOM_ERR} -#LDADD+= -lcrypto -lroken -lcom_err +#DPADD+= ${LIBCRYPTO} ${{LIBCRYPT} ${LIBROKEN} ${LIBCOM_ERR} +#LDADD+= -lcrypto -lcrypt -lroken -lcom_err # #.endif ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/cmds.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $ */ +/* $NetBSD: cmds.c,v 1.24 2006/02/01 14:20:12 christos Exp $ */ /* * Copyright (c) 1999-2004 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ #include #ifndef lint -__RCSID("$NetBSD: cmds.c,v 1.23 2004-08-09 12:56:47 lukem Exp $"); +__RCSID("$NetBSD: cmds.c,v 1.24 2006/02/01 14:20:12 christos Exp $"); #endif /* not lint */ #include @@ -391,7 +391,7 @@ /* default cases */ if (ep != NULL && *ep != '\0') - REASSIGN(c->options, xstrdup(ep)); + REASSIGN(c->options, ftpd_strdup(ep)); if (c->options != NULL) reply(200, "Options for %s are '%s'.", c->name, c->options); @@ -438,7 +438,7 @@ return (NULL); } reply(350, "File exists, ready for destination name"); - return (xstrdup(name)); + return (ftpd_strdup(name)); } void ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/conf.c#2 (text+ko) ==== @@ -1,7 +1,7 @@ -/* $NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $ */ +/* $NetBSD: conf.c,v 1.57 2006/02/01 14:20:12 christos Exp $ */ /*- - * Copyright (c) 1997-2004 The NetBSD Foundation, Inc. + * Copyright (c) 1997-2005 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation @@ -38,7 +38,7 @@ #include #ifndef lint -__RCSID("$NetBSD: conf.c,v 1.52 2004-08-09 12:56:47 lukem Exp $"); +__RCSID("$NetBSD: conf.c,v 1.57 2006/02/01 14:20:12 christos Exp $"); #endif /* not lint */ #include @@ -77,7 +77,7 @@ #define DEFAULT_MAXFILESIZE -1 /* unlimited file size */ #define DEFAULT_MAXTIMEOUT 7200 /* 2 hours */ #define DEFAULT_TIMEOUT 900 /* 15 minutes */ -#define DEFAULT_UMASK 027 /* 15 minutes */ +#define DEFAULT_UMASK 027 /* rw-r----- */ /* * Initialise curclass to an `empty' state @@ -109,7 +109,7 @@ curclass.maxrateget = 0; curclass.maxrateput = 0; curclass.maxtimeout = DEFAULT_MAXTIMEOUT; - REASSIGN(curclass.motd, xstrdup(_PATH_FTPLOGINMESG)); + REASSIGN(curclass.motd, ftpd_strdup(_NAME_FTPLOGINMESG)); REASSIGN(curclass.notify, NULL); curclass.portmin = 0; curclass.portmax = 0; @@ -126,6 +126,7 @@ CURCLASS_FLAGS_SET(checkportcmd); CURCLASS_FLAGS_CLR(denyquick); + CURCLASS_FLAGS_CLR(hidesymlinks); CURCLASS_FLAGS_SET(modify); CURCLASS_FLAGS_SET(passive); CURCLASS_FLAGS_CLR(private); @@ -152,14 +153,14 @@ struct ftpconv *conv, *cnext; init_curclass(); - REASSIGN(curclass.classname, xstrdup(findclass)); + REASSIGN(curclass.classname, ftpd_strdup(findclass)); /* set more guest defaults */ if (strcasecmp(findclass, "guest") == 0) { CURCLASS_FLAGS_CLR(modify); curclass.umask = 0707; } - infile = conffilename(_PATH_FTPDCONF); + infile = conffilename(_NAME_FTPDCONF); if ((f = fopen(infile, "r")) == NULL) return; @@ -205,7 +206,7 @@ if (none || EMPTYSTR(arg)) \ arg = NULL; \ else \ - arg = xstrdup(arg); \ + arg = ftpd_strdup(arg); \ REASSIGN(curclass.Field, arg); \ } while (0) @@ -310,16 +311,16 @@ convcmd = p; if (convcmd) convcmd += strspn(convcmd, " \t"); - suffix = xstrdup(arg); + suffix = ftpd_strdup(arg); if (none || EMPTYSTR(types) || EMPTYSTR(disable) || EMPTYSTR(convcmd)) { types = NULL; disable = NULL; convcmd = NULL; } else { - types = xstrdup(types); - disable = xstrdup(disable); - convcmd = xstrdup(convcmd); + types = ftpd_strdup(types); + disable = ftpd_strdup(disable); + convcmd = ftpd_strdup(convcmd); } for (conv = curclass.conversions; conv != NULL; conv = conv->next) { @@ -354,6 +355,9 @@ } else if (strcasecmp(word, "display") == 0) { CONF_STRING(display); + } else if (strcasecmp(word, "hidesymlinks") == 0) { + CONF_FLAG(hidesymlinks); + } else if (strcasecmp(word, "homedir") == 0) { CONF_STRING(homedir); @@ -362,7 +366,7 @@ REASSIGN(curclass.limitfile, NULL); CONF_LL(limit, arg, -1, LLTMAX); REASSIGN(curclass.limitfile, - EMPTYSTR(p) ? NULL : xstrdup(p)); + EMPTYSTR(p) ? NULL : ftpd_strdup(p)); } else if (strcasecmp(word, "maxfilesize") == 0) { curclass.maxfilesize = DEFAULT_MAXFILESIZE; @@ -385,6 +389,10 @@ curclass.writesize = 0; CONF_LL(writesize, arg, 0, LLTMAX); + } else if (strcasecmp(word, "recvbufsize") == 0) { + curclass.recvbufsize = 0; + CONF_LL(recvbufsize, arg, 0, LLTMAX); + } else if (strcasecmp(word, "sendbufsize") == 0) { curclass.sendbufsize = 0; CONF_LL(sendbufsize, arg, 0, LLTMAX); @@ -464,7 +472,7 @@ } else if (strcasecmp(word, "template") == 0) { if (none) continue; - REASSIGN(template, EMPTYSTR(arg) ? NULL : xstrdup(arg)); + REASSIGN(template, EMPTYSTR(arg) ? NULL : ftpd_strdup(arg)); } else if (strcasecmp(word, "umask") == 0) { u_long fumask; @@ -547,7 +555,7 @@ if (sl_find(slist, curwd) != NULL) return; - cp = xstrdup(curwd); + cp = ftpd_strdup(curwd); if (sl_add(slist, cp) == -1) syslog(LOG_WARNING, "can't add `%s' to stringlist", cp); @@ -846,13 +854,13 @@ /* Split up command into an argv */ if ((sl = sl_init()) == NULL) goto cleanup_do_conv; - cmd = xstrdup(cp->command); + cmd = ftpd_strdup(cp->command); p = cmd; while (p) { NEXTWORD(p, lp); if (strcmp(lp, "%s") == 0) lp = base; - if (sl_add(sl, xstrdup(lp)) == -1) + if (sl_add(sl, ftpd_strdup(lp)) == -1) goto cleanup_do_conv; } ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/extern.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: extern.h,v 1.50 2004-08-09 12:56:47 lukem Exp $ */ +/* $NetBSD: extern.h,v 1.55 2006/02/01 14:20:12 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -32,7 +32,7 @@ */ /*- - * Copyright (c) 1997-2004 The NetBSD Foundation, Inc. + * Copyright (c) 1997-2005 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation @@ -174,22 +174,27 @@ void statxfer(void); void store(const char *, const char *, int); void user(const char *); -char *xstrdup(const char *); +char *ftpd_strdup(const char *); void yyerror(char *); #ifdef SUPPORT_UTMP struct utmp; +void ftpd_initwtmp(void); void ftpd_logwtmp(const char *, const char *, const char *); -void ftpd_login(const struct utmp *ut); -int ftpd_logout(const char *line); +void ftpd_login(const struct utmp *); +int ftpd_logout(const char *); #endif #ifdef SUPPORT_UTMPX struct utmpx; +struct sockinet; +void ftpd_initwtmpx(void); +void ftpd_logwtmpx(const char *, const char *, const char *, + struct sockinet *, int, int); void ftpd_loginx(const struct utmpx *); -void ftpd_logwtmpx(const char *, const char *, const char *, int, int); +int ftpd_logoutx(const char *, int, int); #endif #include @@ -251,12 +256,15 @@ typedef enum { FLAG_checkportcmd = 1<<0, /* Check port commands */ FLAG_denyquick = 1<<1, /* Check ftpusers(5) before PASS */ - FLAG_modify = 1<<2, /* Allow CHMOD, DELE, MKD, RMD, RNFR, + FLAG_hidesymlinks = 1<<2, /* For symbolic links, list the file + or directory the link references + rather than the link itself */ + FLAG_modify = 1<<3, /* Allow CHMOD, DELE, MKD, RMD, RNFR, UMASK */ - FLAG_passive = 1<<3, /* Allow PASV mode */ - FLAG_private = 1<<4, /* Don't publish class info in STAT */ - FLAG_sanenames = 1<<5, /* Restrict names of uploaded files */ - FLAG_upload = 1<<6, /* As per modify, but also allow + FLAG_passive = 1<<4, /* Allow PASV mode */ + FLAG_private = 1<<5, /* Don't publish class info in STAT */ + FLAG_sanenames = 1<<6, /* Restrict names of uploaded files */ + FLAG_upload = 1<<7, /* As per modify, but also allow APPE, STOR, STOU */ } classflag_t; @@ -290,6 +298,7 @@ LLT mmapsize; /* mmap window size */ LLT readsize; /* data read size */ LLT writesize; /* data write size */ + LLT recvbufsize; /* SO_RCVBUF size */ LLT sendbufsize; /* SO_SNDBUF size */ LLT sendlowat; /* SO_SNDLOWAT size */ }; @@ -309,7 +318,7 @@ GLOBAL struct sockinet pasv_addr; GLOBAL int connections; GLOBAL struct ftpclass curclass; -GLOBAL int debug; +GLOBAL int ftpd_debug; GLOBAL char *emailaddr; GLOBAL int form; GLOBAL int gidcount; /* number of entries in gidlist[] */ ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpcmd.y#2 (text+ko) ==== @@ -1,7 +1,7 @@ -/* $NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $ */ +/* $NetBSD: ftpcmd.y,v 1.84 2006/02/01 14:20:12 christos Exp $ */ /*- - * Copyright (c) 1997-2004 The NetBSD Foundation, Inc. + * Copyright (c) 1997-2005 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation @@ -79,7 +79,7 @@ #if 0 static char sccsid[] = "@(#)ftpcmd.y 8.3 (Berkeley) 4/6/94"; #else -__RCSID("$NetBSD: ftpcmd.y,v 1.80 2004-08-09 12:56:47 lukem Exp $"); +__RCSID("$NetBSD: ftpcmd.y,v 1.84 2006/02/01 14:20:12 christos Exp $"); #endif #endif /* not lint */ @@ -118,6 +118,14 @@ char *cmdp; char *fromname; +extern int epsvall; +struct tab sitetab[]; + +static int check_write(const char *, int); +static void help(struct tab *, const char *); +static void port_check(const char *, int); + int yylex(void); + %} %union { @@ -503,6 +511,8 @@ { char *argv[] = { INTERNAL_LS, "-lgA", NULL }; + if (CURCLASS_FLAGS_ISSET(hidesymlinks)) + argv[1] = "-LlgA"; if ($2) retrieve(argv, ""); } @@ -511,6 +521,8 @@ { char *argv[] = { INTERNAL_LS, "-lgA", NULL, NULL }; + if (CURCLASS_FLAGS_ISSET(hidesymlinks)) + argv[1] = "-LlgA"; if ($2 && $4 != NULL) { argv[2] = $4; retrieve(argv, $4); @@ -1293,13 +1305,6 @@ { NULL, 0, 0, 0, NULL } }; -static int check_write(const char *, int); -static void help(struct tab *, const char *); -static void port_check(const char *, int); - int yylex(void); - -extern int epsvall; - /* * Check if a filename is allowed to be modified (isupload == 0) or * uploaded (isupload == 1), and if necessary, check the filename is `sane'. @@ -1333,7 +1338,7 @@ if (file[0] == '.') goto insane_name; for (p = file; *p; p++) { - if (isalnum(*p) || *p == '-' || *p == '+' || + if (isalnum((unsigned char)*p) || *p == '-' || *p == '+' || *p == ',' || *p == '.' || *p == '_') continue; insane_name: @@ -1371,7 +1376,7 @@ *cs++ = tmpline[c]; if (tmpline[c] == '\n') { *cs++ = '\0'; - if (debug) + if (ftpd_debug) syslog(LOG_DEBUG, "command: %s", s); tmpline[0] = '\0'; return(s); @@ -1419,7 +1424,7 @@ if (c == EOF && cs == s) return (NULL); *cs++ = '\0'; - if (debug) { + if (ftpd_debug) { if ((curclass.type != CLASS_GUEST && strncasecmp(s, "PASS ", 5) == 0) || strncasecmp(s, "ACCT ", 5) == 0) { @@ -1571,7 +1576,7 @@ */ if (n > 1 && cmdp[cpos] == '\n') { cmdp[cpos] = '\0'; - yylval.s = xstrdup(cp); + yylval.s = ftpd_strdup(cp); cmdp[cpos] = '\n'; state = ARGS; return (STRING); @@ -1583,9 +1588,9 @@ cpos++; return (SP); } - if (isdigit(cmdp[cpos])) { + if (isdigit((unsigned char)cmdp[cpos])) { cp = &cmdp[cpos]; - while (isdigit(cmdp[++cpos])) + while (isdigit((unsigned char)cmdp[++cpos])) ; c = cmdp[cpos]; cmdp[cpos] = '\0'; @@ -1598,9 +1603,9 @@ goto dostr1; case ARGS: - if (isdigit(cmdp[cpos])) { + if (isdigit((unsigned char)cmdp[cpos])) { cp = &cmdp[cpos]; - while (isdigit(cmdp[++cpos])) + while (isdigit((unsigned char)cmdp[++cpos])) ; c = cmdp[cpos]; cmdp[cpos] = '\0'; @@ -1610,7 +1615,7 @@ return (NUMBER); } if (strncasecmp(&cmdp[cpos], "ALL", 3) == 0 - && !isalnum(cmdp[cpos + 3])) { + && !isalnum((unsigned char)cmdp[cpos + 3])) { cpos += 3; return (ALL); } ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.8#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: ftpd.8,v 1.74 2003-08-07 09:46:39 agc Exp $ +.\" $NetBSD: ftpd.8,v 1.76 2005/08/07 11:13:34 wiz Exp $ .\" .\" Copyright (c) 1997-2003 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -63,7 +63,7 @@ .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 .\" -.Dd February 26, 2003 +.Dd August 4, 2005 .Dt FTPD 8 .Os .Sh NAME @@ -72,10 +72,10 @@ Internet File Transfer Protocol server .Sh SYNOPSIS .Nm -.Op Fl dHlqQrsuUwWX +.Op Fl 46DdHlQqrsUuWwX .Op Fl a Ar anondir +.Op Fl C Ar user .Op Fl c Ar confdir -.Op Fl C Ar user .Op Fl e Ar emailaddr .Op Fl h Ar hostname .Op Fl L Ar xferlogfile @@ -93,6 +93,14 @@ .Pp Available options: .Bl -tag -width Ds +.It Fl 4 +When +.Fl D +is specified, bind to IPv4 addresses only. +.It Fl 6 +When +.Fl D +is specified, bind to IPv6 addresses only. .It Fl a Ar anondir Define .Ar anondir @@ -104,6 +112,16 @@ .Xr ftpd.conf 5 .Sy chroot directive. +.It Fl C Ar user +Check whether +.Ar user +would be granted access under +the restrictions given in +.Xr ftpusers 5 +and exit without attempting a connection. +.Nm +exits with an exit code of 0 if access would be granted, or 1 otherwise. +This can be useful for testing configurations. .It Fl c Ar confdir Change the root directory of the configuration files from .Dq Pa /etc @@ -118,16 +136,16 @@ .Xr ftpd.conf 5 .Sy limit directive. -.It Fl C Ar user -Check whether -.Ar user -would be granted access under -the restrictions given in -.Xr ftpusers 5 -and exit without attempting a connection. +.It Fl D +Run as daemon. +.Nm +will listen on the default FTP port for incoming connections +and fork a child for each connection. +This is lower overhead than starting .Nm -exits with an exit code of 0 if access would be granted, or 1 otherwise. -This can be useful for testing configurations. +from +.Xr inetd 8 +and thus might be useful on busy servers to reduce load. .It Fl d Debugging information is written to the syslog using a facility of .Dv LOG_FTP . @@ -138,6 +156,12 @@ .Dq "\&%E" escape sequence (see .Sx Display file escape sequences ) +.It Fl H +Equivalent to +.Do +-h +`hostname` +.Dc . .It Fl h Ar hostname Explicitly set the hostname to advertise as to .Ar hostname . @@ -155,12 +179,13 @@ Refer to .Xr inetd.conf 5 for more information on starting services to listen on specific IP addresses. -.It Fl H -Equivalent to -.Do --h -`hostname` -.Dc . +.It Fl L Ar xferlogfile +Log +.Tn wu-ftpd +style +.Sq xferlog +entries to +.Ar xferlogfile . .It Fl l Each successful and failed .Tn FTP @@ -169,13 +194,6 @@ If this option is specified more than once, the retrieve (get), store (put), append, delete, make directory, remove directory and rename operations and their file name arguments are also logged. -.It Fl L Ar xferlogfile -Log -.Tn wu-ftpd -style -.Sq xferlog -entries to -.Ar xferlogfile . .It Fl P Ar dataport Use .Ar dataport @@ -183,16 +201,16 @@ that the port .Nm is listening on. -.It Fl q -Enable the use of pid files for keeping track of the number of logged-in -users per class. -This is the default. .It Fl Q Disable the use of pid files for keeping track of the number of logged-in users per class. This may reduce the load on heavily loaded .Tn FTP servers. +.It Fl q +Enable the use of pid files for keeping track of the number of logged-in +users per class. +This is the default. .It Fl r Permanently drop root privileges once the user is logged in. The use of this option may result in the server using a port other @@ -206,6 +224,12 @@ below for more details. .It Fl s Require a secure authentication mechanism like Kerberos or S/Key to be used. +.It Fl U +Don't log each concurrent +.Tn FTP +session to +.Pa /var/run/utmp . +This is the default. .It Fl u Log each concurrent .Tn FTP @@ -213,12 +237,6 @@ .Pa /var/run/utmp , making them visible to commands such as .Xr who 1 . -.It Fl U -Don't log each concurrent -.Tn FTP -session to -.Pa /var/run/utmp . -This is the default. .It Fl V Ar version Use .Ar version @@ -232,6 +250,11 @@ is empty or .Sq - then don't display any version information. +.It Fl W +Don't log each +.Tn FTP +session to +.Pa /var/log/wtmp . .It Fl w Log each .Tn FTP @@ -240,11 +263,6 @@ making them visible to commands such as .Xr last 1 . This is the default. -.It Fl W -Don't log each -.Tn FTP -session to -.Pa /var/log/wtmp . .It Fl X Log .Tn wu-ftpd ==== //depot/projects/soc2005/libalias/contrib/lukemftpd/src/ftpd.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: ftpd.c,v 1.158 2004-08-09 12:56:47 lukem Exp $ */ +/* $NetBSD: ftpd.c,v 1.176 2006/05/09 20:18:06 mrg Exp $ */ /* * Copyright (c) 1997-2004 The NetBSD Foundation, Inc. @@ -105,10 +105,10 @@ #if 0 static char sccsid[] = "@(#)ftpd.c 8.5 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: ftpd.c,v 1.158 2004-08-09 12:56:47 lukem Exp $"); +__RCSID("$NetBSD: ftpd.c,v 1.176 2006/05/09 20:18:06 mrg Exp $"); #endif +__FBSDID("$FreeBSD: src/contrib/lukemftpd/src/ftpd.c,v 1.5 2006/08/31 17:08:21 obrien Exp $"); #endif /* not lint */ -__FBSDID("$FreeBSD: src/contrib/lukemftpd/src/ftpd.c,v 1.4 2004/08/18 06:34:20 obrien Exp $"); /* * FTP server. @@ -141,6 +141,7 @@ #include #include #include +#include #include #include #include @@ -164,19 +165,27 @@ #include #include #endif -#ifdef LOGIN_CAP + +#ifdef LOGIN_CAP #include #endif +#ifdef USE_PAM +#include +#endif + #define GLOBAL #include "extern.h" #include "pathnames.h" #include "version.h" +#include "nbsd_pidfile.h" + volatile sig_atomic_t transflag; volatile sig_atomic_t urgflag; int data; +int Dflag; int sflag; int stru; /* avoid C keyword */ int mode; @@ -191,6 +200,12 @@ off_t file_size; off_t byte_count; static char ttyline[20]; + +#ifdef USE_PAM +static int auth_pam(struct passwd **, const char *); +pam_handle_t *pamh = NULL; +#endif + #ifdef SUPPORT_UTMP static struct utmp utmp; /* for utmp */ #endif @@ -233,7 +248,6 @@ SS_DATA_ERROR /* data send error */ }; - #ifdef USE_OPIE #include static struct opie opiedata; @@ -241,13 +255,6 @@ static int pwok; #endif -#ifdef USE_PAM -#include -pam_handle_t *pamh = NULL; -#include "pamize.h" -#endif - - static int bind_pasv_addr(void); static int checkuser(const char *, const char *, int, int, char **); static int checkaccess(const char *); @@ -255,7 +262,8 @@ static void end_login(void); static FILE *getdatasock(const char *); static char *gunique(const char *); -static void login_utmp(const char *, const char *, const char *); +static void login_utmp(const char *, const char *, const char *, + struct sockinet *); static void logremotehost(struct sockinet *); static void lostconn(int); static void toolong(int); @@ -288,7 +296,8 @@ int main(int argc, char *argv[]) { - int addrlen, ch, on = 1, tos, keepalive; + int ch, on = 1, tos, keepalive; + socklen_t addrlen; #ifdef KERBEROS5 krb5_error_code kerror; #endif @@ -296,11 +305,13 @@ const char *xferlogname = NULL; long l; struct sigaction sa; + sa_family_t af = AF_UNSPEC; connections = 1; - debug = 0; + ftpd_debug = 0; logging = 0; pdata = -1; + Dflag = 0; sflag = 0; dataport = 0; dopidfile = 1; /* default: DO use a pid file to count users */ @@ -324,9 +335,17 @@ */ openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP); - while ((ch = getopt(argc, argv, "a:c:C:de:h:HlL:P:qQrst:T:uUvV:wWX")) - != -1) { + while ((ch = getopt(argc, argv, + "46a:c:C:Dde:h:HlL:P:qQrst:T:uUvV:wWX")) != -1) { switch (ch) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 1 18:03:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C981216A4E0; Fri, 1 Sep 2006 18:03:28 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B90616A4DA for ; Fri, 1 Sep 2006 18:03:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 373E043D45 for ; Fri, 1 Sep 2006 18:03:28 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81I3SZO087143 for ; Fri, 1 Sep 2006 18:03:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81I3RLU087140 for perforce@freebsd.org; Fri, 1 Sep 2006 18:03:27 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 1 Sep 2006 18:03:27 GMT Message-Id: <200609011803.k81I3RLU087140@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 105471 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 18:03:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=105471 Change 105471 by hselasky@hselasky_mini_itx on 2006/09/01 18:02:55 Finished reworking "ufoma". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ufoma.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ufoma.c#4 (text+ko) ==== @@ -1,0 +1,1386 @@ +/* $NetBSD: umodem.c,v 1.45 2002/09/23 05:51:23 simonb Exp $ */ + +/*- + * Copyright (c) 2005, Takanori Watanabe + * Copyright (c) 2003, M. Warner Losh . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/*- + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Comm Class spec: http://www.usb.org/developers/devclass_docs/usbccs10.pdf + * http://www.usb.org/developers/devclass_docs/usbcdc11.pdf + */ + +/* + * TODO: + * - Implement a Call Device for modems without multiplexed commands. + */ + +/* + * NOTE: all function names beginning like "ufoma_cfg_" can only + * be called from within the config thread function ! + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define usbd_config_td_cc ufoma_config_copy +#define usbd_config_td_softc ufoma_softc + +#include +#include +#include +#include +#include + +#include + +#include "usbdevs.h" + +__FBSDID("$FreeBSD: src/sys/dev/usb/ufoma.c,v 1.1 2006/01/09 17:46:36 takawata Exp $"); + +typedef struct ufoma_mobile_acm_descriptor{ + u_int8_t bFunctionLength; + u_int8_t bDescriptorType; + u_int8_t bDescriptorSubtype; + u_int8_t bType; + u_int8_t bMode[1]; +} UPACKED usb_mcpc_acm_descriptor; + +#define UISUBCLASS_MCPC 0x88 + +#define UDESC_VS_INTERFACE 0x44 +#define UDESCSUB_MCPC_ACM 0x11 + +#define UMCPC_ACM_TYPE_AB1 0x1 +#define UMCPC_ACM_TYPE_AB2 0x2 +#define UMCPC_ACM_TYPE_AB5 0x5 +#define UMCPC_ACM_TYPE_AB6 0x6 + +#define UMCPC_ACM_MODE_DEACTIVATED 0x0 +#define UMCPC_ACM_MODE_MODEM 0x1 +#define UMCPC_ACM_MODE_ATCOMMAND 0x2 +#define UMCPC_ACM_MODE_OBEX 0x60 +#define UMCPC_ACM_MODE_VENDOR1 0xc0 +#define UMCPC_ACM_MODE_VENDOR2 0xfe +#define UMCPC_ACM_MODE_UNLINKED 0xff + +#define UMCPC_CM_MOBILE_ACM 0x0 + +#define UMCPC_ACTIVATE_MODE 0x60 +#define UMCPC_GET_MODETABLE 0x61 +#define UMCPC_SET_LINK 0x62 +#define UMCPC_CLEAR_LINK 0x63 + +#define UMCPC_REQUEST_ACKNOWLEDGE 0x31 + +#define UFOMA_MAX_TIMEOUT 15 /* standard says 10 seconds */ +#define UFOMA_CMD_BUF_SIZE 64 /* bytes */ + +#define UFOMA_BULK_IBUFSIZE 64 /* bytes */ +#define UFOMA_BULK_OBUFSIZE 256 /* bytes */ + +#define UFOMA_CTRL_ENDPT_MAX 4 /* units */ +#define UFOMA_BULK_ENDPT_MAX 4 /* units */ + +#define DPRINTF(...) + +struct ufoma_softc { + + struct ucom_softc sc_ucom; + struct usbd_config_td sc_config_td; + struct usbd_memory_wait sc_mem_wait; + usb_cdc_line_state_t sc_line_state; /* current line state */ + + struct usbd_xfer * sc_ctrl_xfer[UFOMA_CTRL_ENDPT_MAX]; + struct usbd_xfer * sc_bulk_xfer[UFOMA_BULK_ENDPT_MAX]; + u_int8_t * sc_modetable; + device_t sc_dev; + struct usbd_device * sc_udev; + + u_int32_t sc_unit; + + u_int8_t sc_num_msg; + u_int8_t sc_is_pseudo; + u_int8_t sc_ctrl_iface_no; + u_int8_t sc_ctrl_iface_index; + u_int8_t sc_data_iface_no; + u_int8_t sc_data_iface_index; + u_int8_t sc_cm_cap; + u_int8_t sc_acm_cap; + u_int8_t sc_dtr; /* current DTR state */ + u_int8_t sc_rts; /* current RTS state */ + u_int8_t sc_lsr; + u_int8_t sc_msr; + u_int8_t sc_break; + u_int8_t sc_modetoactivate; + u_int8_t sc_currentmode; + u_int8_t sc_flags; +#define UFOMA_FLAG_INTR_STALL 0x01 +#define UFOMA_FLAG_BULK_WRITE_STALL 0x02 +#define UFOMA_FLAG_BULK_READ_STALL 0x04 + + u_int8_t sc_name[16]; +}; + +struct ufoma_config_copy { + + usb_cdc_line_state_t line_state; + + u_int8_t break_onoff; + u_int8_t dtr_onoff; + u_int8_t rts_onoff; +}; + +/* prototypes */ + +static device_probe_t ufoma_probe; +static device_attach_t ufoma_attach; +static device_detach_t ufoma_detach; + +static void +ufoma_cfg_do_request(struct ufoma_softc *sc, usb_device_request_t *req, + void *data); +static void * +ufoma_get_intconf(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id, + u_int8_t type, u_int8_t subtype); +static void +ufoma_cfg_link_state(struct ufoma_softc *sc); + +static void +ufoma_cfg_activate_state(struct ufoma_softc *sc, u_int16_t state); + +static void +ufoma_ctrl_read_callback(struct usbd_xfer *xfer); + +static void +ufoma_ctrl_write_callback(struct usbd_xfer *xfer); + +static void +ufoma_intr_clear_stall_callback(struct usbd_xfer *xfer); + +static void +ufoma_intr_callback(struct usbd_xfer *xfer); + +static void +ufoma_bulk_write_callback(struct usbd_xfer *xfer); + +static void +ufoma_bulk_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +ufoma_bulk_read_callback(struct usbd_xfer *xfer); + +static void +ufoma_bulk_read_clear_stall_callback(struct usbd_xfer *xfer); + +static void +ufoma_config_copy(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static int +ufoma_open(struct ucom_softc *ucom); + +static void +ufoma_cfg_open(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static void +ufoma_close(struct ucom_softc *ucom); + +static void +ufoma_cfg_close(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static void +ufoma_set_break(struct ucom_softc *ucom, u_int8_t onoff); + +static void +ufoma_cfg_set_break(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static void +ufoma_get_status(struct ucom_softc *ucom, u_int8_t *lsr, u_int8_t *msr); + +static void +ufoma_cfg_set_line_state(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static void +ufoma_set_dtr(struct ucom_softc *ucom, u_int8_t onoff); + +static void +ufoma_set_rts(struct ucom_softc *ucom, u_int8_t onoff); + +static void +ufoma_cfg_set_line_coding(struct ufoma_softc *sc, + struct ufoma_config_copy *cc, u_int16_t refcount); +static int +ufoma_param(struct ucom_softc *ucom, struct termios *t); + +static int +ufoma_modem_setup(device_t dev, struct ufoma_softc *sc, + struct usb_attach_arg *uaa); +static void +ufoma_start_read(struct ucom_softc *ucom); + +static void +ufoma_stop_read(struct ucom_softc *ucom); + +static void +ufoma_start_write(struct ucom_softc *ucom); + +static void +ufoma_stop_write(struct ucom_softc *ucom); + +static const struct usbd_config +ufoma_ctrl_config[UFOMA_CTRL_ENDPT_MAX] = { + + [0] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = sizeof(usb_cdc_notification_t), + .callback = &ufoma_intr_callback, + }, + + [1] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &ufoma_intr_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = (sizeof(usb_device_request_t) + UFOMA_CMD_BUF_SIZE), + .flags = USBD_SHORT_XFER_OK, + .callback = &ufoma_ctrl_read_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = (sizeof(usb_device_request_t) + 1), + .flags = 0, + .callback = &ufoma_ctrl_write_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static const struct usbd_config +ufoma_bulk_config[UFOMA_BULK_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = UFOMA_BULK_OBUFSIZE, + .flags = 0, + .callback = &ufoma_bulk_write_callback, + }, + + [1] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = UFOMA_BULK_IBUFSIZE, + .flags = USBD_SHORT_XFER_OK, + .callback = &ufoma_bulk_read_callback, + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &ufoma_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &ufoma_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static const struct ucom_callback ufoma_callback = { + .ucom_get_status = &ufoma_get_status, + .ucom_set_dtr = &ufoma_set_dtr, + .ucom_set_rts = &ufoma_set_rts, + .ucom_set_break = &ufoma_set_break, + .ucom_param = &ufoma_param, + .ucom_open = &ufoma_open, + .ucom_close = &ufoma_close, + .ucom_start_read = &ufoma_start_read, + .ucom_stop_read = &ufoma_stop_read, + .ucom_start_write = &ufoma_start_write, + .ucom_stop_write = &ufoma_stop_write, +}; + +static device_method_t ufoma_methods[] = { + /* Device methods */ + DEVMETHOD(device_probe, ufoma_probe), + DEVMETHOD(device_attach, ufoma_attach), + DEVMETHOD(device_detach, ufoma_detach), + { 0, 0 } +}; + +static driver_t ufoma_driver = { + "ucom", + ufoma_methods, + sizeof(struct ufoma_softc) +}; + +static devclass_t ucom_devclass; + +DRIVER_MODULE(ufoma, uhub, ufoma_driver, ucom_devclass, usbd_driver_load, 0); +MODULE_DEPEND(ufoma, usb, 1, 1, 1); +MODULE_DEPEND(ufoma, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); + +static int +ufoma_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + usb_interface_descriptor_t *id; + usb_config_descriptor_t *cd; + usb_mcpc_acm_descriptor *mad; + + if(uaa->iface == NULL) { + return UMATCH_NONE; + } + + id = usbd_get_interface_descriptor(uaa->iface); + cd = usbd_get_config_descriptor(uaa->device); + + if ((id == NULL) || + (cd == NULL) || + (id->bInterfaceClass != UICLASS_CDC) || + (id->bInterfaceSubClass != UISUBCLASS_MCPC)){ + return UMATCH_NONE; + } + + mad = ufoma_get_intconf(cd, id, UDESC_VS_INTERFACE, UDESCSUB_MCPC_ACM); + if(mad == NULL){ + return UMATCH_NONE; + } +#if 0 + if(mad->bType != UMCPC_ACM_TYPE_AB5){ + return UMATCH_NONE; + } +#endif + return UMATCH_IFACECLASS_IFACESUBCLASS; +} + +static int +ufoma_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ufoma_softc *sc = device_get_softc(dev); + usb_config_descriptor_t *cd; + usb_interface_descriptor_t *id; + usb_mcpc_acm_descriptor *mad; + u_int8_t elements; + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), + "%s", device_get_nameunit(dev)); + + DPRINTF(sc, 0, "\n"); + + /* setup control transfers */ + + cd = usbd_get_config_descriptor(uaa->device); + id = usbd_get_interface_descriptor(uaa->iface); + sc->sc_ctrl_iface_no = id->bInterfaceNumber; + sc->sc_ctrl_iface_index = uaa->iface_index; + + error = usbd_transfer_setup + (uaa->device, sc->sc_ctrl_iface_index, + sc->sc_ctrl_xfer, ufoma_ctrl_config, UFOMA_CTRL_ENDPT_MAX, + sc, &Giant, &(sc->sc_mem_wait)); + + if (error) { + device_printf(dev, "allocating control USB " + "transfers failed!\n"); + goto detach; + } + + mad = ufoma_get_intconf(cd, id, UDESC_VS_INTERFACE, UDESCSUB_MCPC_ACM); + if (mad == NULL){ + goto detach; + } + + if (mad->bFunctionLength < sizeof(*mad)) { + device_printf(dev, "invalid MAD descriptor\n"); + goto detach; + } + + if(mad->bType == UMCPC_ACM_TYPE_AB5) { + sc->sc_is_pseudo = 1; + } else { + sc->sc_is_pseudo = 0; + if (ufoma_modem_setup(dev, sc, uaa)) { + goto detach; + } + } + + elements = (mad->bFunctionLength - sizeof(*mad) + 1); + + /* initialize mode variables */ + + sc->sc_modetable = malloc(elements + 1, M_USBDEV, M_WAITOK); + + if (sc->sc_modetable == NULL) { + goto detach; + } + + sc->sc_modetable[0] = (elements + 1); + bcopy(mad->bMode, &(sc->sc_modetable[1]), elements); + + sc->sc_currentmode = UMCPC_ACM_MODE_UNLINKED; + sc->sc_modetoactivate = mad->bMode[0]; + + /* setup UCOM */ + + sc->sc_ucom.sc_parent = sc; + sc->sc_ucom.sc_portno = 0; + sc->sc_ucom.sc_callback = &ufoma_callback; + + error = ucom_attach(&(sc->sc_ucom), dev); + + if (error) { + DPRINTF(0, "ucom_attach failed\n"); + goto detach; + } + + /* setup config thread */ + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &Giant, + &ufoma_config_copy, NULL, + sizeof(struct ufoma_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + return 0; /* success */ + + detach: + ufoma_detach(dev); + return ENXIO; /* failure */ +} + +static int +ufoma_detach(device_t dev) +{ + struct ufoma_softc *sc = device_get_softc(dev); + + mtx_lock(&Giant); + + usbd_config_td_stop(&(sc->sc_config_td)); + + mtx_unlock(&Giant); + + ucom_detach(&(sc->sc_ucom)); + + usbd_transfer_unsetup(sc->sc_ctrl_xfer, UFOMA_CTRL_ENDPT_MAX); + + usbd_transfer_unsetup(sc->sc_bulk_xfer, UFOMA_BULK_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &Giant); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + if (sc->sc_modetable) { + free(sc->sc_modetable, M_USBDEV); + } + return 0; +} + +static void +ufoma_cfg_do_request(struct ufoma_softc *sc, usb_device_request_t *req, + void *data) +{ + u_int16_t length; + usbd_status err; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto error; + } + + err = usbd_do_request_flags_mtx(sc->sc_udev, &Giant, req, + data, 0, NULL, 1000); + + if (err) { + + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + + error: + length = UGETW(req->wLength); + + if ((req->bmRequestType & UT_READ) && length) { + bzero(data, length); + } + } + return; +} + +static void * +ufoma_get_intconf(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id, + u_int8_t type, u_int8_t subtype) +{ + usb_descriptor_t *desc = (void *)id; + + while ((desc = usbd_desc_foreach(cd,desc))) { + + if(desc->bDescriptorType == UDESC_INTERFACE){ + return NULL; + } + + if((desc->bDescriptorType == type) && + (desc->bDescriptorSubtype == subtype)) { + break; + } + } + return desc; +} + +static void +ufoma_cfg_link_state(struct ufoma_softc *sc) +{ + usb_device_request_t req; + int32_t error; + + req.bmRequestType = UT_WRITE_VENDOR_INTERFACE; + req.bRequest = UMCPC_SET_LINK; + USETW(req.wValue, UMCPC_CM_MOBILE_ACM); + USETW(req.wIndex, sc->sc_ctrl_iface_no); + USETW(req.wLength, sc->sc_modetable[0]); + + ufoma_cfg_do_request(sc, &req, sc->sc_modetable); + + error = msleep(&(sc->sc_currentmode), &Giant, PZERO, "ufoma_link", hz); + + if(error){ + DPRINTF(sc, 0, "NO response\n"); + } + return; +} + +static void +ufoma_cfg_activate_state(struct ufoma_softc *sc, u_int16_t state) +{ + usb_device_request_t req; + int32_t error; + + req.bmRequestType = UT_WRITE_VENDOR_INTERFACE; + req.bRequest = UMCPC_ACTIVATE_MODE; + USETW(req.wValue, state); + USETW(req.wIndex, sc->sc_ctrl_iface_no); + USETW(req.wLength, 0); + + ufoma_cfg_do_request(sc, &req, NULL); + + error = msleep(&(sc->sc_currentmode), &Giant, PZERO, "fmaact", (UFOMA_MAX_TIMEOUT*hz)); + if(error){ + DPRINTF(sc, 0, "No response\n"); + } + return; +} + +static void +ufoma_ctrl_read_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + usb_device_request_t *req = xfer->buffer; + + USBD_CHECK_STATUS(xfer); + + tr_error: + DPRINTF(sc, 0, "error = %s\n", + usbd_errstr(xfer->error)); + + if (xfer->error == USBD_CANCELLED) { + return; + } else { + goto tr_setup; + } + + tr_transferred: + if (xfer->actlen < sizeof(*req)) { + goto tr_setup; + } + + xfer->actlen -= sizeof(*req); + + if (xfer->actlen) { + ucom_put_data(&(sc->sc_ucom), req->bData, xfer->actlen); + } + + tr_setup: + if (sc->sc_num_msg) { + sc->sc_num_msg--; + + req->bmRequestType = UT_READ_CLASS_INTERFACE; + req->bRequest = UCDC_GET_ENCAPSULATED_RESPONSE; + USETW(req->wIndex, sc->sc_ctrl_iface_no); + USETW(req->wValue, 0); + USETW(req->wLength, UFOMA_CMD_BUF_SIZE); + + usbd_start_hardware(xfer); + } + return; +} + +static void +ufoma_ctrl_write_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + usb_device_request_t *req = xfer->buffer; + u_int32_t actlen; + + USBD_CHECK_STATUS(xfer); + + tr_error: + DPRINTF(sc, 0, "error = %s\n", + usbd_errstr(xfer->error)); + + if (xfer->error == USBD_CANCELLED) { + return; + } else { + goto tr_setup; + } + + tr_transferred: + tr_setup: + if (ucom_get_data(&(sc->sc_ucom), req->bData, 1, &actlen)) { + + req->bmRequestType = UT_WRITE_CLASS_INTERFACE; + req->bRequest = UCDC_SEND_ENCAPSULATED_COMMAND; + USETW(req->wIndex, sc->sc_ctrl_iface_no); + USETW(req->wValue, 0); + USETW(req->wLength, 1); + + xfer->length = (sizeof(*req) + 1); + + usbd_start_hardware(xfer); + } + return; +} + +static void +ufoma_intr_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_ctrl_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~UFOMA_FLAG_INTR_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~UFOMA_FLAG_INTR_STALL; + DPRINTF(sc, 0, "interrupt read pipe stopped\n"); + return; +} + +static void +ufoma_intr_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + usb_cdc_notification_t *n = xfer->buffer; + u_int16_t wLen; + u_int16_t temp; + u_int8_t mstatus; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + /* start clear stall */ + sc->sc_flags |= UFOMA_FLAG_INTR_STALL; + usbd_transfer_start(sc->sc_ctrl_xfer[1]); + } + return; + + tr_transferred: + if (xfer->actlen < 8) { + DPRINTF(sc, 0, "too short message\n"); + goto tr_setup; + } + + xfer->actlen -= 8; + + wLen = UGETW(n->wLength); + xfer->actlen = min(wLen, xfer->actlen); + + if((n->bmRequestType == UT_READ_VENDOR_INTERFACE) && + (n->bNotification == UMCPC_REQUEST_ACKNOWLEDGE)) { + temp = UGETW(n->wValue); + sc->sc_currentmode = (temp >> 8); + if(!(temp & 0xff)){ + DPRINTF(sc, 0, "Mode change failed!\n"); + } + wakeup(&(sc->sc_currentmode)); + } + + if(n->bmRequestType != UCDC_NOTIFICATION){ + goto tr_setup; + } + + switch(n->bNotification){ + case UCDC_N_RESPONSE_AVAILABLE: + if(!(sc->sc_is_pseudo)){ + DPRINTF(sc, 0, "Wrong serial state!\n"); + break; + } + + if (sc->sc_num_msg != 0xFF) { + sc->sc_num_msg ++; + } + + usbd_transfer_start(sc->sc_ctrl_xfer[3]); + break; + + case UCDC_N_SERIAL_STATE: + if(sc->sc_is_pseudo){ + DPRINTF(sc, 0, "Wrong serial state!\n"); + break; + } + + /* + * Set the serial state in ucom driver based on + * the bits from the notify message + */ + if (xfer->actlen < 2) { + DPRINTF(sc, 0, "invalid notification " + "length, %d bytes!\n", xfer->actlen); + break; + } + + DPRINTF(sc, 0, "notify bytes = 0x%02x, 0x%02x\n", + n->data[0], n->data[1]); + + /* currently, lsr is always zero. */ + sc->sc_lsr = 0; + sc->sc_msr = 0; + + mstatus = n->data[0]; + + if (mstatus & UCDC_N_SERIAL_RI) { + sc->sc_msr |= SER_RI; + } + + if (mstatus & UCDC_N_SERIAL_DSR) { + sc->sc_msr |= SER_DSR; + } + + if (mstatus & UCDC_N_SERIAL_DCD) { + sc->sc_msr |= SER_DCD; + } + + ucom_status_change(&(sc->sc_ucom)); + break; + + default: + break; + } + + tr_setup: + if (sc->sc_flags & UFOMA_FLAG_INTR_STALL) { + usbd_transfer_start(sc->sc_ctrl_xfer[1]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +ufoma_bulk_write_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + u_int32_t actlen; + + USBD_CHECK_STATUS(xfer); + +tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flags |= UFOMA_FLAG_BULK_WRITE_STALL; + usbd_transfer_start(sc->sc_bulk_xfer[2]); + } + return; + +tr_setup: +tr_transferred: + if (sc->sc_flags & UFOMA_FLAG_BULK_WRITE_STALL) { + usbd_transfer_start(sc->sc_bulk_xfer[2]); + return; + } + + if (ucom_get_data(&(sc->sc_ucom), xfer->buffer, + UFOMA_BULK_OBUFSIZE, &actlen)) { + xfer->length = actlen; + usbd_start_hardware(xfer); + } + return; +} + +static void +ufoma_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_bulk_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + sc->sc_flags &= ~UFOMA_FLAG_BULK_WRITE_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + sc->sc_flags &= ~UFOMA_FLAG_BULK_WRITE_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} + +static void +ufoma_bulk_read_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flags |= UFOMA_FLAG_BULK_READ_STALL; + usbd_transfer_start(sc->sc_bulk_xfer[3]); + } + return; + + tr_transferred: + ucom_put_data(&(sc->sc_ucom), xfer->buffer, + xfer->actlen); + + tr_setup: + if (sc->sc_flags & UFOMA_FLAG_BULK_READ_STALL) { + usbd_transfer_start(sc->sc_bulk_xfer[3]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +ufoma_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct ufoma_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_bulk_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 1 18:06:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 918F316A4DE; Fri, 1 Sep 2006 18:06:33 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C45516A4DA for ; Fri, 1 Sep 2006 18:06:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 39A8243D5C for ; Fri, 1 Sep 2006 18:06:33 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81I6Xgn087308 for ; Fri, 1 Sep 2006 18:06:33 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81I6W8T087303 for perforce@freebsd.org; Fri, 1 Sep 2006 18:06:32 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 1 Sep 2006 18:06:32 GMT Message-Id: <200609011806.k81I6W8T087303@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 105472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 18:06:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105472 Change 105472 by hselasky@hselasky_mini_itx on 2006/09/01 18:06:17 Most of the ucom-configuration is done asynchronously, so stopping and starting the read transfer will become a NOP. Comment out that code. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ucom.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ucom.c#6 (text+ko) ==== @@ -534,9 +534,11 @@ return 0; } +#if 0 if (sc->sc_callback->ucom_stop_read) { (sc->sc_callback->ucom_stop_read)(sc); } +#endif error = (sc->sc_callback->ucom_param)(sc, t); if (error) { @@ -555,9 +557,11 @@ ttyldoptim(tp); +#if 0 if (sc->sc_callback->ucom_start_read) { (sc->sc_callback->ucom_start_read)(sc); } +#endif return 0; } From owner-p4-projects@FreeBSD.ORG Fri Sep 1 19:46:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74D9816A4DF; Fri, 1 Sep 2006 19:46:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 383DD16A4E2 for ; Fri, 1 Sep 2006 19:46:49 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34BB843D72 for ; Fri, 1 Sep 2006 19:46:45 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81JkjtR094282 for ; Fri, 1 Sep 2006 19:46:45 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81Jkj4L094279 for perforce@freebsd.org; Fri, 1 Sep 2006 19:46:45 GMT (envelope-from imp@freebsd.org) Date: Fri, 1 Sep 2006 19:46:45 GMT Message-Id: <200609011946.k81Jkj4L094279@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 105480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 19:46:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=105480 Change 105480 by imp@imp_lighthouse on 2006/09/01 19:45:57 quick hack: implement in/out gpio good. # Still need to do configuration and status query Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_pio.c#16 edit .. //depot/projects/arm/src/sys/sys/gpio.h#1 add Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_pio.c#16 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -271,7 +272,26 @@ at91_pio_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread *td) { - return (ENXIO); + struct at91_pio_softc *sc = CDEV2SOFTC(dev); + + switch(cmd) { + case GPIO_SET: /* turn bits on */ + WR4(sc, PIO_SODR, *(uint32_t *)data); + return (0); + case GPIO_CLR: /* turn bits off */ + WR4(sc, PIO_CODR, *(uint32_t *)data); + return (0); + case GPIO_GET: /* Get the status of output bits */ + *(uint32_t *)data = RD4(sc, PIO_ODSR); + return (0); + case GPIO_READ: /* Get the status of input bits */ + *(uint32_t *)data = RD4(sc, PIO_PDSR); + return (0); + case GPIO_INFO: /* Learn about this device's GPIO bits */ + case GPIO_CFG: /* Configure GPIO pins */ + break; + } + return (ENOTTY); } /* From owner-p4-projects@FreeBSD.ORG Fri Sep 1 22:33:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16CBA16A4E1; Fri, 1 Sep 2006 22:33:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CCE7A16A4DD for ; Fri, 1 Sep 2006 22:33:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D3DA43D60 for ; Fri, 1 Sep 2006 22:33:32 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81MXWM9017966 for ; Fri, 1 Sep 2006 22:33:32 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81MXVVH017963 for perforce@freebsd.org; Fri, 1 Sep 2006 22:33:31 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 1 Sep 2006 22:33:31 GMT Message-Id: <200609012233.k81MXVVH017963@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105486 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 22:33:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=105486 Change 105486 by mjacob@newisp on 2006/09/01 22:33:09 Bump isp_tpublic (non-FreeBSD) target mode protocol. Affected files ... .. //depot/projects/newisp/dev/isp/isp_tpublic.h#2 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp_tpublic.h#2 (text+ko) ==== @@ -71,14 +71,29 @@ * in, and the external module to call back with a QIN_HBA_REG that * passes back the corresponding information. */ -#define QR_VERSION 10 +#define QR_VERSION 12 typedef struct { void * r_identity; void (*r_action)(qact_e, void *); char r_name[8]; int r_inst; int r_version; - enum { R_FC, R_SCSI } r_type; + struct { + enum { + R_FC, + R_SCSI + } r_type; + union { + struct { + uint64_t r_wwnn; + uint64_t r_wwpn; + } fc; + struct { + int r_iid; + } scsi; + } r_id; + } r_info; + void * r_private; } hba_register_t; /* From owner-p4-projects@FreeBSD.ORG Fri Sep 1 22:34:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F74A16A4DE; Fri, 1 Sep 2006 22:34:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 44CCF16A4DA for ; Fri, 1 Sep 2006 22:34:34 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1331343D49 for ; Fri, 1 Sep 2006 22:34:34 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81MYXjs018002 for ; Fri, 1 Sep 2006 22:34:33 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81MYXrF017999 for perforce@freebsd.org; Fri, 1 Sep 2006 22:34:33 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 1 Sep 2006 22:34:33 GMT Message-Id: <200609012234.k81MYXrF017999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 105487 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 22:34:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=105487 Change 105487 by mjacob@newisp on 2006/09/01 22:33:40 Remove gratuitous newline. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#8 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#8 (text+ko) ==== @@ -1943,7 +1943,7 @@ icbp->icb_respaddr[RQRSP_ADDR3247] = DMA_WD2(isp->isp_result_dma); icbp->icb_respaddr[RQRSP_ADDR4863] = DMA_WD3(isp->isp_result_dma); - isp_prt(isp, /* ISP_LOGDEBUG0 */ ISP_LOGALL, + isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: fwopt1 0x%x fwopt2 0x%x fwopt3 0x%x", icbp->icb_fwoptions1, icbp->icb_fwoptions2, icbp->icb_fwoptions3); isp_prt(isp, ISP_LOGDEBUG0, @@ -6663,7 +6663,7 @@ ISP_NODEWWN(isp) = fcp->isp_nodewwn; if (fcp->isp_nodewwn == 0) { isp_prt(isp, ISP_LOGCONFIG, - "bad WWNN- using default\n"); + "bad WWNN- using default"); ISP_NODEWWN(isp) = DEFAULT_NODEWWN(isp); } } @@ -6680,7 +6680,7 @@ ISP_PORTWWN(isp) = fcp->isp_portwwn; if (fcp->isp_portwwn == 0) { isp_prt(isp, ISP_LOGCONFIG, - "bad WWPN- using default\n"); + "bad WWPN- using default"); ISP_PORTWWN(isp) = DEFAULT_PORTWWN(isp); } } From owner-p4-projects@FreeBSD.ORG Fri Sep 1 22:51:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F34F016A506; Fri, 1 Sep 2006 22:51:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B489416A504 for ; Fri, 1 Sep 2006 22:51:58 +0000 (UTC) (envelope-from ticso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7758043D53 for ; Fri, 1 Sep 2006 22:51:58 +0000 (GMT) (envelope-from ticso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k81Mpw68018985 for ; Fri, 1 Sep 2006 22:51:58 GMT (envelope-from ticso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k81MpwpH018982 for perforce@freebsd.org; Fri, 1 Sep 2006 22:51:58 GMT (envelope-from ticso@freebsd.org) Date: Fri, 1 Sep 2006 22:51:58 GMT Message-Id: <200609012251.k81MpwpH018982@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ticso@freebsd.org using -f From: Bernd Walter To: Perforce Change Reviews Cc: Subject: PERFORCE change 105491 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 01 Sep 2006 22:51:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=105491 Change 105491 by ticso@ticso on 2006/09/01 22:51:34 add a quick and dirty implementation for MMC access Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#20 edit .. //depot/projects/arm/src/sys/arm/at91/at91_qdmmc.c#1 add .. //depot/projects/arm/src/sys/arm/at91/at91_qdmmcreg.h#1 add .. //depot/projects/arm/src/sys/arm/at91/files.at91#11 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#20 (text+ko) ==== @@ -304,6 +304,11 @@ AT91RM92_IRQ_UDP }, { + "at91_qdmmc", 0, + AT91RM92_BASE + AT91RM92_MCI_BASE, AT91RM92_MCI_SIZE, + AT91RM92_IRQ_MCI + }, + { "at91_mci", 0, AT91RM92_BASE + AT91RM92_MCI_BASE, AT91RM92_MCI_SIZE, AT91RM92_IRQ_MCI ==== //depot/projects/arm/src/sys/arm/at91/files.at91#11 (text) ==== @@ -4,6 +4,7 @@ arm/at91/at91.c standard arm/at91/at91_st.c standard arm/at91/at91_mci.c optional at91_mci +arm/at91/at91_qdmmc.c optional at91_qdmmc arm/at91/at91_pio.c standard arm/at91/at91_pmc.c standard arm/at91/at91_rtc.c standard From owner-p4-projects@FreeBSD.ORG Sat Sep 2 00:41:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6908716A4E0; Sat, 2 Sep 2006 00:41:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7A2B16A4DE for ; Sat, 2 Sep 2006 00:41:37 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 73B3943D45 for ; Sat, 2 Sep 2006 00:41:37 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k820fbIw026518 for ; Sat, 2 Sep 2006 00:41:37 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k820fYTe026515 for perforce@freebsd.org; Sat, 2 Sep 2006 00:41:34 GMT (envelope-from gnn@neville-neil.com) Date: Sat, 2 Sep 2006 00:41:34 GMT Message-Id: <200609020041.k820fYTe026515@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 105494 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 00:41:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=105494 Change 105494 by gnn@gnn_devbox_fast_ipsec on 2006/09/02 00:41:21 Integrate from HEAD Affected files ... .. //depot/projects/gnn_fast_ipsec/src/sys/Makefile#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/busdma_machdep.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_io.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_reg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_var.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/uart_cpu_sa1110.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/uart_dev_sa1110.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/cam_ccb.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/cam_periph.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files#9 edit .. //depot/projects/gnn_fast_ipsec/src/sys/conf/kmod.mk#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bfe/if_bfe.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bfe/if_bfereg.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bktr/bktr_os.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/dcons/dcons_os.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/digi/digi.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/hifn/hifn7751.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/hme/if_hme.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_freebsd.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_freebsd.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_tpublic.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/le/if_le_cbus.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pccbb/pccbb.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pccbb/pccbb_pci.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/pci/fixup_pci.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/re/if_re.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/safe/safe.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sio/sio.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/midi.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/midi.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/midiq.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/mpu401.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/mpu401.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/mpu_if.m#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/mpufoi_if.m#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/sequencer.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/sequencer.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/midi/synth_if.m#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/syscons/apm/apm_saver.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/syscons/syscons.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart_dbg.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart_dev_ns8250.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/uart/uart_tty.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ubsec/ubsec.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ehci_pci.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ehcivar.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/if_axe.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/if_axereg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ohci.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ohci_pci.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ohcireg.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/ohcivar.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/sl811hs.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/sl811hsvar.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uhci.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uhcivar.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usb.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usb_mem.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usbdi.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usbdivar.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/zs/zs.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Dependencies#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-cam#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-crypto#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-dev_pci#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-dev_sound#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-dev_usb#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-geom#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-i4b#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-kern#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-libkern#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-linux#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-net80211#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-netgraph#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-netinet#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-netinet6#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-netipsec#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-opencrypto#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Doxyfile-vm#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/README#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/common-Doxyfile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/doc/subsys/notreviewed.dox#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/ntfs/ntfs_vfsops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/nullfs/null_vfsops.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/nwfs/nwfs_io.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/procfs/procfs.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/udf/udf_vfsops.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gdb/gdb.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gdb/gdb_cons.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gdb/gdb_main.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gdb/gdb_packet.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/geom_bsd.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/bios/apm.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/bios/apm.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/ptrace_machdep.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/include/npx.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/isa/npx.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia64/ssc.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/isofs/cd9660/cd9660_vfsops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_exec.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_exit.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_linker.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_disk.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_stack.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_taskqueue.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/tty_cons.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_mount.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_subr.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vnode_if.src#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/Makefile#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/mfi/Makefile#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/sound/driver/cmi/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/sound/driver/emu10k1/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/sound/sound/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/bpf_filter.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_fw.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfs4client/nfs4_vnops.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_node.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_socket.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/opencrypto/crypto.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/opencrypto/cryptodev.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/opencrypto/cryptodev.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pc98/cbus/sio.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/cons.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/kernel.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/queue.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/tools/vnode_if.awk#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ufs/ffs/ffs_vfsops.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_extern.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_glue.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_map.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_map.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_meter.c#2 integrate Differences ... ==== //depot/projects/gnn_fast_ipsec/src/sys/Makefile#4 (text+ko) ==== @@ -4,17 +4,15 @@ # The boot loader .if ${MK_BOOT} != "no" -.if ${MACHINE_ARCH} != "arm" SUBDIR= boot .endif -.endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= coda compat conf contrib crypto ddb dev fs gnu i4b isa \ - isofs kern libkern modules net netatalk netatm netgraph \ - netinet netinet6 netipx netkey netnatm netncp netsmb nfs \ - nfsclient nfs4client rpc pccard pci posix4 sys ufs vm \ - ${ARCHDIR} +CSCOPEDIRS= coda compat conf contrib crypto ddb dev fs geom gnu i4b isa \ + isofs kern libkern modules net net80211 netatalk netatm \ + netgraph netinet netinet6 netipx netkey netnatm netncp \ + netsmb nfs nfsclient nfs4client rpc pccard pci posix4 sys \ + ufs vm ${ARCHDIR} ARCHDIR ?= ${MACHINE} ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/busdma_machdep.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.74 2006/05/03 04:14:17 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.77 2006/06/01 04:49:29 silby Exp $"); #include #include @@ -492,7 +492,16 @@ } } + /* + * XXX: + * (dmat->alignment < dmat->maxsize) is just a quick hack; the exact + * alignment guarantees of malloc need to be nailed down, and the + * code below should be rewritten to take that into account. + * + * In the meantime, we'll warn the user if malloc gets it wrong. + */ if ((dmat->maxsize <= PAGE_SIZE) && + (dmat->alignment < dmat->maxsize) && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) { *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { @@ -510,6 +519,8 @@ CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); + } else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) { + printf("bus_dmamem_alloc failed to align memory properly."); } CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); @@ -529,8 +540,9 @@ */ if (map != NULL) panic("bus_dmamem_free: Invalid map freed\n"); - if ((dmat->maxsize <= PAGE_SIZE) - && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) + if ((dmat->maxsize <= PAGE_SIZE) && + (dmat->alignment < dmat->maxsize) && + dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) free(vaddr, M_DEVBUF); else { contigfree(vaddr, dmat->maxsize, M_DEVBUF); ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/assabet_machdep.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.10 2005/10/03 14:15:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.18 2006/08/08 20:59:38 cognet Exp $"); #include "opt_md.h" @@ -93,6 +93,8 @@ #include #include +#include + #define MDROOT_ADDR 0xd0400000 #define KERNEL_PT_VMEM 0 /* Page table for mapping video memory */ @@ -102,7 +104,7 @@ #define KERNEL_PT_KERNEL 1 /* Page table for mapping kernel */ #define KERNEL_PT_L1 4 /* Page table for mapping l1pt */ #define KERNEL_PT_VMDATA 5 /* Page tables for mapping kernel VM */ -#define KERNEL_PT_VMDATA_NUM 4 /* start with 16MB of KVM */ +#define KERNEL_PT_VMDATA_NUM 7 /* start with 16MB of KVM */ #define NUM_KERNEL_PTS (KERNEL_PT_VMDATA + KERNEL_PT_VMDATA_NUM) /* Define various stack sizes in pages */ @@ -113,7 +115,7 @@ #else #define UND_STACK_SIZE 1 #endif -#define KERNEL_VM_BASE (KERNBASE + 0x00c00000) +#define KERNEL_VM_BASE (KERNBASE + 0x00100000) #define KERNEL_VM_SIZE 0x05000000 extern u_int data_abort_handler_address; @@ -124,7 +126,7 @@ extern void *_end; -int got_mmu = 0; +extern vm_offset_t sa1110_uart_vaddr; extern vm_offset_t sa1_cache_clean_addr; @@ -151,9 +153,37 @@ struct pv_addr undstack; struct pv_addr abtstack; struct pv_addr kernelstack; -void enable_mmu(vm_offset_t); static struct trapframe proc0_tf; +/* Static device mappings. */ +static const struct pmap_devmap assabet_devmap[] = { + /* + * Map the on-board devices VA == PA so that we can access them + * with the MMU on or off. + */ + { + SACOM1_VBASE, + SACOM1_BASE, + SACOM1_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, + { + SAIPIC_BASE, + SAIPIC_BASE, + SAIPIC_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, + { + 0, + 0, + 0, + 0, + 0, + } +}; + struct arm32_dma_range * bus_dma_get_range(void) { @@ -191,6 +221,8 @@ vm_size_t pt_size; int i = 0; uint32_t fake_preload[35]; + uint32_t memsize = 32 * 1024 * 1024; + sa1110_uart_vaddr = SACOM1_VBASE; boothowto = RB_VERBOSE | RB_SINGLE; cninit(); @@ -227,7 +259,7 @@ fake_preload[i] = 0; preload_metadata = (void *)fake_preload; - physmem =( 16 * 1024 * 1024) / PAGE_SIZE; + physmem = memsize / PAGE_SIZE; pc = &__pcpu; pcpu_init(pc, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); @@ -256,9 +288,18 @@ valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); valloc_pages(md_bla, L2_TABLE_SIZE / PAGE_SIZE); alloc_pages(sa1_cache_clean_addr, CPU_SA110_CACHE_CLEAN_SIZE / PAGE_SIZE); + for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - valloc_pages(kernel_pt_table[loop], - L2_TABLE_SIZE / PAGE_SIZE); + if (!(loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { + valloc_pages(kernel_pt_table[loop], + L2_TABLE_SIZE / PAGE_SIZE); + } else { + kernel_pt_table[loop].pv_pa = freemempos + + (loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) * + L2_TABLE_SIZE_REAL; + kernel_pt_table[loop].pv_va = + kernel_pt_table[loop].pv_pa; + } } valloc_pages(systempage, 1); @@ -305,10 +346,10 @@ pmap_link_l2pt(l1pagetable, MDROOT_ADDR, &md_bla); for (loop = 0; loop < KERNEL_PT_VMDATA_NUM; ++loop) - pmap_link_l2pt(l1pagetable, KERNEL_VM_BASE + loop * 0x00400000, + pmap_link_l2pt(l1pagetable, KERNEL_VM_BASE + loop * 0x00100000, &kernel_pt_table[KERNEL_PT_VMDATA + loop]); pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, - (uint32_t)&end - KERNBASE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + ((uint32_t)&end - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); @@ -334,11 +375,8 @@ /* Map the vector page. */ pmap_map_entry(l1pagetable, vector_page, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - /* Map SACOM3. */ - pmap_map_entry(l1pagetable, 0xd000d000, 0x80010000, - VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE); - pmap_map_entry(l1pagetable, 0x90050000, 0x90050000, - VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE); + /* Map the statically mapped devices. */ + pmap_devmap_bootstrap(l1pagetable, assabet_devmap); pmap_map_chunk(l1pagetable, sa1_cache_clean_addr, 0xf0000000, CPU_SA110_CACHE_CLEAN_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); @@ -378,7 +416,7 @@ * After booting there are no gross reloations of the kernel thus * this problem will not occur after initarm(). */ -/* cpu_idcache_wbinv_all();*/ + cpu_idcache_wbinv_all(); bootverbose = 1; @@ -396,28 +434,24 @@ /* Enable MMU, I-cache, D-cache, write buffer. */ cpufunc_control(0x337f, 0x107d); - got_mmu = 1; arm_vector_init(ARM_VECTORS_LOW, ARM_VEC_ALL); pmap_curmaxkvaddr = freemempos + KERNEL_PT_VMDATA_NUM * 0x400000; - pmap_bootstrap(freemempos, - 0xd0000000, &kernel_l1pt); - - - mutex_init(); - - dump_avail[0] = phys_avail[0] = round_page(virtual_avail); dump_avail[1] = phys_avail[1] = 0xc0000000 + 0x02000000 - 1; dump_avail[2] = phys_avail[2] = 0; dump_avail[3] = phys_avail[3] = 0; - + + mutex_init(); + pmap_bootstrap(freemempos, + 0xd0000000, &kernel_l1pt); + /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); kdb_init(); - avail_end = 0xc0000000 + 0x02000000 - 1; + avail_end = 0xc0000000 + memsize - 1; return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); } ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_io.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.7 2006/05/18 22:03:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.8 2006/05/23 12:14:14 cognet Exp $"); #include #include #include @@ -146,6 +146,13 @@ u_long startpa, endpa, pa; vm_offset_t va; pt_entry_t *pte; + const struct pmap_devmap *pd; + + if ((pd = pmap_devmap_find_pa(bpa, size)) != NULL) { + /* Device was statically mapped. */ + *bshp = pd->pd_va + (bpa - pd->pd_pa); + return 0; + } startpa = trunc_page(bpa); endpa = round_page(bpa + size); ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_reg.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/sa11x0/sa11x0_reg.h,v 1.1 2004/05/14 11:46:45 cognet Exp $ + * $FreeBSD: src/sys/arm/sa11x0/sa11x0_reg.h,v 1.3 2006/05/23 12:14:14 cognet Exp $ * */ @@ -48,9 +48,11 @@ #define SARCR_BASE 0x90030000 /* Reset Controller */ #define SAGPIO_BASE 0x90040000 /* GPIO */ #define SAIPIC_BASE 0x90050000 /* Interrupt Controller */ +#define SAIPIC_SIZE 0x24 #define SAPPC_BASE 0x90060000 /* Peripheral Pin Controller */ #define SAUDC_BASE 0x80000000 /* USB Device Controller*/ #define SACOM1_BASE 0x80010000 /* GPCLK/UART 1 */ +#define SACOM1_SIZE 0x24 #define SACOM3_HW_BASE 0x80050000 /* UART 3 */ #define SAMCP_BASE 0x80060000 /* MCP Controller */ #define SASSP_BASE 0x80070000 /* Synchronous serial port */ @@ -59,7 +61,7 @@ #define SALCD_BASE 0xB0100000 /* LCD */ /* Register base virtual addresses mapped by initarm() */ -#define SACOM3_BASE 0xd000d000 +#define SACOM1_VBASE 0xd000d000 /* Interrupt controller registers */ #define SAIPIC_NPORTS 9 ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/sa11x0_var.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/sa11x0/sa11x0_var.h,v 1.2 2005/09/25 21:06:50 cognet Exp $ + * $FreeBSD: src/sys/arm/sa11x0/sa11x0_var.h,v 1.3 2006/05/29 19:32:32 cognet Exp $ * */ @@ -64,15 +64,6 @@ typedef void *sa11x0_chipset_tag_t; extern struct bus_space sa11x0_bs_tag; -struct sa11x0_attach_args { - sa11x0_chipset_tag_t sa_sc; - bus_space_tag_t sa_iot; /* Bus tag */ - bus_addr_t sa_addr; /* i/o address */ - bus_size_t sa_size; - - int sa_intr; - int sa_gpio; -}; void *sa11x0_intr_establish(sa11x0_chipset_tag_t, int, int, int, int (*)(void *), void *); ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/uart_cpu_sa1110.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_cpu_sa1110.c,v 1.3 2005/01/05 21:58:48 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_cpu_sa1110.c,v 1.6 2006/06/21 10:56:59 cognet Exp $"); #include #include @@ -36,6 +36,7 @@ #include #include +#include #include bus_space_tag_t uart_bus_space_io; @@ -43,21 +44,21 @@ extern struct uart_ops uart_sa1110_ops; +vm_offset_t sa1110_uart_vaddr; + int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0); } -extern int got_mmu; - int uart_cpu_getdev(int devtype, struct uart_devinfo *di) { di->ops = uart_sa1110_ops; di->bas.chan = 0; di->bas.bst = &sa11x0_bs_tag; - di->bas.bsh = 0x80010000; + di->bas.bsh = sa1110_uart_vaddr; di->bas.regshft = 0; di->bas.rclk = 0; di->baudrate = 9600; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/sa11x0/uart_dev_sa1110.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.4 2006/05/18 22:02:33 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.6 2006/06/07 11:28:17 cognet Exp $"); #include #include @@ -38,14 +38,13 @@ #include #include #include +#include #include #include "uart_if.h" #define DEFAULT_RCLK 3686400 -extern int got_mmu; - /* * Low-level UART interface. */ @@ -56,8 +55,6 @@ static int sa1110_poll(struct uart_bas *bas); static int sa1110_getc(struct uart_bas *bas, struct mtx *mtx); -int did_mmu = 0; - extern SLIST_HEAD(uart_devinfo_list, uart_devinfo) uart_sysdevs; struct uart_ops uart_sa1110_ops = { @@ -76,22 +73,11 @@ } static void -sa1110_addr_change(struct uart_bas *bas) -{ - - bas->bsh = 0xd000d000; - did_mmu = 1; -} - -static void sa1110_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, int parity) { int brd; - /* XXX: sigh. */ - if (!did_mmu && got_mmu) - sa1110_addr_change(bas); if (bas->rclk == 0) bas->rclk = DEFAULT_RCLK; while (uart_getreg(bas, SACOM_SR1) & SR1_TBY); @@ -111,10 +97,6 @@ static void sa1110_putc(struct uart_bas *bas, int c) { - /* XXX: sigh. */ - if (!did_mmu && got_mmu) - sa1110_addr_change(bas); - while (!uart_getreg(bas, SACOM_SR1) & SR1_TNF); uart_setreg(bas, SACOM_DR, c); } @@ -122,10 +104,6 @@ static int sa1110_poll(struct uart_bas *bas) { - /* XXX: sigh. */ - if (!did_mmu && got_mmu) - sa1110_addr_change(bas); - if (!(uart_getreg(bas, SACOM_SR1) & SR1_RNE)) return (-1); return (uart_getreg(bas, SACOM_DR) & 0xff); @@ -135,9 +113,6 @@ sa1110_getc(struct uart_bas *bas, struct mtx *mtx) { int c; - /* XXX: sigh. */ - if (!did_mmu && got_mmu) - sa1110_addr_change(bas); while (!(uart_getreg(bas, SACOM_SR1) & SR1_RNE)) { u_int32_t sr0; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.18 2005/12/21 15:01:49 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.23 2006/08/24 23:51:28 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -147,7 +147,6 @@ struct pv_addr kernelstack; struct pv_addr minidataclean; -void enable_mmu(vm_offset_t); static struct trapframe proc0_tf; #define IQ80321_OBIO_BASE 0xfe800000UL @@ -211,7 +210,7 @@ #ifdef DDB vm_offset_t zstart = 0, zend = 0; #endif - int i = 0; + int i; uint32_t fake_preload[35]; uint32_t memsize, memstart; @@ -283,7 +282,6 @@ kernel_pt_table[loop].pv_va = kernel_pt_table[loop].pv_pa + 0x20000000; } - i++; } freemem_pt = freemempos; freemempos = 0xa0100000; @@ -444,6 +442,15 @@ pmap_curmaxkvaddr = afterkern + PAGE_SIZE; + /* + * ARM_USE_SMALL_ALLOC uses dump_avail, so it must be filled before + * calling pmap_bootstrap. + */ + dump_avail[0] = 0xa0000000; + dump_avail[1] = 0xa0000000 + memsize; + dump_avail[2] = 0; + dump_avail[3] = 0; + pmap_bootstrap(pmap_curmaxkvaddr, 0xd0000000, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; @@ -462,10 +469,6 @@ phys_avail[i++] = trunc_page(0xa0000000 + memsize - 1); phys_avail[i++] = 0; phys_avail[i] = 0; - dump_avail[0] = 0xa0000000; - dump_avail[1] = 0xa0000000 + memsize; - dump_avail[2] = 0; - dump_avail[3] = 0; /* Do basic tuning, hz etc */ init_param1(); @@ -475,3 +478,60 @@ return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); } + + +extern int +machdep_pci_route_interrupt(device_t pcib, device_t dev, int pin) +{ + int bus; + int device; + int func; + uint32_t busno; + struct i80321_pci_softc *sc = device_get_softc(pcib); + bus = pci_get_bus(dev); + device = pci_get_slot(dev); + func = pci_get_function(dev); + busno = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, ATU_PCIXSR); + busno = PCIXSR_BUSNO(busno); + if (busno == 0xff) + busno = 0; + if (bus != busno) + goto no_mapping; + switch (device) { + /* IQ31244 PCI */ + case 1: /* PCIX-PCIX bridge */ + /* + * The S-ATA chips are behind the bridge, and all of + * the S-ATA interrupts are wired together. + */ + return (ICU_INT_XINT(2)); + case 2: /* PCI slot */ + /* All pins are wired together. */ + return (ICU_INT_XINT(3)); + case 3: /* i82546 dual Gig-E */ + if (pin == 1 || pin == 2) + return (ICU_INT_XINT(0)); + goto no_mapping; + /* IQ80321 PCI */ + case 4: /* i82544 Gig-E */ + case 8: /* + * Apparently you can set the device for the ethernet adapter + * to 8 with a jumper, so handle that as well + */ + if (pin == 1) + return (ICU_INT_XINT(0)); + goto no_mapping; + case 6: /* S-PCI-X slot */ + if (pin == 1) + return (ICU_INT_XINT(2)); + if (pin == 2) + return (ICU_INT_XINT(3)); + goto no_mapping; + default: +no_mapping: + printf("No mapping for %d/%d/%d/%c\n", bus, device, func, pin); + + } + return (0); + +} ==== //depot/projects/gnn_fast_ipsec/src/sys/cam/cam_ccb.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.29 2006/01/20 19:21:38 mjacob Exp $ + * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.32 2006/06/05 22:22:14 mjacob Exp $ */ #ifndef _CAM_CAM_CCB_H @@ -514,7 +514,8 @@ PIM_NOREMOVE = 0x40, /* Removeable devices not included in scan */ PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ - PIM_NO_6_BYTE = 0x08 /* Do not send 6-byte commands */ + PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */ + PIM_SEQSCAN = 0x04 /* Do bus scans sequentially, not in parallel */ } pi_miscflag; #ifdef CAM_NEW_TRAN_CODE ==== //depot/projects/gnn_fast_ipsec/src/sys/cam/cam_periph.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.61 2006/01/08 20:04:55 iedowse Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.62 2006/05/24 15:22:21 mjacob Exp $"); #include #include @@ -673,6 +673,16 @@ mapinfo->num_bufs_used++; } + /* + * Now that we've gotten this far, change ownership to the kernel + * of the buffers so that we don't run afoul of returning to user + * space with locks (on the buffer) held. + */ + for (i = 0; i < numbufs; i++) { + BUF_KERNPROC(mapinfo->bp[i]); + } + + return(0); } ==== //depot/projects/gnn_fast_ipsec/src/sys/cam/scsi/scsi_target.c#2 (text+ko) ==== @@ -28,7 +28,8 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.68 2005/08/08 19:55:30 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.70 2006/05/24 15:26:07 mjacob Exp $"); + #include #include @@ -40,6 +41,7 @@ #include #include #include +#include #include #include @@ -89,7 +91,6 @@ targ_state state; struct selinfo read_select; struct devstat device_stats; - struct mtx mtx; }; static d_open_t targopen; @@ -157,10 +158,6 @@ }; PERIPHDRIVER_DECLARE(targ, targdriver); -static struct mtx targ_mtx; -#define TARG_LOCK(softc) mtx_lock(&(softc)->mtx) -#define TARG_UNLOCK(softc) mtx_unlock(&(softc)->mtx) - static MALLOC_DEFINE(M_TARG, "TARG", "TARG data"); /* Create softc and initialize it. Only one proc can open each targ device. */ @@ -169,15 +166,12 @@ { struct targ_softc *softc; - mtx_lock(&targ_mtx); if (dev->si_drv1 != 0) { - mtx_unlock(&targ_mtx); return (EBUSY); } /* Mark device busy before any potentially blocking operations */ dev->si_drv1 = (void *)~0; - mtx_unlock(&targ_mtx); /* Create the targ device, allocate its softc, initialize it */ if ((dev->si_flags & SI_NAMED) == 0) { @@ -190,13 +184,12 @@ softc->state = TARG_STATE_OPENED; softc->periph = NULL; softc->path = NULL; - mtx_init(&softc->mtx, devtoname(dev), "targ cdev", MTX_DEF); TAILQ_INIT(&softc->pending_ccb_queue); TAILQ_INIT(&softc->work_queue); TAILQ_INIT(&softc->abort_queue); TAILQ_INIT(&softc->user_ccb_queue); - knlist_init(&softc->read_select.si_note, &softc->mtx, NULL, NULL, NULL); + knlist_init(&softc->read_select.si_note, NULL, NULL, NULL, NULL); return (0); } @@ -209,22 +202,15 @@ int error; softc = (struct targ_softc *)dev->si_drv1; - TARG_LOCK(softc); error = targdisable(softc); if (error == CAM_REQ_CMP) { dev->si_drv1 = 0; - mtx_lock(&targ_mtx); if (softc->periph != NULL) { cam_periph_invalidate(softc->periph); softc->periph = NULL; } - mtx_unlock(&targ_mtx); - TARG_UNLOCK(softc); - mtx_destroy(&softc->mtx); destroy_dev(dev); FREE(softc, M_TARG); - } else { - TARG_UNLOCK(softc); } return (error); } @@ -253,17 +239,13 @@ printf("Couldn't create path, status %#x\n", status); break; } - TARG_LOCK(softc); status = targenable(softc, path, new_lun->grp6_len, new_lun->grp7_len); - TARG_UNLOCK(softc); xpt_free_path(path); break; } case TARGIOCDISABLE: - TARG_LOCK(softc); status = targdisable(softc); - TARG_UNLOCK(softc); break; case TARGIOCDEBUG: { @@ -280,14 +262,11 @@ cdbg.ccb_h.cbfcnp = targdone; /* If no periph available, disallow debugging changes */ - TARG_LOCK(softc); if ((softc->state & TARG_STATE_LUN_ENABLED) == 0) { status = CAM_DEV_NOT_THERE; - TARG_UNLOCK(softc); break; } xpt_action((union ccb *)&cdbg); - TARG_UNLOCK(softc); status = cdbg.ccb_h.status & CAM_STATUS_MASK; #else status = CAM_FUNC_NOTAVAIL; @@ -315,7 +294,6 @@ revents = poll_events & (POLLOUT | POLLWRNORM); if ((poll_events & (POLLIN | POLLRDNORM)) != 0) { /* Poll for read() depends on user and abort queues. */ - TARG_LOCK(softc); if (!TAILQ_EMPTY(&softc->user_ccb_queue) || !TAILQ_EMPTY(&softc->abort_queue)) { revents |= poll_events & (POLLIN | POLLRDNORM); @@ -323,7 +301,6 @@ /* Only sleep if the user didn't poll for write. */ if (revents == 0) selrecord(td, &softc->read_select); - TARG_UNLOCK(softc); } return (revents); @@ -415,7 +392,6 @@ } /* Destroy any periph on our path if it is disabled */ - mtx_lock(&targ_mtx); periph = cam_periph_find(path, "targ"); if (periph != NULL) { struct targ_softc *del_softc; @@ -427,7 +403,6 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 2 02:58:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E277616A4E1; Sat, 2 Sep 2006 02:58:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE6CB16A4DD for ; Sat, 2 Sep 2006 02:58:33 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 519A643D46 for ; Sat, 2 Sep 2006 02:58:33 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k822wXmI043148 for ; Sat, 2 Sep 2006 02:58:33 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k822wWIX043145 for perforce@freebsd.org; Sat, 2 Sep 2006 02:58:32 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 2 Sep 2006 02:58:32 GMT Message-Id: <200609020258.k822wWIX043145@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 105499 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 02:58:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=105499 Change 105499 by kmacy@kmacy_storage:sun4v_work_stable on 2006/09/02 02:58:20 add machine description support to the virtual nexus Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.sun4v#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/cddl/mdesc.h#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/cddl/mdesc_impl.h#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/mdesc_bus.h#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/mdesc_bus_subr.h#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/pcpu.h#4 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/trap.h#2 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_bus_if.m#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_bus_subr.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_diff.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_findname.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_findnodeprop.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_fini.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_getbinsize.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_getgen.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_getpropdata.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_getpropstr.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_getpropval.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_init.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_init_intern.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_nodecount.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_rootnode.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_scandag.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/mdesc/mdesc_subr.c#1 add .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/exception.S#5 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/hvcons.c#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/machdep.c#5 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/vnex.c#3 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.sun4v#3 (text+ko) ==== @@ -98,3 +98,18 @@ sun4v/sun4v/uio_machdep.c standard sun4v/sun4v/vm_machdep.c standard sun4v/sun4v/vnex.c standard + + +sun4v/mdesc/mdesc_bus_if.m standard +sun4v/mdesc/mdesc_scandag.c standard +sun4v/mdesc/mdesc_init.c standard +sun4v/mdesc/mdesc_init_intern.c standard +sun4v/mdesc/mdesc_subr.c standard +sun4v/mdesc/mdesc_bus_subr.c standard +sun4v/mdesc/mdesc_getpropstr.c standard +sun4v/mdesc/mdesc_getpropval.c standard +sun4v/mdesc/mdesc_rootnode.c standard +sun4v/mdesc/mdesc_findname.c standard +sun4v/mdesc/mdesc_nodecount.c standard +sun4v/mdesc/mdesc_findnodeprop.c standard + ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/pcpu.h#4 (text+ko) ==== @@ -77,8 +77,10 @@ u_int pc_kwbuf_full; \ struct rwindow pc_tsbwbuf[2]; \ uint64_t pc_caller; \ + uint32_t pc_tl; \ + uint32_t pc_trapid; \ uint16_t pc_cpulist[MAXCPU]; \ - uint64_t pad[7]; + uint64_t pad[6]; /* XXX SUN4V_FIXME - as we access the *_ra and *_size fields in quick * succession we _really_ want them to be L1 cache line size aligned ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/trap.h#2 (text+ko) ==== @@ -119,6 +119,12 @@ #define PTL1_BAD_GL 15 +#define TL_CPU_MONDO 0x1 +#define TL_DEV_MONDO 0x2 +#define TL_TSB_MISS 0x3 +#define TL_TL0_TRAP 0x4 +#define TL_SET_ACKMASK 0x5 + /* * These defines are used by the TL1 tlb miss handlers to calculate * the pc to jump to in the case the entry was not found in the TSB. ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/exception.S#5 (text+ko) ==== @@ -1379,6 +1379,23 @@ wrpr %g0, %g5, %cleanwin ldx [%g6 + PCB_KSTACK], %g6 sub %g6, TF_SIZEOF, %g6 +#ifdef DEBUG_KSTACK + mov %o0, %g5 + mov %o3, %l0 + mov %o4, %l1 + mov %o5, %l2 + mov %o6, %l3 + mov %o7, %l4 + mov 0x10, %o0 + mov %g6, %o1 + ta TTRACE_ADDENTRY + mov %g5, %o0 + mov %l0, %o3 + mov %l1, %o4 + mov %l2, %o5 + mov %l3, %o6 + mov %l4, %o7 +#endif save %g6, 0, %sp rdpr %canrestore, %l0 @@ -1433,19 +1450,16 @@ bge,pt %xcc, 0f nop call panic -! MAGIC_EXIT 0: #endif wrpr %g0, %g4, %pil 1: wrpr %g0, %g6, %tnpc - wrpr %g0, 0, %gl stx %g7, [%l7 + TF_G7] ! save g7 before it can be overwritten by PCPU when returning from an interrupt wrpr %g0, 1, %gl - - rdpr %cwp, %l0 + rdpr %cwp, %l0 set TSTATE_KERNEL, %l1 wrpr %l1, %l0, %tstate done @@ -1475,6 +1489,7 @@ mov 1, lock_bit ; \ add addr, 8, addr ; \ sllx lock_bit, 56, lock_bit ; \ + stxa %o7, [PCPU(CALLER)]%asi ; /* XXX DEBUG */\ label1: ; \ ldxa [addr]%asi, oldval; \ or oldval, lock_bit, newval; \ @@ -1515,7 +1530,7 @@ label2: ENTRY(hash_bucket_lock) - wr %g0, ASI_N, %asi + wr %g0, ASI_N, %asi rdpr %pstate, %o1 and %o1, PSTATE_INTR_DISABLE, %o2 wrpr %o2, %pstate @@ -1588,7 +1603,6 @@ add PCPU_REG, %g1, %g1 SAVE_LOCALS_ASI(%g1) mov 0, %g1 ! cansave is 0 - ! %g1 == %cansave ! %g2 == hash scratch value ! %g3 == TWDW ASI @@ -1907,4 +1921,4 @@ sllx %g7, TRAP_CTX_SHIFT, %g7 or %g7, %g5, %g5 done -END(tl1_trap) +END(tl1_trap) ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/hvcons.c#3 (text+ko) ==== @@ -37,9 +37,10 @@ #include #include -#include -#include -#include +#include +#include + +#include "mdesc_bus_if.h" #include "opt_simulator.h" @@ -158,7 +159,8 @@ static void hvcnprobe(struct consdev *cp) { - phandle_t node; + +#if 0 char name[64]; node = OF_peer(0); @@ -179,12 +181,9 @@ if (!strcmp(name, "console")) break; } - done: - if (node != 0) - cp->cn_pri = CN_NORMAL; - else - cp->cn_pri = CN_DEAD; +#endif + cp->cn_pri = CN_NORMAL; } @@ -329,7 +328,7 @@ hvcn_probe(device_t dev) { - if (strcmp(ofw_bus_get_name(dev), "console")) + if (strcmp(mdesc_bus_get_name(dev), "console")) return (ENXIO); device_set_desc(dev, "sun4v virtual console"); @@ -344,7 +343,6 @@ struct cdev *cdev; char output[32]; - phandle_t options; int error, rid; /* belongs in attach - but attach is getting called multiple times @@ -354,13 +352,13 @@ if (hvcn_consdev.cn_pri == CN_DEAD || hvcn_consdev.cn_name[0] == '\0') return (ENXIO); - +#if 0 if ((options = OF_finddevice("/options")) == -1 || OF_getprop(options, "output-device", output, sizeof(output)) == -1) return (ENXIO); - +#endif cdev = make_dev(&hvcn_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "%s", output); make_dev_alias(cdev, "hvcn"); ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/machdep.c#5 (text+ko) ==== @@ -110,6 +110,9 @@ #include #include +/* XXX move this to a header */ +extern void mdesc_init(void); + typedef int ofw_vec_t(void *); #ifdef DDB @@ -443,6 +446,8 @@ msgbufinit(msgbufp, MSGBUF_SIZE); mutex_init(); + + mdesc_init(); OF_getprop(root, "name", sparc64_model, sizeof(sparc64_model) - 1); ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/vnex.c#3 (text+ko) ==== @@ -44,16 +44,19 @@ #include #include #include -#include #include #include +#include +#include +#include + #include + #define SUN4V_REG_SPEC2CFG_HDL(x) ((x >> 32) & ~(0xfull << 28)) static device_probe_t vnex_probe; -static device_probe_t channex_probe; static device_attach_t vnex_attach; static bus_print_child_t vnex_print_child; static bus_add_child_t vnex_add_child; @@ -61,14 +64,14 @@ static bus_setup_intr_t vnex_setup_intr; static bus_teardown_intr_t vnex_teardown_intr; static bus_get_resource_list_t vnex_get_resource_list; -static ofw_bus_get_devinfo_t vnex_get_devinfo; +static mdesc_bus_get_devinfo_t vnex_get_devinfo; -static struct vnex_devinfo * vnex_setup_dinfo(device_t, phandle_t); +static struct vnex_devinfo * vnex_setup_dinfo(device_t, mde_cookie_t node); static void vnex_destroy_dinfo(struct vnex_devinfo *); static int vnex_print_res(struct vnex_devinfo *); struct vnex_devinfo { - struct ofw_bus_devinfo vndi_obdinfo; + struct mdesc_bus_devinfo vndi_mbdinfo; struct resource_list vndi_rl; /* Some common properties. */ @@ -81,62 +84,6 @@ struct rman sc_mem_rman; }; -static device_method_t channex_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, channex_probe), - DEVMETHOD(device_attach, vnex_attach), - DEVMETHOD(device_detach, bus_generic_detach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), - - /* Bus interface */ - DEVMETHOD(bus_print_child, vnex_print_child), - DEVMETHOD(bus_probe_nomatch, vnex_probe_nomatch), - DEVMETHOD(bus_read_ivar, bus_generic_read_ivar), - DEVMETHOD(bus_write_ivar, bus_generic_write_ivar), - DEVMETHOD(bus_add_child, vnex_add_child), - DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_release_resource, bus_generic_release_resource), - DEVMETHOD(bus_setup_intr, vnex_setup_intr), - DEVMETHOD(bus_teardown_intr, vnex_teardown_intr), - DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), - DEVMETHOD(bus_get_resource_list, vnex_get_resource_list), - - /* ofw_bus interface */ - DEVMETHOD(ofw_bus_get_devinfo, vnex_get_devinfo), - DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), - DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), - DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), - DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), - DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), - - { 0, 0 } -}; - -static driver_t channex_driver = { - "channex", - channex_methods, - sizeof(struct vnex_softc), -}; - - -static devclass_t channex_devclass; -DRIVER_MODULE(channex, vnex, channex_driver, channex_devclass, 0, 0); - - -static int -channex_probe(device_t dev) -{ - if (strcmp(ofw_bus_get_name(dev), "channel-devices")) - return (ENXIO); - - device_set_desc(dev, "virtual channel devices"); - return (0); -} - static device_method_t vnex_methods[] = { /* Device interface */ DEVMETHOD(device_probe, vnex_probe), @@ -162,12 +109,11 @@ DEVMETHOD(bus_get_resource_list, vnex_get_resource_list), /* ofw_bus interface */ - DEVMETHOD(ofw_bus_get_devinfo, vnex_get_devinfo), - DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), - DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), - DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), - DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), - DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), + /* mdesc_bus interface */ + DEVMETHOD(mdesc_bus_get_devinfo, vnex_get_devinfo), + DEVMETHOD(mdesc_bus_get_compat, mdesc_bus_gen_get_compat), + DEVMETHOD(mdesc_bus_get_name, mdesc_bus_gen_get_name), + DEVMETHOD(mdesc_bus_get_type, mdesc_bus_gen_get_type), { 0, 0 } }; @@ -198,10 +144,14 @@ static int vnex_attach(device_t dev) { - struct vnex_devinfo *vndi; - struct vnex_softc *sc; - device_t cdev; - phandle_t node; + struct vnex_devinfo *vndi; + struct vnex_softc *sc; + device_t cdev; + phandle_t node; + mde_cookie_t rootnode, *listp = NULL; + int i, listsz, num_nodes, num_devices; + md_t *mdp; + node = ofw_bus_get_node(dev); if (node == -1) @@ -218,17 +168,29 @@ rman_manage_region(&sc->sc_mem_rman, 0ULL, ~0ULL) != 0) panic("%s: failed to set up rmans.", __func__); + if ((mdp = md_get()) == NULL) + return (ENXIO); + + num_nodes = md_node_count(mdp); + listsz = num_nodes * sizeof(mde_cookie_t); + listp = (mde_cookie_t *)malloc(listsz, M_DEVBUF, M_WAITOK); + rootnode = md_root_node(mdp); + /* - * Now walk the OFW tree and attach top-level devices. + * scan the machine description for virtual devices */ - for (node = OF_child(node); node > 0; node = OF_peer(node)) { - if ((vndi = vnex_setup_dinfo(dev, node)) == NULL) + num_devices = md_scan_dag(mdp, rootnode, + md_find_name(mdp, "virtual-device"), + md_find_name(mdp, "fwd"), listp); + + for (i = 0; i < num_devices; i++) { + if ((vndi = vnex_setup_dinfo(dev, listp[i])) == NULL) continue; cdev = device_add_child(dev, NULL, -1); if (cdev == NULL) { device_printf(dev, "<%s>: device_add_child failed\n", - vndi->vndi_obdinfo.obd_name); + vndi->vndi_mbdinfo.mbd_name); vnex_destroy_dinfo(vndi); continue; } @@ -250,8 +212,7 @@ return (NULL); vndi = malloc(sizeof(*vndi), M_DEVBUF, M_WAITOK | M_ZERO); - vndi->vndi_obdinfo.obd_node = -1; - vndi->vndi_obdinfo.obd_name = strdup(name, M_OFWPROP); + vndi->vndi_mbdinfo.mbd_name = strdup(name, M_OFWPROP); resource_list_init(&vndi->vndi_rl); device_set_ivars(cdev, vndi); @@ -274,9 +235,9 @@ { const char *type; - device_printf(dev, "<%s>", ofw_bus_get_name(child)); + device_printf(dev, "<%s>", mdesc_bus_get_name(child)); vnex_print_res(device_get_ivars(child)); - type = ofw_bus_get_type(child); + type = mdesc_bus_get_type(child); printf(" type %s (no driver attached)\n", type != NULL ? type : "unknown"); } @@ -358,40 +319,26 @@ return (&vndi->vndi_rl); } -static const struct ofw_bus_devinfo * +static const struct mdesc_bus_devinfo * vnex_get_devinfo(device_t dev, device_t child) { struct vnex_devinfo *vndi; vndi = device_get_ivars(child); - return (&vndi->vndi_obdinfo); + return (&vndi->vndi_mbdinfo); } static struct vnex_devinfo * -vnex_setup_dinfo(device_t dev, phandle_t node) +vnex_setup_dinfo(device_t dev, mde_cookie_t node) { struct vnex_devinfo *vndi; - uint32_t *intr; - int i; - int nintr; vndi = malloc(sizeof(*vndi), M_DEVBUF, M_WAITOK | M_ZERO); - if (ofw_bus_gen_setup_devinfo(&vndi->vndi_obdinfo, node) != 0) { + if (mdesc_bus_gen_setup_devinfo(&vndi->vndi_mbdinfo, node) != 0) { free(vndi, M_DEVBUF); return (NULL); } - resource_list_init(&vndi->vndi_rl); - nintr = OF_getprop_alloc(node, "interrupts", sizeof(*intr), - (void **)&intr); - if (nintr > 0) { - for (i = 0; i < nintr; i++) { - resource_list_add(&vndi->vndi_rl, SYS_RES_IRQ, i, intr[i], - intr[i], 1); - } - free(intr, M_OFWPROP); - } - return (vndi); } @@ -400,7 +347,7 @@ { resource_list_free(&vndi->vndi_rl); - ofw_bus_gen_destroy_devinfo(&vndi->vndi_obdinfo); + mdesc_bus_gen_destroy_devinfo(&vndi->vndi_mbdinfo); free(vndi, M_DEVBUF); } From owner-p4-projects@FreeBSD.ORG Sat Sep 2 04:26:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5176A16A4E0; Sat, 2 Sep 2006 04:26:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F3D2216A4DD for ; Sat, 2 Sep 2006 04:26:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 808D543D49 for ; Sat, 2 Sep 2006 04:26:31 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k824QVDF050009 for ; Sat, 2 Sep 2006 04:26:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k824QTwx050004 for perforce@freebsd.org; Sat, 2 Sep 2006 04:26:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 04:26:29 GMT Message-Id: <200609020426.k824QTwx050004@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 105502 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 04:26:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=105502 Change 105502 by rwatson@rwatson_sesame on 2006/09/02 04:25:59 Initial set of privilege regression tests, which confirm that root privilege is required for a variety of system activities. Affected files ... .. //depot/projects/trustedbsd/priv/tools/regression/priv/Makefile#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/main.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/main.h#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_acct.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_adjtime.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_clock_settime.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_io.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_kenv_set.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_kenv_unset.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_proc_setlogin.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_proc_setrlimit.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_sched_rtprio.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_sched_setpriority.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_settimeofday.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_sysctl_write.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_admin.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_chown.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_chroot.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_clearsugid.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_extattr_system.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_fhopen.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_fhstat.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_fhstatfs.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_generation.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_getfh.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_read_write.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_setgid.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vfs_stickyfile.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vm_madv_protect.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vm_mlock.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/priv_vm_munlock.c#1 add .. //depot/projects/trustedbsd/priv/tools/regression/priv/test_utimes.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Sep 2 04:34:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AF7F16A4E1; Sat, 2 Sep 2006 04:34:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3EA4A16A4E0 for ; Sat, 2 Sep 2006 04:34:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E35D443D53 for ; Sat, 2 Sep 2006 04:34:41 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k824YfOw050544 for ; Sat, 2 Sep 2006 04:34:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k824Yftu050541 for perforce@freebsd.org; Sat, 2 Sep 2006 04:34:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 04:34:41 GMT Message-Id: <200609020434.k824Yftu050541@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 105503 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 04:34:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=105503 Change 105503 by rwatson@rwatson_sesame on 2006/09/02 04:34:37 Add API, implementation of kernel privilege checking interface. Wrap suser() and suser_cred() around it as compatibility APIs. An initial list of privileges may be found in priv.h, but will likely be further refined. Sponsored by: nCircle Network Security, Inc. Affected files ... .. //depot/projects/trustedbsd/priv/sys/kern/kern_priv.c#1 add .. //depot/projects/trustedbsd/priv/sys/sys/priv.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Sep 2 05:32:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1522616A4E2; Sat, 2 Sep 2006 05:32:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C9BD016A4DE for ; Sat, 2 Sep 2006 05:32:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6546E43D45 for ; Sat, 2 Sep 2006 05:32:11 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k825WBb2062296 for ; Sat, 2 Sep 2006 05:32:11 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k825Vup2062282 for perforce@freebsd.org; Sat, 2 Sep 2006 05:31:56 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 2 Sep 2006 05:31:56 GMT Message-Id: <200609020531.k825Vup2062282@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 105506 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 05:32:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=105506 Change 105506 by kmacy@kmacy_storage:sun4v_work_stable on 2006/09/02 05:30:56 IFC Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/MAINTAINERS#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/Makefile.inc1#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/ObsoleteFiles.inc#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/UPDATING#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/cp/cp.1#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/cp/cp.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/cp/extern.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/cp/utils.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/date/netdate.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/df/df.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/ed/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/ps/ps.1#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/sh/histedit.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/sh/parser.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/bin/test/test.1#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/ansidecl.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/builtins.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-common.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-common.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-decl.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-objc-common.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-pch.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/c-typeck.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cfgcleanup.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/combine.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config.gcc#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config.host#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config.in#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/alpha/alpha.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/alpha/alpha.md#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/arm/arm-protos.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/arm/arm.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/arm/arm.md#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/host-linux.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/host-solaris.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/i386/i386.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/i386/i386.md#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/ia64/hpux.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/aix51.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/host-darwin.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/linux64.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/rs6000-protos.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/rs6000.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/rs6000.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/rs6000.md#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/rs6000/sysv4.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/sparc/gmon-sol2.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/sparc/sol2-gas-bi.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/sparc/sol2.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/sparc/sparc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/sparc/sparc.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/x-linux#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/config/x-solaris#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/configure#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/configure.ac#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/coverage.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/call.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/class.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/cp-tree.def#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/cp-tree.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/cvt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/decl.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/decl2.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/error.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/init.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/lex.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/method.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/name-lookup.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/name-lookup.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/parser.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/pt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/search.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/semantics.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cp/typeck.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cppfiles.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cpphash.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cppinit.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/cse.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/doc/contrib.texi#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/doc/hostconfig.texi#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/doc/include/gcc-common.texi#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/doc/invoke.texi#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/expmed.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/f/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/f/g77.texi#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/f/g77spec.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/flow.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/fold-const.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/gcc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/gcov-dump.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/gcov.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/gcse.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/ggc-common.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/global.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/hooks.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/hooks.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/hosthooks-def.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/hosthooks.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/local-alloc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/longlong.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/loop.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/md5.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/md5.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/mips-tdump.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/mips-tfile.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/mklibgcc.in#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/optabs.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/pretty-print.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/reg-stack.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/regrename.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/regs.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/rtl.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/sched-rgn.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/simplify-rtx.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/stmt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/toplev.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/tree.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/unroll.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gcc/version.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/FREEBSD-Xlist#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/powerpc/fbsd.mh#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/powerpc/fbsd.mt#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/powerpc/nm-fbsd.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/nm-rs6000.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/nm-rs6000ly.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/rs6000.mh#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/rs6000.mt#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/rs6000lynx.mh#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/rs6000lynx.mt#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/tm-rs6000.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/tm-rs6000ly.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/config/rs6000/xm-rs6000.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/ppcfbsd-nat.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/ppcfbsd-tdep.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/ppcfbsd-tdep.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/rs6000-nat.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/gdb/gdb/rs6000-tdep.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/BSD/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/HISTORY#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/bpf_filter.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ip_fil.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipf.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/iplang/iplang_y.y#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipmon.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsd/sbpf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/ipsend.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/lsock.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/resend.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/sbpf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/ipt.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/addicmp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/addkeep.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/facpri.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/getport.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/icmpcode.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/ipft_tx.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/make_range.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/optprint.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/printfr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/lib/printlog.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/man/ipmon.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/radix.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/samples/proxy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/f20#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i1#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i10#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i11#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i18#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/i9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/in2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/in5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/ni19#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/ni20#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/expected/ni21#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/input/f2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/input/f20#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/input/ni19#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/input/ni20#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/input/ni21#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/f20#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i1#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i10#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i11#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i15#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i17#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i18#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/i9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/in2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/in5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni19.ipf#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni19.nat#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni20.ipf#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni20.nat#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni21.ipf#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/regress/ni21.nat#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/test/test.format#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/todo#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipf_y.y#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipfcomp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipfs.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipfstat.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipftest.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipmon.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipnat_y.y#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipsyncm.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/ipsyncs.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/ipfilter/tools/lexer.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/LICENSE#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/Makefile.aut#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/Makefile.in#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/Makefile.wnb#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/NEWS#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/README#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/brac.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/ch.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/charset.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/charset.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/cmd.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/cmdbuf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/command.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/configure#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/configure.ac#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/decode.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/defines.ds#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/defines.h.in#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/defines.o2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/defines.o9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/defines.wn#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/edit.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/filename.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/forwback.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/funcs.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/ifile.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/input.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/jump.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/less.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/less.man#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/less.nro#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lessecho.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lessecho.man#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lessecho.nro#1 branch .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lesskey.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lesskey.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lesskey.man#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lesskey.nro#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lglob.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/line.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/linenum.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/lsystem.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/mark.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/mkhelp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/optfunc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/option.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/option.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/opttbl.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/os.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/output.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/pckeys.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/position.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/position.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/prompt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/screen.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/scrsize.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/search.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/signal.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/tags.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/ttyin.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/less/version.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libf2c/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libobjc/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libobjc/README#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libstdc++/ChangeLog#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libstdc++/include/bits/c++config#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libstdc++/include/bits/fstream.tcc#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libstdc++/include/c_std/std_cmath.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/libstdc++/include/ext/hashtable.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/cmds.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/conf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/extern.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/ftpcmd.y#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/ftpd.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/ftpd.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/ftpd.conf.5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/logutmp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/logwtmp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/pathnames.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/popen.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/lukemftpd/src/version.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/FREEBSD-upgrade#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/HISTORY#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/README#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/VERSION#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bin/auditd/auditd.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bin/auditfilterd/auditfilterd.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bin/auditfilterd/auditfilterd.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/audit.h#3 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/audit_filter.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/audit_internal.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/audit_kevents.h#3 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/audit_record.h#3 delete .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/bsm/libbsm.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/config/config.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/config/config.h.in#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/configure#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/configure.ac#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/etc/audit_event#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/libbsm/au_token.3#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/libbsm/bsm_audit.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/libbsm/bsm_event.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/libbsm/bsm_io.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/libbsm/bsm_token.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/man/audit.log.5#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/test/bsm/generate.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/tools/Makefile.am#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/openbsm/tools/Makefile.in#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/pnpinfo/pnpinfo.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/FREEBSD-upgrade#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/RELEASE_NOTES#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/cf/cf/submit.cf#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/cf/m4/version.m4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/contrib/cidrexpand#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/src/main.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/src/queue.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/src/srvrsmtp.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/sendmail/src/version.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/smbfs/smbutil/print.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/contrib/smbfs/smbutil/view.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/defaults/periodic.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/defaults/rc.conf#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/etc.alpha/ttys#2 delete .. //depot/projects/kmacy_sun4v_stable/src/etc/freebsd-update.conf#1 branch .. //depot/projects/kmacy_sun4v_stable/src/etc/hosts.allow#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/inetd.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/mtree/BSD.include.dist#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/mtree/BSD.local.dist#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/mtree/BSD.var.dist#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/network.subr#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/pccard_ether#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/periodic/security/410.logincheck#1 branch .. //depot/projects/kmacy_sun4v_stable/src/etc/periodic/security/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/periodic/weekly/120.clean-kvmdb#2 delete .. //depot/projects/kmacy_sun4v_stable/src/etc/periodic/weekly/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/phones#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/dhclient#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/powerd#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/ramdisk#2 delete .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/ramdisk-own#2 delete .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/sshd#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.d/ypxfrd#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.initdiskless#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/rc.subr#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/sendmail/freebsd.mc#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/etc/sendmail/freebsd.submit.mc#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/games/fortune/datfiles/fortunes#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/lib/libsupc++/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/binutils/libbfd/Makefile.arm#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/binutils/libbfd/Makefile.powerpc#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/alpha/Makefile#2 delete .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/alpha/config.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/alpha/init.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/powerpc/Makefile#1 branch .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/powerpc/config.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/arch/powerpc/init.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/kgdb/trgt_alpha.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/kgdb/trgt_amd64.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/groff/contrib/mm/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/groff/tmac/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/include/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/csu/alpha/Makefile#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/csu/alpha/crt1.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/csu/alpha/crti.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/csu/alpha/crtn.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libarchive/archive_read_support_compression_none.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libarchive/archive_write.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libbsm/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/SYS.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/Symbol.map#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/_fpmath.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/arith.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/_ctx_start.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/_set_tp.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/_setjmp.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/divrem.m4#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fabs.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/flt_rounds.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fpgetmask.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fpgetround.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fpgetsticky.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fpsetmask.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/fpsetround.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/infinity.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/makecontext.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/modf.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/rfork_thread.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/setjmp.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/signalcontext.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/gen/sigsetjmp.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/byte_swap_2.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/byte_swap_4.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/htonl.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/htons.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/ntohl.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/net/ntohs.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/stdlib/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/bcopy.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/bzero.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/ffs.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/memcpy.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/string/memmove.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/Ovfork.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/brk.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/cerror.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/exect.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/fork.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/pipe.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/ptrace.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/sbrk.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/setlogin.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/alpha/sys/sigreturn.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/arm/net/htonl.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/arm/net/htons.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/arm/net/ntohl.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/arm/net/ntohs.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/gen/syslog.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/gen/tls.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/ia64/gen/_set_tp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/powerpc/gen/_set_tp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/resolv/res_init.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/resolv/res_send.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/stdio/findfp.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/string/strcoll.3#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/sys/connect.2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/sys/getfsstat.2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/sys/kqueue.2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/sys/kse.2#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc/uuid/uuid_compare.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc_r/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libc_r/arch/alpha/_atomic_lock.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libdisk/write_alpha_disk.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libdisk/write_ia64_disk.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/Makefile#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/alpha_sethae.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/bwx.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/io.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/io.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libio/swiz.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libkvm/kvm_alpha.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpam/modules/pam_lastlog/pam_lastlog.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/alpha/context.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/alpha/enter_uts.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/alpha/pthread_md.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/include/atomic_ops.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/alpha/include/pthread_md.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/ia64/ia64/pthread_md.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/ia64/include/pthread_md.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/powerpc/include/pthread_md.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libpthread/arch/powerpc/powerpc/pthread_md.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libsdp/sdp.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libsdp/util.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libstand/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libstand/alpha/_setjmp.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libtelnet/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/alpha/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/alpha/alpha/pthread_md.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/alpha/include/pthread_md.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/ia64/ia64/pthread_md.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/ia64/include/pthread_md.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/powerpc/include/pthread_md.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/arch/powerpc/powerpc/pthread_md.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_init.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_mutex.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_mutex_prioceiling.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_mutex_protocol.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_private.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_pspinlock.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_seterrno.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_sigmask.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_umtx.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthr/thread/thr_umtx.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/libthread_db/arch/alpha/libc_r_md.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthread_db/arch/alpha/libpthread_md.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/libthread_db/arch/powerpc/libc_r_md.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/lib/libthread_db/arch/powerpc/libpthread_md.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/lib/libutil/login.conf.5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/Symbol.map#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/fenv.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/fenv.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/s_copysign.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/lib/msun/alpha/s_copysignf.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/lukemftpd/nbsd2fbsd.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/lukemftpd/nbsd_pidfile.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/libexec/lukemftpd/pamize.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/alpha/Makefile.inc#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/alpha/ld.so.script#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/alpha/reloc.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/alpha/rtld_machdep.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/alpha/rtld_start.S#2 delete .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/ia64/reloc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/ia64/rtld_machdep.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/powerpc/reloc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/rtld-elf/rtld.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/telnetd/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/libexec/tftpd/tftpd.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/alpha/boot_crunch.conf#2 delete .. //depot/projects/kmacy_sun4v_stable/src/release/alpha/mkisoimages.sh#2 delete .. //depot/projects/kmacy_sun4v_stable/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/doc/fr_FR.ISO8859-1/hardware/alpha/proc-alpha.sgml#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/doc/share/misc/dev.archlist.txt#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/scripts/kernels-install.sh#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/release/scripts/lib32-install.sh#1 branch .. //depot/projects/kmacy_sun4v_stable/src/release/scripts/proflibs-install.sh#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/rescue/rescue/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/bsdlabel/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/camcontrol/camcontrol.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/camcontrol/camcontrol.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/dhclient/dhclient.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/dhclient/dhclient.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/dump/dump.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/dump/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/dump/optr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/fsdb/fsdb.8#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/fsdb/fsdb.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/fsdb/fsdbutil.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/geom/class/eli/geli.8#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/geom/class/eli/geom_eli.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ggate/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ifconfig/ifclone.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ifconfig/ifieee80211.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ifconfig/ifmedia.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ipf/libipf/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ipfw/ipfw2.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ping/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/ping/ping.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/reboot/reboot.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/restore/tape.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sbin/sysctl/sysctl.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/secure/lib/libcrypto/Makefile.inc#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/secure/lib/libcrypto/opensslconf-alpha.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/share/doc/papers/timecounter/timecounter.ms#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/examples/drivers/make_device_driver.sh#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/examples/drivers/make_pseudo_driver.sh#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/acpi.4#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/amdsmb.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ata.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/auditpipe.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/devctl.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/dummynet.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/fast_ipsec.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/gem.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/if_bridge.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ipfirewall.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ipsec.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ixgb.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.powerpc/Makefile#1 branch .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.powerpc/powermac_nvram.4#1 branch .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.sparc64/ebus.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.sparc64/machfb.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.sparc64/openfirm.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/man4.sparc64/sbus.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/nfsmb.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ng_ether.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/ng_pppoe.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/sio.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/uplcom.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/uscanner.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/vlan.4#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man5/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man5/freebsd-update.conf.5#1 branch .. //depot/projects/kmacy_sun4v_stable/src/share/man/man5/periodic.conf.5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man5/rc.conf.5#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man5/src.conf.5#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man7/hier.7#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man7/release.7#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man8/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man8/nanobsd.8#1 branch .. //depot/projects/kmacy_sun4v_stable/src/share/man/man8/picobsd.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man8/rc.subr.8#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man9/VFS_ROOT.9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man9/bus_dma.9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man9/ithread.9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man9/lock.9#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/man/man9/sysctl.9#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/misc/bsd-family-tree#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/mk/bsd.cpu.mk#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/mk/bsd.endian.mk#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/mk/bsd.lib.mk#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/mk/bsd.port.mk#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/share/mk/bsd.sys.mk#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/Makefile#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_dummy.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/mem.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/pmap.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/at91/at91.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/at91/at91_st.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/at91/at91rm92reg.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/armreg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/asm.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/cpuconf.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/cpufunc.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/elf.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/pmap.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/sf_buf.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/include/vmparam.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/iq80321.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/Makefile#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0iic/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0iic/doit.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0iic/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0spi/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0spi/doit.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/arm_init.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/arm_init.S#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/arm_init.s#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/eeprom.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/env_vars.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/env_vars.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/loader_prompt.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/loader_prompt.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/mci_device.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/p_string.h#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/common/help.common#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/common/loader.8#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/i386/loader/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/boot/pc98/loader/main.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/bsm/audit.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/bsm/audit_kevents.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/bsm/audit_record.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/syscalls.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/ndis/ntoskrnl_var.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_proto.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_stream.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_syscall.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_syscallnames.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/compat/svr4/syscalls.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/NOTES#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.amd64#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.i386#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.pc98#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.powerpc#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/kern.post.mk#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/kmod.mk#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/options#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/options.arm#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/dev/acpica/acfreebsd.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_scan.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_sync.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ip_sync.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/crypto/sha2/sha2.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ddb/db_ps.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpica/acpi_dock.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/arl/if_arlreg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ata/ata-chipset.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/bktr/CHANGELOG.TXT#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/dc/dcphy.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/dc/pnphy.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/README#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/if_em.c#5 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/if_em.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/if_em_hw.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/if_em_hw.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/em/if_em_osdep.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/exca/excareg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/fb/creator.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/fdc/fdc.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/hme/if_hme.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/iicbus/if_ic.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/iicbus/iicbb.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ips/ips.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_freebsd.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_target.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_target.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/isp_tpublic.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ispfw/asm_2400.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ispfw/ispfw.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mii/miidevs#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mii/rgephy.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mk48txx/mk48txx.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/patm/if_patm_intr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/pccbb/pccbb_pci.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/pccbb/pccbbreg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/powermac_nvram/powermac_nvram.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/powermac_nvram/powermac_nvramvar.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/re/if_re.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sk/if_sk.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sound/pci/ich.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sym/sym_fw1.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/sym/sym_fw2.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/usb/if_ural.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/usb/usb_port.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/wi/if_wavelan_ieee.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/wi/if_wireg.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/fs/hpfs/hpfs.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/fs/nwfs/nwfs_io.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/bde/g_bde_work.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/eli/g_eli.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/eli/g_eli.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/eli/g_eli_ctl.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/geom_gpt.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/label/g_label.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/label/g_label_msdosfs.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/label/g_label_msdosfs.h#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/mirror/g_mirror.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/raid3/g_raid3.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/geom/vinum/geom_vinum_raid5.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/conf/XBOX#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/identcpu.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/support.s#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/trap.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/i386/tsc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_isc_syscall.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_xenix.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_xenix_syscall.h#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/syscalls.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/syscalls.isc.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/ibcs2/syscalls.xenix.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/include/pmap.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/isa/clock.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_dummy.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_proto.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_syscall.h#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_sysent.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/syscalls.conf#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/linux/syscalls.master#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/i386/xbox/xbox.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/ia64/support.S#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/include/pmap.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/include/vmparam.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/init_main.c#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/init_sysent.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_fork.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_mutex.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_resource.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_subr.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_sx.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_syscalls.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_tc.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_thr.c#4 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_thread.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_time.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/kern_umtx.c#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_4bsd.c#6 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_core.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_ule.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/subr_bus.c#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/subr_rman.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/subr_witness.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sys_process.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/syscalls.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/syscalls.master#5 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/systrace_args.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_proto.c#2 delete .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_sem.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_socket2.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_syscalls.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/libkern/strstr.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/Makefile#4 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/if_ef/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/if_ppp/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/ispfw/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/ispfw/isp_2400/Makefile#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/linsysfs/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/linux/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/netgraph/mppc/Makefile#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/powermac_nvram/Makefile#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/modules/sound/sound/Makefile#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/bpf.c#4 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 2 06:25:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C889916A4E2; Sat, 2 Sep 2006 06:25:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A92216A4DD for ; Sat, 2 Sep 2006 06:25:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C5CE43D49 for ; Sat, 2 Sep 2006 06:25:25 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k826PPGW066891 for ; Sat, 2 Sep 2006 06:25:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k826PGWV066879 for perforce@freebsd.org; Sat, 2 Sep 2006 06:25:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 06:25:16 GMT Message-Id: <200609020625.k826PGWV066879@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 105508 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 06:25:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=105508 Change 105508 by rwatson@rwatson_sesame on 2006/09/02 06:24:56 Replace most kernel suser checks with more specific privilege checks. In some cases, significantly rework privilege logic to make more sense, such as in the file system handling of device permission override. Remove some unneeded suser checks in sysctl wrappers. Sponsored by: nCircle Network Security, Inc. Affected files ... .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 edit .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 edit .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 edit .. //depot/projects/trustedbsd/priv/sys/conf/files#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 edit .. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/ctau/if_ct.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/cx/if_cx.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/dcons/dcons_os.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/drm/drmP.h#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/fdc/fdc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/hwpmc/hwpmc_mod.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/if_ndis/if_ndis.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/kbd/kbd.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.h#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/nmdm/nmdm.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/null/null.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/ofw/ofw_console.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/random/randomdev.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/sbni/if_sbni.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/sbsh/if_sbsh.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/si/si.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/syscons/syscons.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/syscons/sysmouse.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/wi/if_wi.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/wl/if_wl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/dev/zs/zs.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_rule.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/hpfs/hpfs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/procfs/procfs_ioctl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/smbfs/smbfs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/udf/udf_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/fs/umapfs/umap_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_fs.h#2 edit .. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/i386/io.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/i386/sys_machdep.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/i386/vm86.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_misc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_socksys.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_sysi86.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_machdep.c#2 edit .. //depot/projects/trustedbsd/priv/sys/i4b/driver/i4b_ipr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/ssc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/isofs/cd9660/cd9660_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_descrip.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_environment.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_exec.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_ktr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_ktrace.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_linker.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_ntptime.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_resource.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_shutdown.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_sysctl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_thr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_xxx.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/subr_acl_posix1e.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/subr_firmware.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/subr_prf.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/subr_witness.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/sysv_msg.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/tty.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/tty_cons.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/tty_pts.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/tty_pty.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/uipc_mqueue.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/uipc_sem.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/vfs_mount.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/vfs_subr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#2 edit .. //depot/projects/trustedbsd/priv/sys/kern/vfs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/bpf.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_bridge.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_gre.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_ppp.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_sl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_tap.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/if_tun.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/ppp_tty.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/raw_usrreq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net/rtsock.c#2 edit .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ioctl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netatalk/at_control.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_pcb.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netatm/atm_usrreq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netgraph/ng_socket.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netgraph/ng_tty.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/in_pcb.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/ip_carp.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/ip_divert.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/ip_mroute.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/raw_ip.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_subr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet/udp_usrreq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet6/in6.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet6/in6_pcb.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet6/in6_src.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet6/ipsec.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netinet6/udp6_usrreq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netipsec/ipsec_osdep.h#2 edit .. //depot/projects/trustedbsd/priv/sys/netipx/ipx_pcb.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netipx/ipx_usrreq.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netncp/ncp_conn.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netncp/ncp_mod.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netncp/ncp_subr.h#2 edit .. //depot/projects/trustedbsd/priv/sys/netsmb/smb_conn.c#2 edit .. //depot/projects/trustedbsd/priv/sys/netsmb/smb_subr.h#2 edit .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_syscalls.c#2 edit .. //depot/projects/trustedbsd/priv/sys/pc98/cbus/fdc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/posix4/p1003_1b.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/audit/audit.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/audit/audit_pipe.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/audit/audit_syscalls.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_internal.h#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_net.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_bsdextended/mac_bsdextended.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_partition/mac_partition.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_portacl/mac_portacl.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_seeotheruids/mac_seeotheruids.c#2 edit .. //depot/projects/trustedbsd/priv/sys/sys/jail.h#2 edit .. //depot/projects/trustedbsd/priv/sys/sys/sysctl.h#2 edit .. //depot/projects/trustedbsd/priv/sys/sys/systm.h#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_alloc.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vfsops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_extattr.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_quota.c#2 edit .. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_vnops.c#2 edit .. //depot/projects/trustedbsd/priv/sys/vm/swap_pager.c#2 edit .. //depot/projects/trustedbsd/priv/sys/vm/vm_mmap.c#2 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -54,7 +55,7 @@ { int error; - error = suser(td); + error = priv_check(td, PRIV_IO); if (error != 0) return (error); error = securelevel_gt(td->td_ucred, 0); ==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 (text+ko) ==== @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -1011,7 +1012,8 @@ * Keep cr_groups[0] unchanged to prevent that. */ - if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { + if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, + SUSER_ALLOWJAIL)) != 0) { PROC_UNLOCK(p); crfree(newcred); return (error); ==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -123,7 +124,8 @@ * Keep cr_groups[0] unchanged to prevent that. */ - if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { + if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, + SUSER_ALLOWJAIL)) != 0) { PROC_UNLOCK(p); crfree(newcred); return (error); ==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 (text+ko) ==== @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -279,7 +280,7 @@ goto out; if (td->td_ucred->cr_uid != vattr.va_uid && - (error = suser(td)) != 0) + (error = priv_check(td, PRIV_VFS_ADMIN)) != 0) goto out; if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) ==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 (text+ko) ==== @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -610,7 +611,7 @@ struct file *fp; int error, vfslocked; - if ((error = suser(td)) != 0) + if ((error = priv_check(td, PRIV_VFS_FCHROOT)) != 0) return error; if ((error = getvnode(fdp, uap->fd, &fp)) != 0) return error; ==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 (text+ko) ==== @@ -470,14 +470,10 @@ break; #if defined(WHY_DOES_AN_EMULATOR_WANT_TO_SET_HOSTNAMES) case SVR4_SI_SET_HOSTNAME: - if ((error = suser(td)) != 0) - return error; name = KERN_HOSTNAME; return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); case SVR4_SI_SET_SRPC_DOMAIN: - if ((error = suser(td)) != 0) - return error; name = KERN_NISDOMAINNAME; return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); #else ==== //depot/projects/trustedbsd/priv/sys/conf/files#2 (text+ko) ==== @@ -1335,6 +1335,7 @@ kern/kern_physio.c standard kern/kern_pmc.c standard kern/kern_poll.c optional device_polling +kern/kern_priv.c standard kern/kern_proc.c standard kern/kern_prot.c standard kern/kern_resource.c standard ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 (text+ko) ==== @@ -1062,7 +1062,9 @@ /* currently only command that an ordinary user can call */ break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_version > 700000) + error = priv_check(p, PRIV_ALTQ_MANAGE); +#elsif (__FreeBSD_version > 400000) error = suser(p); #else error = suser(p->p_ucred, &p->p_acflag); ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 (text+ko) ==== @@ -1262,7 +1262,9 @@ case CDNR_GETSTATS: break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_versoin > 700000) + if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) +#elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) #else if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 (text+ko) ==== @@ -1975,7 +1975,10 @@ case HFSC_GETSTATS: break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_version > 700000) + if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) + return (error); +#elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) return (error); #else ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 (text+ko) ==== @@ -772,7 +772,10 @@ case PRIQ_GETSTATS: break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_version > 700000) + if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) + return (error); +#elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) return (error); #else ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 (text+ko) ==== @@ -781,7 +781,9 @@ case RED_GETSTATS: break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_version > 700000) + if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) +#elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) #else if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 (text+ko) ==== @@ -531,7 +531,10 @@ case RIO_GETSTATS: break; default: -#if (__FreeBSD_version > 400000) +#if (__FreeBSD_versoin > 700000) + if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) + return (error); +#elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) return (error); #else ==== //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 (text+ko) ==== @@ -54,6 +54,9 @@ #endif #include +#ifdef __FreeBSD__ +#include +#endif #include #include #include @@ -1057,7 +1060,7 @@ break; case SIOCSETPFSYNC: #ifdef __FreeBSD__ - if ((error = suser(curthread)) != 0) + if ((error = priv_check(curthread, PRIV_NETINET_PF)) != 0) #else if ((error = suser(p, p->p_acflag)) != 0) #endif ==== //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 (text+ko) ==== @@ -92,6 +92,7 @@ #include #include #include +#include #include #include #include @@ -1920,7 +1921,7 @@ break; #ifdef ANCACHE if (sc->areq.an_type == AN_RID_ZERO_CACHE) { - error = suser(td); + error = priv_check(td, PRIV_DRIVER); if (error) break; sc->an_sigitems = sc->an_nextitem = 0; @@ -1944,7 +1945,7 @@ error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq)); break; case SIOCSAIRONET: - if ((error = suser(td))) + if ((error = priv_check(td, PRIV_DRIVER))) goto out; error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); if (error != 0) @@ -1952,7 +1953,7 @@ an_setdef(sc, &sc->areq); break; case SIOCGPRIVATE_0: /* used by Cisco client utility */ - if ((error = suser(td))) + if ((error = priv_check(td, PRIV_DRIVER))) goto out; error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); if (error) @@ -1974,7 +1975,7 @@ } break; case SIOCGPRIVATE_1: /* used by Cisco client utility */ - if ((error = suser(td))) + if ((error = priv_check(td, PRIV_DRIVER))) goto out; error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); if (error) @@ -2226,7 +2227,7 @@ } break; case SIOCS80211: - if ((error = suser(td))) + if ((error = priv_check(td, PRIV_NET80211_MANAGE))) goto out; sc->areq.an_len = sizeof(sc->areq); /* ==== //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 (text+ko) ==== @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -504,7 +505,7 @@ break; case SIOCS80211: - if ((error = suser(td))) + if ((error = priv_check(td, PRIV_NET80211_MANAGE))) break; switch (ireq->i_type) { case IEEE80211_IOC_SSID: @@ -577,7 +578,7 @@ } case SIOCGARLALL: bzero(&arlan_io, sizeof(arlan_io)); - if (!suser(td)) { + if (!priv_check(td, PRIV_DRIVER)) { bcopy(ar->systemId, arlan_io.cfg.sid, 4); } @@ -616,7 +617,7 @@ } while (0) case SIOCSARLALL: - if (suser(td)) + if (priv_check(td, PRIV_DRIVER)) break; user = (void *)ifr->ifr_data; ==== //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 (text+ko) ==== @@ -117,6 +117,7 @@ #include #include #include +#include #include #include #include @@ -3114,7 +3115,7 @@ s = splcam (); if (ASR_ctlr_held) { error = EBUSY; - } else if ((error = suser(td)) == 0) { + } else if ((error = priv_check(td, PRIV_DRIVER)) == 0) { ++ASR_ctlr_held; } splx(s); ==== //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 (text+ko) ==== @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -257,8 +258,11 @@ cdp->flags |= F_LOCKED; break; + /* + * XXXRW: Why does this require privilege? + */ case CDIOCRESET: - error = suser(td); + error = priv_check(td, PRIV_DRIVER); if (error) break; error = acd_test_ready(dev); ==== //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 (text+ko) ==== @@ -29,6 +29,7 @@ #if NPCI > 0 #include +#include #include #include #include @@ -1341,9 +1342,11 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#else /* __FreeBSD_version >= 500000 */ +#elsif __FreeBSD_version < 700000 error = suser (td); -#endif /* __FreeBSD_version >= 500000 */ +#else + error = priv_check (td, PRIV_DRIVER); +#endif if (error) return error; #if __FreeBSD_version >= 600034 @@ -1380,8 +1383,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1408,8 +1413,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1426,8 +1433,10 @@ CE_DEBUG2 (d, ("ioctl: setcfg\n")); #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1526,8 +1535,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1560,8 +1571,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1586,8 +1599,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1608,8 +1623,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1634,8 +1651,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1658,8 +1677,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1686,8 +1707,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1708,8 +1731,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1734,8 +1759,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1758,8 +1785,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1784,8 +1813,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1810,8 +1841,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1836,8 +1869,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1867,8 +1902,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1892,8 +1929,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1909,8 +1948,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; @@ -1945,8 +1986,10 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); +#elsif __FreeBSD_version < 700000 + error = suser (td); #else - error = suser (td); + error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; ==== //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -1071,7 +1072,7 @@ case SERIAL_SETPROTO: CP_DEBUG2 (d, ("ioctl: setproto\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (d->ifp->if_drv_flags & IFF_DRV_RUNNING) @@ -1102,7 +1103,7 @@ case SERIAL_SETKEEPALIVE: CP_DEBUG2 (d, ("ioctl: setkeepalive\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if ((IFP2SP(d->ifp)->pp_flags & PP_FR) || @@ -1126,7 +1127,7 @@ case SERIAL_SETMODE: /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (*(int*)data != SERIAL_HDLC) @@ -1142,7 +1143,7 @@ case SERIAL_SETCFG: CP_DEBUG2 (d, ("ioctl: setcfg\n")); - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1239,7 +1240,7 @@ case SERIAL_CLRSTAT: CP_DEBUG2 (d, ("ioctl: clrstat\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; c->rintr = 0; @@ -1268,7 +1269,7 @@ case SERIAL_SETBAUD: CP_DEBUG2 (d, ("ioctl: setbaud\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; s = splimp (); @@ -1286,7 +1287,7 @@ case SERIAL_SETLOOP: CP_DEBUG2 (d, ("ioctl: setloop\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; s = splimp (); @@ -1306,7 +1307,7 @@ case SERIAL_SETDPLL: CP_DEBUG2 (d, ("ioctl: setdpll\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_SERIAL) @@ -1328,7 +1329,7 @@ case SERIAL_SETNRZI: CP_DEBUG2 (d, ("ioctl: setnrzi\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_SERIAL) @@ -1348,7 +1349,7 @@ case SERIAL_SETDEBUG: CP_DEBUG2 (d, ("ioctl: setdebug\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; d->chan->debug = *(int*)data; @@ -1370,7 +1371,7 @@ case SERIAL_SETHIGAIN: CP_DEBUG2 (d, ("ioctl: sethigain\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1392,7 +1393,7 @@ case SERIAL_SETPHONY: CP_DEBUG2 (d, ("ioctl: setphony\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1414,7 +1415,7 @@ case SERIAL_SETUNFRAM: CP_DEBUG2 (d, ("ioctl: setunfram\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1436,7 +1437,7 @@ case SERIAL_SETSCRAMBLER: CP_DEBUG2 (d, ("ioctl: setscrambler\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_G703 && !c->unfram) @@ -1461,7 +1462,7 @@ case SERIAL_SETMONITOR: CP_DEBUG2 (d, ("ioctl: setmonitor\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1483,7 +1484,7 @@ case SERIAL_SETUSE16: CP_DEBUG2 (d, ("ioctl: setuse16\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1505,7 +1506,7 @@ case SERIAL_SETCRC4: CP_DEBUG2 (d, ("ioctl: setcrc4\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1) @@ -1538,7 +1539,7 @@ case SERIAL_SETCLK: CP_DEBUG2 (d, ("ioctl: setclk\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if (c->type != T_E1 && @@ -1571,7 +1572,7 @@ case SERIAL_SETTIMESLOTS: CP_DEBUG2 (d, ("ioctl: settimeslots\n")); /* Only for superuser! */ - error = suser (td); + error = priv_check (td, PRIV_DRIVER); if (error) return error; if ((c->type != T_E1 || c->unfram) && c->type != T_DATA) @@ -1597,7 +1598,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 2 06:49:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF22516A4DE; Sat, 2 Sep 2006 06:49:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57C0516A4DD; Sat, 2 Sep 2006 06:49:25 +0000 (UTC) (envelope-from arr@watson.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FB9F43D4C; Sat, 2 Sep 2006 06:49:24 +0000 (GMT) (envelope-from arr@watson.org) Received: from fledge.watson.org (localhost.watson.org [127.0.0.1]) by fledge.watson.org (8.13.6/8.13.6) with ESMTP id k826nNhV088456; Sat, 2 Sep 2006 02:49:23 -0400 (EDT) (envelope-from arr@watson.org) Received: from localhost (arr@localhost) by fledge.watson.org (8.13.6/8.13.6/Submit) with ESMTP id k826nMgP088453; Sat, 2 Sep 2006 02:49:22 -0400 (EDT) (envelope-from arr@watson.org) X-Authentication-Warning: fledge.watson.org: arr owned process doing -bs Date: Sat, 2 Sep 2006 02:49:22 -0400 (EDT) From: "Andrew R. Reiter" To: Robert Watson In-Reply-To: <200609020625.k826PGWV066879@repoman.freebsd.org> Message-ID: <20060902024832.K58636@fledge.watson.org> References: <200609020625.k826PGWV066879@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Perforce Change Reviews Subject: Re: PERFORCE change 105508 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 06:49:26 -0000 Sorry if I missed a post; is there a project goin' on that explains this work? Just curious not trying to pester :-) Peace/Cheers/blah, andrew On Sat, 2 Sep 2006, Robert Watson wrote: :http://perforce.freebsd.org/chv.cgi?CH=105508 : :Change 105508 by rwatson@rwatson_sesame on 2006/09/02 06:24:56 : : Replace most kernel suser checks with more specific privilege : checks. In some cases, significantly rework privilege logic to : make more sense, such as in the file system handling of device : permission override. Remove some unneeded suser checks in : sysctl wrappers. : : Sponsored by: nCircle Network Security, Inc. : :Affected files ... : :.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/conf/files#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/ctau/if_ct.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/cx/if_cx.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/dcons/dcons_os.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/drm/drmP.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/fdc/fdc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/hwpmc/hwpmc_mod.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/if_ndis/if_ndis.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/kbd/kbd.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/nmdm/nmdm.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/null/null.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/ofw/ofw_console.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/random/randomdev.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/sbni/if_sbni.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/sbsh/if_sbsh.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/si/si.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/syscons/syscons.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/syscons/sysmouse.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/wi/if_wi.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/wl/if_wl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/dev/zs/zs.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_rule.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/hpfs/hpfs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/procfs/procfs_ioctl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/smbfs/smbfs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/udf/udf_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/fs/umapfs/umap_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_fs.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/i386/io.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/i386/sys_machdep.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/i386/vm86.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_misc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_socksys.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_sysi86.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_machdep.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/i4b/driver/i4b_ipr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ia64/ia64/ssc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/isofs/cd9660/cd9660_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_descrip.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_environment.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_exec.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ktr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ktrace.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_linker.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ntptime.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_resource.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_shutdown.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_sysctl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_thr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/kern_xxx.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/subr_acl_posix1e.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/subr_firmware.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/subr_prf.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/subr_witness.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/sysv_msg.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/tty.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/tty_cons.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/tty_pts.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/tty_pty.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/uipc_mqueue.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/uipc_sem.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_mount.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_subr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/bpf.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_bridge.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_gre.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_ppp.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_sl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_tap.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/if_tun.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/ppp_tty.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/raw_usrreq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net/rtsock.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ioctl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netatalk/at_control.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_pcb.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netatm/atm_usrreq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_socket.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_tty.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/in_pcb.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_carp.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_divert.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_mroute.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/raw_ip.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_subr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet/udp_usrreq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6_pcb.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6_src.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet6/ipsec.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netinet6/udp6_usrreq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netipsec/ipsec_osdep.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/netipx/ipx_pcb.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netipx/ipx_usrreq.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_conn.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_mod.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_subr.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/netsmb/smb_conn.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/netsmb/smb_subr.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_syscalls.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/pc98/cbus/fdc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/posix4/p1003_1b.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_pipe.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_syscalls.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_internal.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_net.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac_bsdextended/mac_bsdextended.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac_partition/mac_partition.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac_portacl/mac_portacl.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/security/mac_seeotheruids/mac_seeotheruids.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/sys/jail.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/sys/sysctl.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/sys/systm.h#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_alloc.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vfsops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_extattr.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_quota.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_vnops.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/vm/swap_pager.c#2 edit :.. //depot/projects/trustedbsd/priv/sys/vm/vm_mmap.c#2 edit : :Differences ... : :==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 (text+ko) ==== : :@@ -33,6 +33,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -54,7 +55,7 @@ : { : int error; : :- error = suser(td); :+ error = priv_check(td, PRIV_IO); : if (error != 0) : return (error); : error = securelevel_gt(td->td_ucred, 0); : :==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 (text+ko) ==== : :@@ -49,6 +49,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -1011,7 +1012,8 @@ : * Keep cr_groups[0] unchanged to prevent that. : */ : :- if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { :+ if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, :+ SUSER_ALLOWJAIL)) != 0) { : PROC_UNLOCK(p); : crfree(newcred); : return (error); : :==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 (text+ko) ==== : :@@ -33,6 +33,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -123,7 +124,8 @@ : * Keep cr_groups[0] unchanged to prevent that. : */ : :- if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { :+ if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, :+ SUSER_ALLOWJAIL)) != 0) { : PROC_UNLOCK(p); : crfree(newcred); : return (error); : :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 (text+ko) ==== : :@@ -45,6 +45,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -279,7 +280,7 @@ : goto out; : : if (td->td_ucred->cr_uid != vattr.va_uid && :- (error = suser(td)) != 0) :+ (error = priv_check(td, PRIV_VFS_ADMIN)) != 0) : goto out; : : if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) : :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 (text+ko) ==== : :@@ -53,6 +53,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -610,7 +611,7 @@ : struct file *fp; : int error, vfslocked; : :- if ((error = suser(td)) != 0) :+ if ((error = priv_check(td, PRIV_VFS_FCHROOT)) != 0) : return error; : if ((error = getvnode(fdp, uap->fd, &fp)) != 0) : return error; : :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 (text+ko) ==== : :@@ -470,14 +470,10 @@ : break; : #if defined(WHY_DOES_AN_EMULATOR_WANT_TO_SET_HOSTNAMES) : case SVR4_SI_SET_HOSTNAME: :- if ((error = suser(td)) != 0) :- return error; : name = KERN_HOSTNAME; : return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); : : case SVR4_SI_SET_SRPC_DOMAIN: :- if ((error = suser(td)) != 0) :- return error; : name = KERN_NISDOMAINNAME; : return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); : #else : :==== //depot/projects/trustedbsd/priv/sys/conf/files#2 (text+ko) ==== : :@@ -1335,6 +1335,7 @@ : kern/kern_physio.c standard : kern/kern_pmc.c standard : kern/kern_poll.c optional device_polling :+kern/kern_priv.c standard : kern/kern_proc.c standard : kern/kern_prot.c standard : kern/kern_resource.c standard : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 (text+ko) ==== : :@@ -1062,7 +1062,9 @@ : /* currently only command that an ordinary user can call */ : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_version > 700000) :+ error = priv_check(p, PRIV_ALTQ_MANAGE); :+#elsif (__FreeBSD_version > 400000) : error = suser(p); : #else : error = suser(p->p_ucred, &p->p_acflag); : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 (text+ko) ==== : :@@ -1262,7 +1262,9 @@ : case CDNR_GETSTATS: : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_versoin > 700000) :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) :+#elsif (__FreeBSD_version > 400000) : if ((error = suser(p)) != 0) : #else : if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 (text+ko) ==== : :@@ -1975,7 +1975,10 @@ : case HFSC_GETSTATS: : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_version > 700000) :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) :+ return (error); :+#elsif (__FreeBSD_version > 400000) : if ((error = suser(p)) != 0) : return (error); : #else : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 (text+ko) ==== : :@@ -772,7 +772,10 @@ : case PRIQ_GETSTATS: : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_version > 700000) :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) :+ return (error); :+#elsif (__FreeBSD_version > 400000) : if ((error = suser(p)) != 0) : return (error); : #else : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 (text+ko) ==== : :@@ -781,7 +781,9 @@ : case RED_GETSTATS: : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_version > 700000) :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) :+#elsif (__FreeBSD_version > 400000) : if ((error = suser(p)) != 0) : #else : if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) : :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 (text+ko) ==== : :@@ -531,7 +531,10 @@ : case RIO_GETSTATS: : break; : default: :-#if (__FreeBSD_version > 400000) :+#if (__FreeBSD_versoin > 700000) :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) :+ return (error); :+#elsif (__FreeBSD_version > 400000) : if ((error = suser(p)) != 0) : return (error); : #else : :==== //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 (text+ko) ==== : :@@ -54,6 +54,9 @@ : #endif : : #include :+#ifdef __FreeBSD__ :+#include :+#endif : #include : #include : #include :@@ -1057,7 +1060,7 @@ : break; : case SIOCSETPFSYNC: : #ifdef __FreeBSD__ :- if ((error = suser(curthread)) != 0) :+ if ((error = priv_check(curthread, PRIV_NETINET_PF)) != 0) : #else : if ((error = suser(p, p->p_acflag)) != 0) : #endif : :==== //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 (text+ko) ==== : :@@ -92,6 +92,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -1920,7 +1921,7 @@ : break; : #ifdef ANCACHE : if (sc->areq.an_type == AN_RID_ZERO_CACHE) { :- error = suser(td); :+ error = priv_check(td, PRIV_DRIVER); : if (error) : break; : sc->an_sigitems = sc->an_nextitem = 0; :@@ -1944,7 +1945,7 @@ : error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq)); : break; : case SIOCSAIRONET: :- if ((error = suser(td))) :+ if ((error = priv_check(td, PRIV_DRIVER))) : goto out; : error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); : if (error != 0) :@@ -1952,7 +1953,7 @@ : an_setdef(sc, &sc->areq); : break; : case SIOCGPRIVATE_0: /* used by Cisco client utility */ :- if ((error = suser(td))) :+ if ((error = priv_check(td, PRIV_DRIVER))) : goto out; : error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); : if (error) :@@ -1974,7 +1975,7 @@ : } : break; : case SIOCGPRIVATE_1: /* used by Cisco client utility */ :- if ((error = suser(td))) :+ if ((error = priv_check(td, PRIV_DRIVER))) : goto out; : error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); : if (error) :@@ -2226,7 +2227,7 @@ : } : break; : case SIOCS80211: :- if ((error = suser(td))) :+ if ((error = priv_check(td, PRIV_NET80211_MANAGE))) : goto out; : sc->areq.an_len = sizeof(sc->areq); : /* : :==== //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 (text+ko) ==== : :@@ -43,6 +43,7 @@ : #include : #include : #include :+#include : #include : #include : :@@ -504,7 +505,7 @@ : break; : : case SIOCS80211: :- if ((error = suser(td))) :+ if ((error = priv_check(td, PRIV_NET80211_MANAGE))) : break; : switch (ireq->i_type) { : case IEEE80211_IOC_SSID: :@@ -577,7 +578,7 @@ : } : case SIOCGARLALL: : bzero(&arlan_io, sizeof(arlan_io)); :- if (!suser(td)) { :+ if (!priv_check(td, PRIV_DRIVER)) { : bcopy(ar->systemId, arlan_io.cfg.sid, 4); : } : :@@ -616,7 +617,7 @@ : } while (0) : : case SIOCSARLALL: :- if (suser(td)) :+ if (priv_check(td, PRIV_DRIVER)) : break; : : user = (void *)ifr->ifr_data; : :==== //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 (text+ko) ==== : :@@ -117,6 +117,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -3114,7 +3115,7 @@ : s = splcam (); : if (ASR_ctlr_held) { : error = EBUSY; :- } else if ((error = suser(td)) == 0) { :+ } else if ((error = priv_check(td, PRIV_DRIVER)) == 0) { : ++ASR_ctlr_held; : } : splx(s); : :==== //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 (text+ko) ==== : :@@ -34,6 +34,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -257,8 +258,11 @@ : cdp->flags |= F_LOCKED; : break; : :+ /* :+ * XXXRW: Why does this require privilege? :+ */ : case CDIOCRESET: :- error = suser(td); :+ error = priv_check(td, PRIV_DRIVER); : if (error) : break; : error = acd_test_ready(dev); : :==== //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 (text+ko) ==== : :@@ -29,6 +29,7 @@ : #if NPCI > 0 : : #include :+#include : #include : #include : #include :@@ -1341,9 +1342,11 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :-#else /* __FreeBSD_version >= 500000 */ :+#elsif __FreeBSD_version < 700000 : error = suser (td); :-#endif /* __FreeBSD_version >= 500000 */ :+#else :+ error = priv_check (td, PRIV_DRIVER); :+#endif : if (error) : return error; : #if __FreeBSD_version >= 600034 :@@ -1380,8 +1383,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1408,8 +1413,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1426,8 +1433,10 @@ : CE_DEBUG2 (d, ("ioctl: setcfg\n")); : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1526,8 +1535,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1560,8 +1571,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1586,8 +1599,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1608,8 +1623,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1634,8 +1651,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1658,8 +1677,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1686,8 +1707,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1708,8 +1731,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1734,8 +1759,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1758,8 +1785,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1784,8 +1813,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1810,8 +1841,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1836,8 +1869,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1867,8 +1902,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1892,8 +1929,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1909,8 +1948,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; :@@ -1945,8 +1986,10 @@ : /* Only for superuser! */ : #if __FreeBSD_version < 500000 : error = suser (p); :+#elsif __FreeBSD_version < 700000 :+ error = suser (td); : #else :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : #endif : if (error) : return error; : :==== //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 (text+ko) ==== : :@@ -33,6 +33,7 @@ : #include : #include : #include :+#include : #include : #include : #include :@@ -1071,7 +1072,7 @@ : case SERIAL_SETPROTO: : CP_DEBUG2 (d, ("ioctl: setproto\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (d->ifp->if_drv_flags & IFF_DRV_RUNNING) :@@ -1102,7 +1103,7 @@ : case SERIAL_SETKEEPALIVE: : CP_DEBUG2 (d, ("ioctl: setkeepalive\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if ((IFP2SP(d->ifp)->pp_flags & PP_FR) || :@@ -1126,7 +1127,7 @@ : : case SERIAL_SETMODE: : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (*(int*)data != SERIAL_HDLC) :@@ -1142,7 +1143,7 @@ : : case SERIAL_SETCFG: : CP_DEBUG2 (d, ("ioctl: setcfg\n")); :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1239,7 +1240,7 @@ : case SERIAL_CLRSTAT: : CP_DEBUG2 (d, ("ioctl: clrstat\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : c->rintr = 0; :@@ -1268,7 +1269,7 @@ : case SERIAL_SETBAUD: : CP_DEBUG2 (d, ("ioctl: setbaud\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : s = splimp (); :@@ -1286,7 +1287,7 @@ : case SERIAL_SETLOOP: : CP_DEBUG2 (d, ("ioctl: setloop\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : s = splimp (); :@@ -1306,7 +1307,7 @@ : case SERIAL_SETDPLL: : CP_DEBUG2 (d, ("ioctl: setdpll\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_SERIAL) :@@ -1328,7 +1329,7 @@ : case SERIAL_SETNRZI: : CP_DEBUG2 (d, ("ioctl: setnrzi\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_SERIAL) :@@ -1348,7 +1349,7 @@ : case SERIAL_SETDEBUG: : CP_DEBUG2 (d, ("ioctl: setdebug\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : d->chan->debug = *(int*)data; :@@ -1370,7 +1371,7 @@ : case SERIAL_SETHIGAIN: : CP_DEBUG2 (d, ("ioctl: sethigain\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1392,7 +1393,7 @@ : case SERIAL_SETPHONY: : CP_DEBUG2 (d, ("ioctl: setphony\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1414,7 +1415,7 @@ : case SERIAL_SETUNFRAM: : CP_DEBUG2 (d, ("ioctl: setunfram\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1436,7 +1437,7 @@ : case SERIAL_SETSCRAMBLER: : CP_DEBUG2 (d, ("ioctl: setscrambler\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_G703 && !c->unfram) :@@ -1461,7 +1462,7 @@ : case SERIAL_SETMONITOR: : CP_DEBUG2 (d, ("ioctl: setmonitor\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1483,7 +1484,7 @@ : case SERIAL_SETUSE16: : CP_DEBUG2 (d, ("ioctl: setuse16\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1505,7 +1506,7 @@ : case SERIAL_SETCRC4: : CP_DEBUG2 (d, ("ioctl: setcrc4\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1) :@@ -1538,7 +1539,7 @@ : case SERIAL_SETCLK: : CP_DEBUG2 (d, ("ioctl: setclk\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if (c->type != T_E1 && :@@ -1571,7 +1572,7 @@ : case SERIAL_SETTIMESLOTS: : CP_DEBUG2 (d, ("ioctl: settimeslots\n")); : /* Only for superuser! */ :- error = suser (td); :+ error = priv_check (td, PRIV_DRIVER); : if (error) : return error; : if ((c->type != T_E1 || c->unfram) && c->type != T_DATA) :@@ -1597,7 +1598,7 @@ : :>>> TRUNCATED FOR MAIL (1000 lines) <<< : : -- arr@watson.org From owner-p4-projects@FreeBSD.ORG Sat Sep 2 07:01:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5B8916A4E1; Sat, 2 Sep 2006 07:01:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ADE6C16A4DF for ; Sat, 2 Sep 2006 07:01:12 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7700A43D46 for ; Sat, 2 Sep 2006 07:01:12 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8271CR7068624 for ; Sat, 2 Sep 2006 07:01:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8271CYY068621 for perforce@freebsd.org; Sat, 2 Sep 2006 07:01:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 07:01:12 GMT Message-Id: <200609020701.k8271CYY068621@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 105512 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 07:01:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=105512 Change 105512 by rwatson@rwatson_sesame on 2006/09/02 07:00:23 Update history for 1.0 alpha 10 -- csjp's work on auditd. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#26 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#26 (text+ko) ==== @@ -1,3 +1,9 @@ +OpenBSM 1.0 alpha 10 + +- auditd now generates complete audit records for its events, as required for + application-submitted audit records in the the FreeBSD kernel audit + implementation. + OpenBSM 1.0 alpha 9 - Rename many OpenBSM-specific constants and API elements containing the @@ -203,4 +209,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#25 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#26 $ From owner-p4-projects@FreeBSD.ORG Sat Sep 2 07:05:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D896B16A4E0; Sat, 2 Sep 2006 07:05:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8493316A4DE for ; Sat, 2 Sep 2006 07:05:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 246FD43D49 for ; Sat, 2 Sep 2006 07:05:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8275Ic7070128 for ; Sat, 2 Sep 2006 07:05:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8275HvM070125 for perforce@freebsd.org; Sat, 2 Sep 2006 07:05:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 07:05:17 GMT Message-Id: <200609020705.k8275HvM070125@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 105513 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 07:05:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=105513 Change 105513 by rwatson@rwatson_sesame on 2006/09/02 07:04:54 Update version number in configure, regen. Affected files ... .. //depot/projects/trustedbsd/openbsm/configure#26 edit .. //depot/projects/trustedbsd/openbsm/configure.ac#29 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/configure#26 (xtext) ==== @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#27 . +# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#28 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for OpenBSM 1.0a9. +# Generated by GNU Autoconf 2.59 for OpenBSM 1.0a10. # # Report bugs to . # @@ -424,8 +424,8 @@ # Identity of this package. PACKAGE_NAME='OpenBSM' PACKAGE_TARNAME='openbsm' -PACKAGE_VERSION='1.0a9' -PACKAGE_STRING='OpenBSM 1.0a9' +PACKAGE_VERSION='1.0a10' +PACKAGE_STRING='OpenBSM 1.0a10' PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org' ac_unique_file="bin/auditreduce/auditreduce.c" @@ -955,7 +955,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenBSM 1.0a9 to adapt to many kinds of systems. +\`configure' configures OpenBSM 1.0a10 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1021,7 +1021,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenBSM 1.0a9:";; + short | recursive ) echo "Configuration of OpenBSM 1.0a10:";; esac cat <<\_ACEOF @@ -1162,7 +1162,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -OpenBSM configure 1.0a9 +OpenBSM configure 1.0a10 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1176,7 +1176,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenBSM $as_me 1.0a9, which was +It was created by OpenBSM $as_me 1.0a10, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -19278,7 +19278,7 @@ # Define the identity of the package. PACKAGE=OpenBSM - VERSION=1.0a9 + VERSION=1.0a10 cat >>confdefs.h <<_ACEOF @@ -23478,7 +23478,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by OpenBSM $as_me 1.0a9, which was +This file was extended by OpenBSM $as_me 1.0a10, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23541,7 +23541,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenBSM config.status 1.0a9 +OpenBSM config.status 1.0a10 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ==== //depot/projects/trustedbsd/openbsm/configure.ac#29 (text+ko) ==== @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([OpenBSM], [1.0a9], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#28 $]) +AC_INIT([OpenBSM], [1.0a10], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#29 $]) 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 Sep 2 07:52:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63DD016A4E6; Sat, 2 Sep 2006 07:52:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 01F7E16A4E1 for ; Sat, 2 Sep 2006 07:52:19 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4963043D45 for ; Sat, 2 Sep 2006 07:52:18 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id DE6BF46B3E; Sat, 2 Sep 2006 03:52:17 -0400 (EDT) Date: Sat, 2 Sep 2006 08:52:17 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: "Andrew R. Reiter" In-Reply-To: <20060902024832.K58636@fledge.watson.org> Message-ID: <20060902084548.R84468@fledge.watson.org> References: <200609020625.k826PGWV066879@repoman.freebsd.org> <20060902024832.K58636@fledge.watson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Perforce Change Reviews Subject: Re: PERFORCE change 105508 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 07:52:19 -0000 On Sat, 2 Sep 2006, Andrew R. Reiter wrote: > Sorry if I missed a post; is there a project goin' on that explains this > work? Just curious not trying to pester :-) Basically, I'm currently looking at architectural subdivision of privilege inside the kernel, so that (among other things) those privileges may be individually granted or restricted, and to centralize the logic of jail in kern_jail.c, rather than distributing the jail decision in each individual piece of code. I'll submit an updated kern_jail.c that does this shortly (at least, some of this). This is similar to work done in the SEBSD/cap branches, but doesn't adopt the POSIX.1e/Linux subdivision of privileges into broad categories -- rather, it identifies a larger set of more specific privileges, which SEBSD or other policies can then coalesce into categories if they would like. One of the problems with both the POSIX.1e and Linux privilege subdivisions is that they tend to clump large numbers of preferably seperable privileges, such as the right to administer routes vs. the right to use interfaces in promiscuous mode or view IPSEC keys. This approach attempts to avoid that, while still permitting policies to take that approach if desired. Right now this is prototyping work, largely to identify the set of privileges and privilege abstractions; once things basically fit together, I'll send e-mail to trustedbsd-discuss and freebsd-arch with the specific proposal. Robert N M Watson Computer Laboratory University of Cambridge > > Peace/Cheers/blah, > andrew > > On Sat, 2 Sep 2006, Robert Watson wrote: > > :http://perforce.freebsd.org/chv.cgi?CH=105508 > : > :Change 105508 by rwatson@rwatson_sesame on 2006/09/02 06:24:56 > : > : Replace most kernel suser checks with more specific privilege > : checks. In some cases, significantly rework privilege logic to > : make more sense, such as in the file system handling of device > : permission override. Remove some unneeded suser checks in > : sysctl wrappers. > : > : Sponsored by: nCircle Network Security, Inc. > : > :Affected files ... > : > :.. //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/conf/files#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/ctau/if_ct.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/cx/if_cx.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/dcons/dcons_os.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/drm/drmP.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/fdc/fdc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/hwpmc/hwpmc_mod.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/if_ndis/if_ndis.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/kbd/kbd.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/lmc/if_lmc.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/nmdm/nmdm.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/null/null.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/ofw/ofw_console.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/random/randomdev.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/sbni/if_sbni.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/sbsh/if_sbsh.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/si/si.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/syscons/syscons.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/syscons/sysmouse.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/wi/if_wi.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/wl/if_wl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/dev/zs/zs.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_rule.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/hpfs/hpfs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/procfs/procfs_ioctl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/smbfs/smbfs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/udf/udf_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/fs/umapfs/umap_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/ext2fs/ext2_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_fs.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/i386/io.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/i386/sys_machdep.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/i386/vm86.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_misc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_socksys.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_sysi86.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_machdep.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/i4b/driver/i4b_ipr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ia64/ia64/ssc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/isofs/cd9660/cd9660_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_descrip.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_environment.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_exec.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ktr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ktrace.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_linker.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_ntptime.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_resource.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_shutdown.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_sysctl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_thr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/kern_xxx.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/subr_acl_posix1e.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/subr_firmware.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/subr_prf.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/subr_witness.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/sysv_msg.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/tty.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/tty_cons.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/tty_pts.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/tty_pty.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/uipc_mqueue.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/uipc_sem.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_mount.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_subr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/kern/vfs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/bpf.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_bridge.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_gre.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_ppp.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_sl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_tap.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/if_tun.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/ppp_tty.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/raw_usrreq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net/rtsock.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ioctl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netatalk/at_control.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_pcb.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netatm/atm_usrreq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_socket.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netgraph/ng_tty.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/in_pcb.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_carp.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_divert.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_mroute.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/raw_ip.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/tcp_subr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet/udp_usrreq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6_pcb.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet6/in6_src.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet6/ipsec.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netinet6/udp6_usrreq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netipsec/ipsec_osdep.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netipx/ipx_pcb.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netipx/ipx_usrreq.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_conn.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_mod.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netncp/ncp_subr.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netsmb/smb_conn.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/netsmb/smb_subr.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_syscalls.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/pc98/cbus/fdc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/posix4/p1003_1b.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_pipe.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/audit/audit_syscalls.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_internal.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac/mac_net.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac_bsdextended/mac_bsdextended.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac_partition/mac_partition.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac_portacl/mac_portacl.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/security/mac_seeotheruids/mac_seeotheruids.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/sys/jail.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/sys/sysctl.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/sys/systm.h#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_alloc.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vfsops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_extattr.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_quota.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_vnops.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/vm/swap_pager.c#2 edit > :.. //depot/projects/trustedbsd/priv/sys/vm/vm_mmap.c#2 edit > : > :Differences ... > : > :==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/io.c#2 (text+ko) ==== > : > :@@ -33,6 +33,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -54,7 +55,7 @@ > : { > : int error; > : > :- error = suser(td); > :+ error = priv_check(td, PRIV_IO); > : if (error != 0) > : return (error); > : error = securelevel_gt(td->td_ucred, 0); > : > :==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#2 (text+ko) ==== > : > :@@ -49,6 +49,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -1011,7 +1012,8 @@ > : * Keep cr_groups[0] unchanged to prevent that. > : */ > : > :- if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { > :+ if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, > :+ SUSER_ALLOWJAIL)) != 0) { > : PROC_UNLOCK(p); > : crfree(newcred); > : return (error); > : > :==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_uid16.c#2 (text+ko) ==== > : > :@@ -33,6 +33,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -123,7 +124,8 @@ > : * Keep cr_groups[0] unchanged to prevent that. > : */ > : > :- if ((error = suser_cred(oldcred, SUSER_ALLOWJAIL)) != 0) { > :+ if ((error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, > :+ SUSER_ALLOWJAIL)) != 0) { > : PROC_UNLOCK(p); > : crfree(newcred); > : return (error); > : > :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#2 (text+ko) ==== > : > :@@ -45,6 +45,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -279,7 +280,7 @@ > : goto out; > : > : if (td->td_ucred->cr_uid != vattr.va_uid && > :- (error = suser(td)) != 0) > :+ (error = priv_check(td, PRIV_VFS_ADMIN)) != 0) > : goto out; > : > : if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) > : > :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#2 (text+ko) ==== > : > :@@ -53,6 +53,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -610,7 +611,7 @@ > : struct file *fp; > : int error, vfslocked; > : > :- if ((error = suser(td)) != 0) > :+ if ((error = priv_check(td, PRIV_VFS_FCHROOT)) != 0) > : return error; > : if ((error = getvnode(fdp, uap->fd, &fp)) != 0) > : return error; > : > :==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_stat.c#2 (text+ko) ==== > : > :@@ -470,14 +470,10 @@ > : break; > : #if defined(WHY_DOES_AN_EMULATOR_WANT_TO_SET_HOSTNAMES) > : case SVR4_SI_SET_HOSTNAME: > :- if ((error = suser(td)) != 0) > :- return error; > : name = KERN_HOSTNAME; > : return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); > : > : case SVR4_SI_SET_SRPC_DOMAIN: > :- if ((error = suser(td)) != 0) > :- return error; > : name = KERN_NISDOMAINNAME; > : return kern_sysctl(&name, 1, 0, 0, uap->buf, rlen, td); > : #else > : > :==== //depot/projects/trustedbsd/priv/sys/conf/files#2 (text+ko) ==== > : > :@@ -1335,6 +1335,7 @@ > : kern/kern_physio.c standard > : kern/kern_pmc.c standard > : kern/kern_poll.c optional device_polling > :+kern/kern_priv.c standard > : kern/kern_proc.c standard > : kern/kern_prot.c standard > : kern/kern_resource.c standard > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cbq.c#2 (text+ko) ==== > : > :@@ -1062,7 +1062,9 @@ > : /* currently only command that an ordinary user can call */ > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_version > 700000) > :+ error = priv_check(p, PRIV_ALTQ_MANAGE); > :+#elsif (__FreeBSD_version > 400000) > : error = suser(p); > : #else > : error = suser(p->p_ucred, &p->p_acflag); > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#2 (text+ko) ==== > : > :@@ -1262,7 +1262,9 @@ > : case CDNR_GETSTATS: > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_versoin > 700000) > :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) > :+#elsif (__FreeBSD_version > 400000) > : if ((error = suser(p)) != 0) > : #else > : if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_hfsc.c#2 (text+ko) ==== > : > :@@ -1975,7 +1975,10 @@ > : case HFSC_GETSTATS: > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_version > 700000) > :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) > :+ return (error); > :+#elsif (__FreeBSD_version > 400000) > : if ((error = suser(p)) != 0) > : return (error); > : #else > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_priq.c#2 (text+ko) ==== > : > :@@ -772,7 +772,10 @@ > : case PRIQ_GETSTATS: > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_version > 700000) > :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) > :+ return (error); > :+#elsif (__FreeBSD_version > 400000) > : if ((error = suser(p)) != 0) > : return (error); > : #else > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_red.c#2 (text+ko) ==== > : > :@@ -781,7 +781,9 @@ > : case RED_GETSTATS: > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_version > 700000) > :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) > :+#elsif (__FreeBSD_version > 400000) > : if ((error = suser(p)) != 0) > : #else > : if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#2 (text+ko) ==== > : > :@@ -531,7 +531,10 @@ > : case RIO_GETSTATS: > : break; > : default: > :-#if (__FreeBSD_version > 400000) > :+#if (__FreeBSD_versoin > 700000) > :+ if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) > :+ return (error); > :+#elsif (__FreeBSD_version > 400000) > : if ((error = suser(p)) != 0) > : return (error); > : #else > : > :==== //depot/projects/trustedbsd/priv/sys/contrib/pf/net/if_pfsync.c#2 (text+ko) ==== > : > :@@ -54,6 +54,9 @@ > : #endif > : > : #include > :+#ifdef __FreeBSD__ > :+#include > :+#endif > : #include > : #include > : #include > :@@ -1057,7 +1060,7 @@ > : break; > : case SIOCSETPFSYNC: > : #ifdef __FreeBSD__ > :- if ((error = suser(curthread)) != 0) > :+ if ((error = priv_check(curthread, PRIV_NETINET_PF)) != 0) > : #else > : if ((error = suser(p, p->p_acflag)) != 0) > : #endif > : > :==== //depot/projects/trustedbsd/priv/sys/dev/an/if_an.c#2 (text+ko) ==== > : > :@@ -92,6 +92,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -1920,7 +1921,7 @@ > : break; > : #ifdef ANCACHE > : if (sc->areq.an_type == AN_RID_ZERO_CACHE) { > :- error = suser(td); > :+ error = priv_check(td, PRIV_DRIVER); > : if (error) > : break; > : sc->an_sigitems = sc->an_nextitem = 0; > :@@ -1944,7 +1945,7 @@ > : error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq)); > : break; > : case SIOCSAIRONET: > :- if ((error = suser(td))) > :+ if ((error = priv_check(td, PRIV_DRIVER))) > : goto out; > : error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); > : if (error != 0) > :@@ -1952,7 +1953,7 @@ > : an_setdef(sc, &sc->areq); > : break; > : case SIOCGPRIVATE_0: /* used by Cisco client utility */ > :- if ((error = suser(td))) > :+ if ((error = priv_check(td, PRIV_DRIVER))) > : goto out; > : error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); > : if (error) > :@@ -1974,7 +1975,7 @@ > : } > : break; > : case SIOCGPRIVATE_1: /* used by Cisco client utility */ > :- if ((error = suser(td))) > :+ if ((error = priv_check(td, PRIV_DRIVER))) > : goto out; > : error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); > : if (error) > :@@ -2226,7 +2227,7 @@ > : } > : break; > : case SIOCS80211: > :- if ((error = suser(td))) > :+ if ((error = priv_check(td, PRIV_NET80211_MANAGE))) > : goto out; > : sc->areq.an_len = sizeof(sc->areq); > : /* > : > :==== //depot/projects/trustedbsd/priv/sys/dev/arl/if_arl.c#2 (text+ko) ==== > : > :@@ -43,6 +43,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : > :@@ -504,7 +505,7 @@ > : break; > : > : case SIOCS80211: > :- if ((error = suser(td))) > :+ if ((error = priv_check(td, PRIV_NET80211_MANAGE))) > : break; > : switch (ireq->i_type) { > : case IEEE80211_IOC_SSID: > :@@ -577,7 +578,7 @@ > : } > : case SIOCGARLALL: > : bzero(&arlan_io, sizeof(arlan_io)); > :- if (!suser(td)) { > :+ if (!priv_check(td, PRIV_DRIVER)) { > : bcopy(ar->systemId, arlan_io.cfg.sid, 4); > : } > : > :@@ -616,7 +617,7 @@ > : } while (0) > : > : case SIOCSARLALL: > :- if (suser(td)) > :+ if (priv_check(td, PRIV_DRIVER)) > : break; > : > : user = (void *)ifr->ifr_data; > : > :==== //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#2 (text+ko) ==== > : > :@@ -117,6 +117,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -3114,7 +3115,7 @@ > : s = splcam (); > : if (ASR_ctlr_held) { > : error = EBUSY; > :- } else if ((error = suser(td)) == 0) { > :+ } else if ((error = priv_check(td, PRIV_DRIVER)) == 0) { > : ++ASR_ctlr_held; > : } > : splx(s); > : > :==== //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cd.c#2 (text+ko) ==== > : > :@@ -34,6 +34,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -257,8 +258,11 @@ > : cdp->flags |= F_LOCKED; > : break; > : > :+ /* > :+ * XXXRW: Why does this require privilege? > :+ */ > : case CDIOCRESET: > :- error = suser(td); > :+ error = priv_check(td, PRIV_DRIVER); > : if (error) > : break; > : error = acd_test_ready(dev); > : > :==== //depot/projects/trustedbsd/priv/sys/dev/ce/if_ce.c#2 (text+ko) ==== > : > :@@ -29,6 +29,7 @@ > : #if NPCI > 0 > : > : #include > :+#include > : #include > : #include > : #include > :@@ -1341,9 +1342,11 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :-#else /* __FreeBSD_version >= 500000 */ > :+#elsif __FreeBSD_version < 700000 > : error = suser (td); > :-#endif /* __FreeBSD_version >= 500000 */ > :+#else > :+ error = priv_check (td, PRIV_DRIVER); > :+#endif > : if (error) > : return error; > : #if __FreeBSD_version >= 600034 > :@@ -1380,8 +1383,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1408,8 +1413,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1426,8 +1433,10 @@ > : CE_DEBUG2 (d, ("ioctl: setcfg\n")); > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1526,8 +1535,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1560,8 +1571,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1586,8 +1599,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1608,8 +1623,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1634,8 +1651,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1658,8 +1677,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1686,8 +1707,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1708,8 +1731,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1734,8 +1759,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1758,8 +1785,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1784,8 +1813,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1810,8 +1841,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1836,8 +1869,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1867,8 +1902,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1892,8 +1929,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1909,8 +1948,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > :@@ -1945,8 +1986,10 @@ > : /* Only for superuser! */ > : #if __FreeBSD_version < 500000 > : error = suser (p); > :+#elsif __FreeBSD_version < 700000 > :+ error = suser (td); > : #else > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : #endif > : if (error) > : return error; > : > :==== //depot/projects/trustedbsd/priv/sys/dev/cp/if_cp.c#2 (text+ko) ==== > : > :@@ -33,6 +33,7 @@ > : #include > : #include > : #include > :+#include > : #include > : #include > : #include > :@@ -1071,7 +1072,7 @@ > : case SERIAL_SETPROTO: > : CP_DEBUG2 (d, ("ioctl: setproto\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (d->ifp->if_drv_flags & IFF_DRV_RUNNING) > :@@ -1102,7 +1103,7 @@ > : case SERIAL_SETKEEPALIVE: > : CP_DEBUG2 (d, ("ioctl: setkeepalive\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if ((IFP2SP(d->ifp)->pp_flags & PP_FR) || > :@@ -1126,7 +1127,7 @@ > : > : case SERIAL_SETMODE: > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (*(int*)data != SERIAL_HDLC) > :@@ -1142,7 +1143,7 @@ > : > : case SERIAL_SETCFG: > : CP_DEBUG2 (d, ("ioctl: setcfg\n")); > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1239,7 +1240,7 @@ > : case SERIAL_CLRSTAT: > : CP_DEBUG2 (d, ("ioctl: clrstat\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : c->rintr = 0; > :@@ -1268,7 +1269,7 @@ > : case SERIAL_SETBAUD: > : CP_DEBUG2 (d, ("ioctl: setbaud\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : s = splimp (); > :@@ -1286,7 +1287,7 @@ > : case SERIAL_SETLOOP: > : CP_DEBUG2 (d, ("ioctl: setloop\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : s = splimp (); > :@@ -1306,7 +1307,7 @@ > : case SERIAL_SETDPLL: > : CP_DEBUG2 (d, ("ioctl: setdpll\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_SERIAL) > :@@ -1328,7 +1329,7 @@ > : case SERIAL_SETNRZI: > : CP_DEBUG2 (d, ("ioctl: setnrzi\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_SERIAL) > :@@ -1348,7 +1349,7 @@ > : case SERIAL_SETDEBUG: > : CP_DEBUG2 (d, ("ioctl: setdebug\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : d->chan->debug = *(int*)data; > :@@ -1370,7 +1371,7 @@ > : case SERIAL_SETHIGAIN: > : CP_DEBUG2 (d, ("ioctl: sethigain\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1392,7 +1393,7 @@ > : case SERIAL_SETPHONY: > : CP_DEBUG2 (d, ("ioctl: setphony\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1414,7 +1415,7 @@ > : case SERIAL_SETUNFRAM: > : CP_DEBUG2 (d, ("ioctl: setunfram\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1436,7 +1437,7 @@ > : case SERIAL_SETSCRAMBLER: > : CP_DEBUG2 (d, ("ioctl: setscrambler\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_G703 && !c->unfram) > :@@ -1461,7 +1462,7 @@ > : case SERIAL_SETMONITOR: > : CP_DEBUG2 (d, ("ioctl: setmonitor\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1483,7 +1484,7 @@ > : case SERIAL_SETUSE16: > : CP_DEBUG2 (d, ("ioctl: setuse16\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1505,7 +1506,7 @@ > : case SERIAL_SETCRC4: > : CP_DEBUG2 (d, ("ioctl: setcrc4\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1) > :@@ -1538,7 +1539,7 @@ > : case SERIAL_SETCLK: > : CP_DEBUG2 (d, ("ioctl: setclk\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if (c->type != T_E1 && > :@@ -1571,7 +1572,7 @@ > : case SERIAL_SETTIMESLOTS: > : CP_DEBUG2 (d, ("ioctl: settimeslots\n")); > : /* Only for superuser! */ > :- error = suser (td); > :+ error = priv_check (td, PRIV_DRIVER); > : if (error) > : return error; > : if ((c->type != T_E1 || c->unfram) && c->type != T_DATA) > :@@ -1597,7 +1598,7 @@ > : > :>>> TRUNCATED FOR MAIL (1000 lines) <<< > : > : > > -- > arr@watson.org > From owner-p4-projects@FreeBSD.ORG Sat Sep 2 08:02:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2CD2116A4E6; Sat, 2 Sep 2006 08:02:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0853716A4E2 for ; Sat, 2 Sep 2006 08:02:35 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E2D243D70 for ; Sat, 2 Sep 2006 08:02:32 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8282WSN073123 for ; Sat, 2 Sep 2006 08:02:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8282VXb073120 for perforce@freebsd.org; Sat, 2 Sep 2006 08:02:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 08:02:31 GMT Message-Id: <200609020802.k8282VXb073120@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 105515 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 08:02:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=105515 Change 105515 by rwatson@rwatson_zoo on 2006/09/02 08:02:14 OpenBSM 1.0 alpha 10 tarball. Affected files ... .. //depot/projects/trustedbsd/www/downloads/openbsm-1.0-alpha10.tgz#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Sep 2 08:06:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B083416A4E1; Sat, 2 Sep 2006 08:06:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6F34616A4DA for ; Sat, 2 Sep 2006 08:06:38 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3586D43D49 for ; Sat, 2 Sep 2006 08:06:38 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8286csw074590 for ; Sat, 2 Sep 2006 08:06:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8286blB074586 for perforce@freebsd.org; Sat, 2 Sep 2006 08:06:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 2 Sep 2006 08:06:37 GMT Message-Id: <200609020806.k8286blB074586@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 105516 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 08:06:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=105516 Change 105516 by rwatson@rwatson_fledge on 2006/09/02 08:05:36 OpenBSM 1.0 alpha 10. Affected files ... .. //depot/projects/trustedbsd/www/openbsm.page#15 edit Differences ... ==== //depot/projects/trustedbsd/www/openbsm.page#15 (text+ko) ==== @@ -29,7 +29,7 @@ - $P4: //depot/projects/trustedbsd/www/openbsm.page#14 $ + $P4: //depot/projects/trustedbsd/www/openbsm.page#15 $ @@ -120,6 +120,15 @@ Please see the file README present in the OpenBSM distribution for build and installation instructions.

+

2006-09-02 - OpenBSM 1.0 alpha 10 release is a test release of the + OpenBSM code base, and matches what is present in FreeBSD CVS at + this date. + In this revision, auditd has been modified to submit complete audit + records, including full return information, as part of its + operation, as required by upcoming changes to the FreeBSD audit3 + implementation. + Download (464K).

+

2006-08-26 - OpenBSM 1.0 alpha 9 release is a test release of the OpenBSM code base, and matches what is present in FreeBSD CVS at this date. From owner-p4-projects@FreeBSD.ORG Sat Sep 2 11:00:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C932A16A4E6; Sat, 2 Sep 2006 11:00:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C69D16A4E1 for ; Sat, 2 Sep 2006 11:00:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F86343D46 for ; Sat, 2 Sep 2006 11:00:15 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82B0FOf097870 for ; Sat, 2 Sep 2006 11:00:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82B0FlN097867 for perforce@freebsd.org; Sat, 2 Sep 2006 11:00:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 2 Sep 2006 11:00:15 GMT Message-Id: <200609021100.k82B0FlN097867@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 105521 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 11:00:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=105521 Change 105521 by hselasky@hselasky_mini_itx on 2006/09/02 10:59:57 Finished reworking "umct". Please test! Affected files ... .. //depot/projects/usb/src/sys/dev/usb/umct.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/umct.c#4 (text+ko) ==== @@ -1,0 +1,889 @@ +/*- + * Copyright (c) 2003 Scott Long + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +/* + * Driver for the MCT (Magic Control Technology) USB-RS232 Converter. + * Based on the superb documentation from the linux mct_u232 driver by + * Wolfgang Grandeggar . + * This device smells a lot like the Belkin F5U103, except that it has + * suffered some mild brain-damage. This driver is based off of the ubsa.c + * driver from Alexander Kabaev . Merging the two together + * might be useful, though the subtle differences might lead to lots of + * #ifdef's. + */ + +/* + * NOTE: all function names beginning like "umct_cfg_" can only + * be called from within the config thread function ! + */ + +#include +#include +#include +#include +#include +#include +#include + +#define usbd_config_td_cc umct_config_copy +#define usbd_config_td_softc umct_softc + +#include +#include +#include +#include + +#include "usbdevs.h" + +__FBSDID("$FreeBSD: src/sys/dev/usb/umct.c,v 1.10 2006/02/12 17:32:59 glebius Exp $"); + +/* The UMCT advertises the standard 8250 UART registers */ +#define UMCT_GET_MSR 2 /* Get Modem Status Register */ +#define UMCT_GET_MSR_SIZE 1 +#define UMCT_GET_LCR 6 /* Get Line Control Register */ +#define UMCT_GET_LCR_SIZE 1 +#define UMCT_SET_BAUD 5 /* Set the Baud Rate Divisor */ +#define UMCT_SET_BAUD_SIZE 4 +#define UMCT_SET_LCR 7 /* Set Line Control Register */ +#define UMCT_SET_LCR_SIZE 1 +#define UMCT_SET_MCR 10 /* Set Modem Control Register */ +#define UMCT_SET_MCR_SIZE 1 + +#define UMCT_INTR_INTERVAL 100 +#define UMCT_IFACE_INDEX 0 +#define UMCT_CONFIG_INDEX 1 + +#define UMCT_ENDPT_MAX 6 /* units */ + +#define DPRINTF(...) + +struct umct_softc { + struct ucom_softc sc_ucom; + struct usbd_config_td sc_config_td; + struct usbd_memory_wait sc_mem_wait; + + struct usbd_device * sc_udev; + struct usbd_xfer * sc_xfer[UMCT_ENDPT_MAX]; + device_t sc_dev; + + u_int32_t sc_unit; + u_int32_t sc_baud; + u_int32_t sc_cflag; + + u_int16_t sc_obufsize; + + u_int8_t sc_break_onoff; + u_int8_t sc_dtr_onoff; + u_int8_t sc_rts_onoff; + + u_int8_t sc_lsr; + u_int8_t sc_msr; + u_int8_t sc_lcr; + u_int8_t sc_mcr; + + u_int8_t sc_name[16]; + u_int8_t sc_flags; +#define UMCT_FLAG_READ_STALL 0x01 +#define UMCT_FLAG_WRITE_STALL 0x02 +#define UMCT_FLAG_INTR_STALL 0x04 + u_int8_t sc_iface_no; +}; + +struct umct_config_copy { + u_int32_t baud; + u_int32_t cflag; + + u_int8_t dtr_onoff; + u_int8_t rts_onoff; + u_int8_t break_onoff; +}; + +static device_probe_t umct_probe; +static device_attach_t umct_attach; +static device_detach_t umct_detach; + +static void +umct_config_copy(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount); +static void +umct_cfg_do_request(struct umct_softc *sc, u_int8_t request, + u_int16_t len, u_int32_t value); +static void +umct_intr_clear_stall_callback(struct usbd_xfer *xfer); + +static void +umct_intr_callback(struct usbd_xfer *xfer); + +static void +umct_get_status(struct ucom_softc *ucom, + u_int8_t *lsr, u_int8_t *msr); +static void +umct_set_break(struct ucom_softc *ucom, u_int8_t onoff); + +static void +umct_cfg_set_break(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount); +static void +umct_set_dtr(struct ucom_softc *ucom, u_int8_t onoff); + +static void +umct_cfg_set_dtr(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount); +static void +umct_set_rts(struct ucom_softc *ucom, u_int8_t onoff); + +static void +umct_cfg_set_rts(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount); +static u_int8_t +umct_calc_baud(u_int32_t baud); + +static int +umct_param(struct ucom_softc *ucom, struct termios *ti); + +static void +umct_cfg_param(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount); +static int +umct_open(struct ucom_softc *ucom); + +static void +umct_close(struct ucom_softc *ucom); + +static void +umct_start_read(struct ucom_softc *ucom); + +static void +umct_stop_read(struct ucom_softc *ucom); + +static void +umct_start_write(struct ucom_softc *ucom); + +static void +umct_stop_write(struct ucom_softc *ucom); + +static void +umct_write_callback(struct usbd_xfer *xfer); + +static void +umct_write_clear_stall_callback(struct usbd_xfer *xfer); + +static void +umct_read_callback(struct usbd_xfer *xfer); + +static void +umct_read_clear_stall_callback(struct usbd_xfer *xfer); + +static const struct usbd_config umct_config[UMCT_ENDPT_MAX] = { + + [0] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = 0, /* use wMaxPacketSize */ + .flags = 0, + .callback = &umct_write_callback, + }, + + [1] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &umct_read_callback, + .index = 0, /* first interrupt endpoint */ + }, + + [2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &umct_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &umct_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, + + [4] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = USBD_SHORT_XFER_OK, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &umct_intr_callback, + .index = 1, /* second interrupt endpoint */ + }, + + [5] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = (USBD_USE_DMA), + .callback = &umct_intr_clear_stall_callback, + .timeout = 1000, /* 1 second */ + }, +}; + +static const struct ucom_callback umct_callback = { + .ucom_get_status = &umct_get_status, + .ucom_set_dtr = &umct_set_dtr, + .ucom_set_rts = &umct_set_rts, + .ucom_set_break = &umct_set_break, + .ucom_param = &umct_param, + .ucom_open = &umct_open, + .ucom_close = &umct_close, + .ucom_start_read = &umct_start_read, + .ucom_stop_read = &umct_stop_read, + .ucom_start_write = &umct_start_write, + .ucom_stop_write = &umct_stop_write, +}; + +static const struct umct_product { + uint16_t vendor; + uint16_t product; +} umct_products[] = { + { USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232 }, + { USB_VENDOR_MCT, USB_PRODUCT_MCT_SITECOM_USB232 }, + { USB_VENDOR_MCT, USB_PRODUCT_MCT_DU_H3SP_USB232 }, + { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U109 }, + { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U409 }, + { 0, 0 } +}; + +static device_method_t umct_methods[] = { + DEVMETHOD(device_probe, umct_probe), + DEVMETHOD(device_attach, umct_attach), + DEVMETHOD(device_detach, umct_detach), + { 0, 0 } +}; + +static driver_t umct_driver = { + "ucom", + umct_methods, + sizeof(struct umct_softc) +}; + +DRIVER_MODULE(umct, uhub, umct_driver, ucom_devclass, usbd_driver_load, 0); +MODULE_DEPEND(umct, usb, 1, 1, 1); +MODULE_DEPEND(umct, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); +MODULE_VERSION(umct, 1); + +static int +umct_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + u_int32_t i; + + if (uaa->iface != NULL) { + return UMATCH_NONE; + } + + for (i = 0; umct_products[i].vendor != 0; i++) { + if ((umct_products[i].vendor == uaa->vendor) && + (umct_products[i].product == uaa->product)) { + return UMATCH_VENDOR_PRODUCT; + } + } + return UMATCH_NONE; +} + +static int +umct_attach(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct umct_softc *sc = device_get_softc(dev); + struct usbd_interface *iface; + usb_interface_descriptor_t *id; + int32_t error; + + if (sc == NULL) { + return ENOMEM; + } + + sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_unit = device_get_unit(dev); + + usbd_set_desc(dev, uaa->device); + + snprintf(sc->sc_name, sizeof(sc->sc_name), + "%s", device_get_nameunit(dev)); + + error = usbd_set_config_index(uaa->device, UMCT_CONFIG_INDEX, 1); + if (error) { + device_printf(dev, "failed to set configuration: " + "%s\n", usbd_errstr(error)); + goto detach; + } + + iface = usbd_get_iface(uaa->device, UMCT_IFACE_INDEX); + if (iface == NULL) { + device_printf(dev, "no interface!\n"); + goto detach; + } + + id = usbd_get_interface_descriptor(iface); + if (id == NULL) { + device_printf(dev, "no interface descriptor!\n"); + goto detach; + } + + sc->sc_iface_no = id->bInterfaceNumber; + + error = usbd_transfer_setup(uaa->device, UMCT_IFACE_INDEX, + sc->sc_xfer, umct_config, UMCT_ENDPT_MAX, + sc, &Giant, &(sc->sc_mem_wait)); + if (error) { + device_printf(dev, "allocating USB " + "transfers failed!\n"); + goto detach; + } + + /* + * The real bulk-in endpoint is also marked as an interrupt. + * The only way to differentiate it from the real interrupt + * endpoint is to look at the wMaxPacketSize field. + */ + if (sc->sc_xfer[1]->max_packet_size == 0x2) { + + /* guessed wrong - switch around endpoints */ + + struct usbd_xfer *temp = sc->sc_xfer[4]; + sc->sc_xfer[4] = sc->sc_xfer[1]; + sc->sc_xfer[1] = temp; + + sc->sc_xfer[1]->callback = &umct_read_callback; + sc->sc_xfer[4]->callback = &umct_intr_callback; + } + + sc->sc_obufsize = sc->sc_xfer[0]->length; + + if (uaa->product == USB_PRODUCT_MCT_SITECOM_USB232) { + if (sc->sc_obufsize > 16) { + sc->sc_obufsize = 16; + } + } + + error = usbd_config_td_setup(&(sc->sc_config_td), sc, &Giant, + &umct_config_copy, NULL, + sizeof(struct umct_config_copy), 16); + if (error) { + device_printf(dev, "could not setup config " + "thread!\n"); + goto detach; + } + + sc->sc_ucom.sc_parent = sc; + sc->sc_ucom.sc_portno = 0; + sc->sc_ucom.sc_callback = &umct_callback; + + error = ucom_attach(&(sc->sc_ucom), dev); + + if (error) { + goto detach; + } + + return 0; /* success */ + + detach: + umct_detach(dev); + return ENXIO; /* failure */ +} + +static int +umct_detach(device_t dev) +{ + struct umct_softc *sc = device_get_softc(dev); + + mtx_lock(&Giant); + + usbd_config_td_stop(&(sc->sc_config_td)); + + mtx_unlock(&Giant); + + ucom_detach(&(sc->sc_ucom)); + + usbd_transfer_unsetup(sc->sc_xfer, UMCT_ENDPT_MAX); + + usbd_transfer_drain(&(sc->sc_mem_wait), &Giant); + + usbd_config_td_unsetup(&(sc->sc_config_td)); + + return 0; +} + +static void +umct_config_copy(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount) +{ + cc->baud = sc->sc_baud; + cc->cflag = sc->sc_cflag; + cc->dtr_onoff = sc->sc_dtr_onoff; + cc->rts_onoff = sc->sc_rts_onoff; + cc->break_onoff = sc->sc_break_onoff; + return; +} + +static void +umct_cfg_do_request(struct umct_softc *sc, u_int8_t request, + u_int16_t len, u_int32_t value) +{ + usb_device_request_t req; + usbd_status err; + u_int8_t temp[4]; + + if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + goto done; + } + + req.bmRequestType = UT_WRITE_VENDOR_DEVICE; + req.bRequest = request; + USETW(req.wValue, 0); + USETW(req.wIndex, sc->sc_iface_no); + USETW(req.wLength, len); + USETDW(temp, value); + + err = usbd_do_request_flags_mtx(sc->sc_udev, &Giant, &req, + temp, 0, NULL, 1000); + + if (err) { + DPRINTF(sc, 0, "device request failed, err=%s " + "(ignored)\n", usbd_errstr(err)); + } + done: + return; +} + +static void +umct_intr_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[4]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + + sc->sc_flags &= ~UMCT_FLAG_INTR_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + /* bomb out */ + sc->sc_flags &= ~UMCT_FLAG_INTR_STALL; + DPRINTF(sc, 0, "interrupt read pipe stopped\n"); + return; +} + +static void +umct_intr_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + u_int8_t *ptr = xfer->buffer; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + /* start clear stall */ + sc->sc_flags |= UMCT_FLAG_INTR_STALL; + usbd_transfer_start(sc->sc_xfer[5]); + } + return; + + tr_transferred: + if (xfer->actlen < 2) { + DPRINTF(sc, 0, "too short message\n"); + goto tr_setup; + } + + sc->sc_msr = ptr[0]; + sc->sc_lsr = ptr[1]; + + ucom_status_change(&(sc->sc_ucom)); + + tr_setup: + if (sc->sc_flags & UMCT_FLAG_INTR_STALL) { + usbd_transfer_start(sc->sc_xfer[5]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +umct_get_status(struct ucom_softc *ucom, + u_int8_t *lsr, u_int8_t *msr) +{ + struct umct_softc *sc = ucom->sc_parent; + + if (lsr != NULL) { + *lsr = sc->sc_lsr; + } + if (msr != NULL) { + *msr = sc->sc_msr; + } + return; +} + +static void +umct_set_break(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct umct_softc *sc = ucom->sc_parent; + + sc->sc_break_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &umct_cfg_set_break, 0); + return; +} + +static void +umct_cfg_set_break(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + /* nothing to do */ + return; + } + + sc->sc_lcr &= ~0x40; + sc->sc_lcr |= (cc->break_onoff) ? 0x40 : 0; + umct_cfg_do_request(sc, UMCT_SET_LCR, UMCT_SET_LCR_SIZE, sc->sc_lcr); + return; +} + +static void +umct_set_dtr(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct umct_softc *sc = ucom->sc_parent; + + sc->sc_dtr_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &umct_cfg_set_dtr, 0); + return; +} + +static void +umct_cfg_set_dtr(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + /* nothing to do */ + return; + } + + sc->sc_mcr &= ~0x01; + sc->sc_mcr |= (cc->dtr_onoff) ? 0x01 : 0; + umct_cfg_do_request(sc, UMCT_SET_MCR, UMCT_SET_MCR_SIZE, sc->sc_mcr); + return; +} + +static void +umct_set_rts(struct ucom_softc *ucom, u_int8_t onoff) +{ + struct umct_softc *sc = ucom->sc_parent; + + sc->sc_rts_onoff = onoff; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &umct_cfg_set_rts, 0); + return; +} + +static void +umct_cfg_set_rts(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount) +{ + if (cc == NULL) { + /* nothing to do */ + return; + } + + sc->sc_mcr &= ~0x2; + sc->sc_mcr |= (cc->rts_onoff) ? 0x02 : 0; + umct_cfg_do_request(sc, UMCT_SET_MCR, UMCT_SET_MCR_SIZE, sc->sc_mcr); + return; +} + +static u_int8_t +umct_calc_baud(u_int32_t baud) +{ + switch(baud) { + case B300: return (0x1); + case B600: return (0x2); + case B1200: return (0x3); + case B2400: return (0x4); + case B4800: return (0x6); + case B9600: return (0x8); + case B19200: return (0x9); + case B38400: return (0xa); + case B57600: return (0xb); + case 115200: return (0xc); + case B0: + default: + break; + } + return (0x0); +} + +static int +umct_param(struct ucom_softc *ucom, struct termios *ti) +{ + struct umct_softc *sc = ucom->sc_parent; + + sc->sc_baud = ti->c_ospeed; + sc->sc_cflag = ti->c_cflag; + + usbd_config_td_queue_command + (&(sc->sc_config_td), &umct_cfg_param, 0); + + return 0; +} + +static void +umct_cfg_param(struct umct_softc *sc, + struct umct_config_copy *cc, u_int16_t refcount) +{ + u_int32_t value; + + if (cc == NULL) { + /* nothing to do */ + return; + } + + value = umct_calc_baud(cc->baud); + umct_cfg_do_request(sc, UMCT_SET_BAUD, UMCT_SET_BAUD_SIZE, value); + + value = (sc->sc_lcr & 0x40); + + switch (cc->cflag & CSIZE) { + case CS5: value |= 0x0; break; + case CS6: value |= 0x1; break; + case CS7: value |= 0x2; break; + case CS8: value |= 0x3; break; + default: value |= 0x0; break; + } + + value |= (cc->cflag & CSTOPB) ? 0x4 : 0; + if (cc->cflag & PARENB) { + value |= 0x8; + value |= (cc->cflag & PARODD) ? 0x0 : 0x10; + } + + /* + * XXX There doesn't seem to be a way to tell the device + * to use flow control. + */ + + sc->sc_lcr = value; + umct_cfg_do_request(sc, UMCT_SET_LCR, UMCT_SET_LCR_SIZE, value); + + return; +} + +static int +umct_open(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_start(sc->sc_xfer[4]); + return 0; +} + +static void +umct_close(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_stop(sc->sc_xfer[5]); + usbd_transfer_stop(sc->sc_xfer[4]); + return; +} + +static void +umct_start_read(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_start(sc->sc_xfer[1]); + return; +} + +static void +umct_stop_read(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[1]); + return; +} + +static void +umct_start_write(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_start(sc->sc_xfer[0]); + return; +} + +static void +umct_stop_write(struct ucom_softc *ucom) +{ + struct umct_softc *sc = ucom->sc_parent; + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[0]); + return; +} + +static void +umct_write_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + u_int32_t actlen; + + USBD_CHECK_STATUS(xfer); + +tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flags |= UMCT_FLAG_WRITE_STALL; + usbd_transfer_start(sc->sc_xfer[2]); + } + return; + +tr_setup: +tr_transferred: + if (sc->sc_flags & UMCT_FLAG_WRITE_STALL) { + usbd_transfer_start(sc->sc_xfer[2]); + return; + } + + if(ucom_get_data(&(sc->sc_ucom), xfer->buffer, sc->sc_obufsize, + &actlen)) { + + xfer->length = actlen; + usbd_start_hardware(xfer); + } + return; +} + +static void +umct_write_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + sc->sc_flags &= ~UMCT_FLAG_WRITE_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + sc->sc_flags &= ~UMCT_FLAG_WRITE_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} + +static void +umct_read_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + u_int8_t *ptr = xfer->buffer; + + USBD_CHECK_STATUS(xfer); + + tr_error: + if (xfer->error != USBD_CANCELLED) { + sc->sc_flags |= UMCT_FLAG_READ_STALL; + usbd_transfer_start(sc->sc_xfer[3]); + } + return; + + tr_transferred: + if (xfer->actlen) { + ucom_put_data(&(sc->sc_ucom), ptr, xfer->actlen); + } + + tr_setup: + if (sc->sc_flags & UMCT_FLAG_READ_STALL) { + usbd_transfer_start(sc->sc_xfer[3]); + } else { + usbd_start_hardware(xfer); + } + return; +} + +static void +umct_read_clear_stall_callback(struct usbd_xfer *xfer) +{ + struct umct_softc *sc = xfer->priv_sc; + struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + + USBD_CHECK_STATUS(xfer); + + tr_setup: + /* start clear stall */ + usbd_clear_stall_tr_setup(xfer, xfer_other); + return; + + tr_transferred: + usbd_clear_stall_tr_transferred(xfer, xfer_other); + sc->sc_flags &= ~UMCT_FLAG_READ_STALL; + usbd_transfer_start(xfer_other); + return; + + tr_error: + sc->sc_flags &= ~UMCT_FLAG_READ_STALL; + DPRINTF(sc, 0, "clear stall failed, error=%s\n", + usbd_errstr(xfer->error)); + return; +} From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:40:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E440916A4E0; Sat, 2 Sep 2006 15:40:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDB9B16A4DE for ; Sat, 2 Sep 2006 15:40:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63E9243D45 for ; Sat, 2 Sep 2006 15:40:11 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FeB1a028196 for ; Sat, 2 Sep 2006 15:40:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82FeBl8028193 for perforce@freebsd.org; Sat, 2 Sep 2006 15:40:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:40:11 GMT Message-Id: <200609021540.k82FeBl8028193@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 105532 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:40:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=105532 Change 105532 by gonzo@gonzo_hideout on 2006/09/02 15:39:18 o On the moment pick up TLS variant II for MIPS TLS. Affected files ... .. //depot/projects/mips2/src/lib/libc/gen/tls.c#3 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/gen/tls.c#3 (text+ko) ==== @@ -62,7 +62,7 @@ #define TLS_VARIANT_I #endif #if defined(__i386__) || defined(__amd64__) || defined(__sparc64__) || \ - defined(__arm__) + defined(__arm__) || defined(__mips__) #define TLS_VARIANT_II #endif From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:47:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 94F1916A4DF; Sat, 2 Sep 2006 15:47:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 59E8816A4DA for ; Sat, 2 Sep 2006 15:47:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 14FC743D4C for ; Sat, 2 Sep 2006 15:47:21 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FlKqt028638 for ; Sat, 2 Sep 2006 15:47:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82FlKMZ028632 for perforce@freebsd.org; Sat, 2 Sep 2006 15:47:20 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:47:20 GMT Message-Id: <200609021547.k82FlKMZ028632@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 105533 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:47:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=105533 Change 105533 by gonzo@gonzo_hideout on 2006/09/02 15:46:22 o Add dummy _set_tp implementation. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/_set_tp.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:47:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2F8E16A554; Sat, 2 Sep 2006 15:47:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF60E16A51C for ; Sat, 2 Sep 2006 15:47:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6636D43D4C for ; Sat, 2 Sep 2006 15:47:21 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FlLoo028648 for ; Sat, 2 Sep 2006 15:47:21 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82FlLZc028641 for perforce@freebsd.org; Sat, 2 Sep 2006 15:47:21 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:47:21 GMT Message-Id: <200609021547.k82FlLZc028641@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 105534 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:47:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=105534 Change 105534 by gonzo@gonzo_hideout on 2006/09/02 15:47:11 o Clean out unused files. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/_lwp.c#2 delete .. //depot/projects/mips2/src/lib/libc/mips/gen/_resumecontext.S#2 delete .. //depot/projects/mips2/src/lib/libc/mips/gen/cacheflush.c#2 delete .. //depot/projects/mips2/src/lib/libc/mips/gen/resumecontext.c#2 delete .. //depot/projects/mips2/src/lib/libc/mips/gen/swapcontext.S#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:50:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59C3016A4DE; Sat, 2 Sep 2006 15:50:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19B1016A4DD for ; Sat, 2 Sep 2006 15:50:26 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D854143D46 for ; Sat, 2 Sep 2006 15:50:25 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FoPX9028784 for ; Sat, 2 Sep 2006 15:50:25 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82FoPFU028781 for perforce@freebsd.org; Sat, 2 Sep 2006 15:50:25 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:50:25 GMT Message-Id: <200609021550.k82FoPFU028781@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 105535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:50:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=105535 Change 105535 by gonzo@gonzo_hideout on 2006/09/02 15:49:26 o Replace NetBSDish types like fp_except/fp_rnd with fp_except_t/fp_rnd_t. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/fpgetmask.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/fpgetround.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/fpgetsticky.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/fpsetmask.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/fpsetround.c#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/gen/fpgetmask.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ __weak_alias(fpgetmask,_fpgetmask) #endif -fp_except +fp_except_t fpgetmask() { int x; ==== //depot/projects/mips2/src/lib/libc/mips/gen/fpgetround.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ __weak_alias(fpgetround,_fpgetround) #endif -fp_rnd +fp_rnd_t fpgetround() { int x; ==== //depot/projects/mips2/src/lib/libc/mips/gen/fpgetsticky.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ __weak_alias(fpgetsticky,_fpgetsticky) #endif -fp_except +fp_except_t fpgetsticky() { int x; ==== //depot/projects/mips2/src/lib/libc/mips/gen/fpsetmask.c#2 (text+ko) ==== @@ -18,12 +18,12 @@ __weak_alias(fpsetmask,_fpsetmask) #endif -fp_except +fp_except_t fpsetmask(mask) - fp_except mask; + fp_except_t mask; { - fp_except old; - fp_except new; + fp_except_t old; + fp_except_t new; __asm("cfc1 %0,$31" : "=r" (old)); ==== //depot/projects/mips2/src/lib/libc/mips/gen/fpsetround.c#2 (text+ko) ==== @@ -18,12 +18,11 @@ __weak_alias(fpsetround,_fpsetround) #endif -fp_rnd -fpsetround(rnd_dir) - fp_rnd rnd_dir; +fp_rnd_t +fpsetround(fp_rnd_t rnd_dir) { - fp_rnd old; - fp_rnd new; + fp_rnd_t old; + fp_rnd_t new; __asm("cfc1 %0,$31" : "=r" (old)); From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:57:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0E8D16A4DE; Sat, 2 Sep 2006 15:57:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 947F116A4DA for ; Sat, 2 Sep 2006 15:57:35 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D2CC43D45 for ; Sat, 2 Sep 2006 15:57:35 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FvZF1029787 for ; Sat, 2 Sep 2006 15:57:35 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82FvYto029784 for perforce@freebsd.org; Sat, 2 Sep 2006 15:57:34 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:57:34 GMT Message-Id: <200609021557.k82FvYto029784@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 105536 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:57:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=105536 Change 105536 by gonzo@gonzo_hideout on 2006/09/02 15:57:32 o Add stubs for (sigi|_)?(set|long)jmp functions. o Add stubs for context handling routines. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/longjmp.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/makecontext.c#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/setjmp.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/gen/signalcontext.c#1 add .. //depot/projects/mips2/src/lib/libc/mips/gen/sigsetjmp.S#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/gen/longjmp.c#2 (text+ko) ==== @@ -45,10 +45,6 @@ #include -#define __LIBC12_SOURCE__ -#include -#include - void __longjmp14(jmp_buf env, int val) { ==== //depot/projects/mips2/src/lib/libc/mips/gen/makecontext.c#2 (text+ko) ==== @@ -44,13 +44,14 @@ #include #include #include -#include "extern.h" #include void makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) { + /* XXXMIPS: Implement me */ +#if 0 __greg_t *gr = ucp->uc_mcontext.__gregs; uintptr_t *sp; int i; @@ -82,4 +83,5 @@ /* LINTED uintptr_t is safe */ *sp++ = va_arg(ap, uintptr_t); va_end(ap); +#endif } ==== //depot/projects/mips2/src/lib/libc/mips/gen/setjmp.S#2 (text+ko) ==== @@ -32,12 +32,8 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include -#include -#include +#include +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93") @@ -61,7 +57,7 @@ #define SETJMP_FRAME_SIZE (CALLFRAME_SIZ + 12) -NON_LEAF(__setjmp14, SETJMP_FRAME_SIZE, ra) +NESTED(setjmp, SETJMP_FRAME_SIZE, ra) .mask 0x80000000, (CALLFRAME_RA - CALLFRAME_SIZ) #ifdef __ABICALLS__ .set noreorder @@ -78,13 +74,13 @@ /* Get the signal mask. */ addu a2, a0, _OFFSETOF_SC_MASK # &sc.sc_mask move a1, zero - jal _C_LABEL(__sigprocmask14) # get current signal mask + # XXXMIPS: jal _C_LABEL(__sigprocmask14) # get current signal mask move a0, zero # (in delay slot) /* Get the signal stack. */ move a0, zero addu a1, sp, CALLFRAME_SIZ # pointer to struct sigaltstack - jal _C_LABEL(__sigaltstack14) + # XXXMIPS: jal _C_LABEL(__sigaltstack14) nop lw v1, CALLFRAME_SIZ+8(sp) # get old ss_onstack lw a0, SETJMP_FRAME_SIZE(sp) # restore sc pointer @@ -99,18 +95,18 @@ REG_PROLOGUE REG_S ra, (2 * 4)(a0) # sc_pc = return address REG_LI v0, 0xACEDBADE # sigcontext magic number - REG_S v0, (_OFFSETOF_SC_REGS + _R_ZERO * SZREG)(a0) # saved in sc_regs[0] - REG_S s0, (_OFFSETOF_SC_REGS + _R_S0 * SZREG)(a0) - REG_S s1, (_OFFSETOF_SC_REGS + _R_S1 * SZREG)(a0) - REG_S s2, (_OFFSETOF_SC_REGS + _R_S2 * SZREG)(a0) - REG_S s3, (_OFFSETOF_SC_REGS + _R_S3 * SZREG)(a0) - REG_S s4, (_OFFSETOF_SC_REGS + _R_S4 * SZREG)(a0) - REG_S s5, (_OFFSETOF_SC_REGS + _R_S5 * SZREG)(a0) - REG_S s6, (_OFFSETOF_SC_REGS + _R_S6 * SZREG)(a0) - REG_S s7, (_OFFSETOF_SC_REGS + _R_S7 * SZREG)(a0) - REG_S gp, (_OFFSETOF_SC_REGS + _R_GP * SZREG)(a0) - REG_S sp, (_OFFSETOF_SC_REGS + _R_SP * SZREG)(a0) - REG_S s8, (_OFFSETOF_SC_REGS + _R_S8 * SZREG)(a0) + REG_S v0, (_OFFSETOF_SC_REGS + ZERO * SZREG)(a0) # saved in sc_regs[0] + REG_S s0, (_OFFSETOF_SC_REGS + S0 * SZREG)(a0) + REG_S s1, (_OFFSETOF_SC_REGS + S1 * SZREG)(a0) + REG_S s2, (_OFFSETOF_SC_REGS + S2 * SZREG)(a0) + REG_S s3, (_OFFSETOF_SC_REGS + S3 * SZREG)(a0) + REG_S s4, (_OFFSETOF_SC_REGS + S4 * SZREG)(a0) + REG_S s5, (_OFFSETOF_SC_REGS + S5 * SZREG)(a0) + REG_S s6, (_OFFSETOF_SC_REGS + S6 * SZREG)(a0) + REG_S s7, (_OFFSETOF_SC_REGS + S7 * SZREG)(a0) + REG_S gp, (_OFFSETOF_SC_REGS + GP * SZREG)(a0) + REG_S sp, (_OFFSETOF_SC_REGS + SP * SZREG)(a0) + REG_S s8, (_OFFSETOF_SC_REGS + S8 * SZREG)(a0) li v0, 1 # be nice if we could tell sw v0, (_OFFSETOF_SC_REGS + 34 * SZREG)(a0) # sc_fpused = 1 cfc1 v0, $31 @@ -132,4 +128,9 @@ REG_EPILOGUE botch: jal _C_LABEL(abort) -END(__setjmp14) +END(setjmp) + +WEAK_ALIAS(longjmp, __longjmp) +LEAF(__longjmp) + j ra +END(__longjmp) ==== //depot/projects/mips2/src/lib/libc/mips/gen/sigsetjmp.S#2 (text+ko) ==== @@ -32,10 +32,8 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include +#include +#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93") @@ -58,31 +56,33 @@ * signal mask. */ -LEAF(__sigsetjmp14) +LEAF(sigsetjmp) #ifdef __ABICALLS__ .set noreorder .cpload t9 .set reorder #endif - sw a1, (_JBLEN*4)(a0) # save "savemask" - bne a1, 0x0, 1f # do saving of signal mask? + WEAK_ALIAS(__sigsetjmp, sigsetjmp) + # XXXMIPS: sw a1, (_JBLEN*4)(a0) # save "savemask" + # XXXMIPS: bne a1, 0x0, 1f # do saving of signal mask? la t9, _setjmp jr t9 -1: la t9, __setjmp14 +1: la t9, setjmp jr t9 -END(__sigsetjmp14) +END(sigsetjmp) -LEAF(__siglongjmp14) +LEAF(siglongjmp) #ifdef __ABICALLS__ .set noreorder .cpload t9 .set reorder #endif - lw t0, (_JBLEN * 4)(a0) # get "savemask" - bne t0, 0x0, 1f # restore signal mask? + WEAK_ALIAS(__siglongjmp, siglongjmp) + # XXXMIPS: lw t0, (_JBLEN * 4)(a0) # get "savemask" + # XXXMIPS: bne t0, 0x0, 1f # restore signal mask? la t9, _longjmp jr t9 -1: la t9, __longjmp14 +1: la t9, __longjmp jr t9 -END(__siglongjmp14) +END(siglongjmp) From owner-p4-projects@FreeBSD.ORG Sat Sep 2 15:59:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FDBF16A4E0; Sat, 2 Sep 2006 15:59:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4387916A4DD for ; Sat, 2 Sep 2006 15:59:39 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1020843D45 for ; Sat, 2 Sep 2006 15:59:39 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82FxcZB030545 for ; Sat, 2 Sep 2006 15:59:38 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82Fxc92030542 for perforce@freebsd.org; Sat, 2 Sep 2006 15:59:38 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 15:59:38 GMT Message-Id: <200609021559.k82Fxc92030542@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 105537 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 15:59:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=105537 Change 105537 by gonzo@gonzo_hideout on 2006/09/02 15:58:43 o Make neat Makefile for libc/mips/gen. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/Makefile.inc#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/gen/Makefile.inc#2 (text+ko) ==== @@ -1,32 +1,8 @@ # $NetBSD: Makefile.inc,v 1.27 2005/10/07 17:16:40 tsutsui Exp $ -SRCS+= fabs.S ldexp.S modf.S - -# Common ieee754 constants and functions -SRCS+= infinityf_ieee754.c infinity_ieee754.c infinityl_dbl_ieee754.c -SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c -SRCS+= frexp_ieee754.c -SRCS+= isinff_ieee754.c isinfd_ieee754.c -SRCS+= isnanf_ieee754.c isnand_ieee754.c -SRCS+= isfinitef_ieee754.c isfinited_ieee754.c -SRCS+= signbitf_ieee754.c signbitd_ieee754.c +SRCS+= infinity.c fabs.S ldexp.S modf.S -SRCS+= nanf.c - SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \ fpsetround.c fpsetsticky.c -SRCS+= setjmp.S longjmp.c -SRCS+= _setjmp.S -SRCS+= sigsetjmp.S -SRCS+= byte_swap_2.S byte_swap_4.S bswap64.c - -SRCS+= makecontext.c resumecontext.c _resumecontext.S swapcontext.S _lwp.c - -# mips abi builtin extensions (used by GCC for lexical-closure trampoline) -SRCS+= cacheflush.c - -SRCS.mips.gen= Lint__setjmp.c Lint_bswap16.c Lint_bswap32.c Lint_swapcontext.c -LSRCS+= ${SRCS.mips.gen} -DPSRCS+= ${SRCS.mips.gen} -CLEANFILES+= ${SRCS.mips.gen} +SRCS+= _set_tp.c _setjmp.S makecontext.c setjmp.S signalcontext.c sigsetjmp.S From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:02:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 113C916A4E2; Sat, 2 Sep 2006 16:02:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD52816A4DF for ; Sat, 2 Sep 2006 16:02:43 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CBB643D46 for ; Sat, 2 Sep 2006 16:02:43 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82G2hLX030747 for ; Sat, 2 Sep 2006 16:02:43 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82G2h01030744 for perforce@freebsd.org; Sat, 2 Sep 2006 16:02:43 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:02:43 GMT Message-Id: <200609021602.k82G2h01030744@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 105538 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:02:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=105538 Change 105538 by gonzo@gonzo_hideout on 2006/09/02 16:02:20 o Change __time_t from 64 bits to 32 bits, since it causes problems with -Wcast-align while building usr.bin. Added to TODO list. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/_types.h#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/_types.h#4 (text+ko) ==== @@ -82,7 +82,7 @@ typedef __int32_t __segsz_t; /* segment size (in pages) */ typedef __uint32_t __size_t; /* sizeof() */ typedef __int32_t __ssize_t; /* byte count or error */ -typedef __int64_t __time_t; /* time()... */ +typedef __int32_t __time_t; /* time()... */ typedef __uint32_t __uintfptr_t; typedef __uint64_t __uintmax_t; typedef __uint32_t __uintptr_t; From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:08:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1824516A4E6; Sat, 2 Sep 2006 16:08:53 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B497416A4E1 for ; Sat, 2 Sep 2006 16:08:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B5F543D45 for ; Sat, 2 Sep 2006 16:08:52 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82G8quY032358 for ; Sat, 2 Sep 2006 16:08:52 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82G8qrG032355 for perforce@freebsd.org; Sat, 2 Sep 2006 16:08:52 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:08:52 GMT Message-Id: <200609021608.k82G8qrG032355@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 105539 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:08:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=105539 Change 105539 by gonzo@gonzo_hideout on 2006/09/02 16:08:03 o Get macroses for MIPS assembly from NetBSD tree. o Put NetBSD's mips/include/asm.h copyrights. o Some additional call-frame defines added. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/asm.h#7 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/asm.h#7 (text+ko) ==== @@ -1,9 +1,11 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. +/* $NetBSD: asm.h,v 1.37 2006/01/20 22:02:40 christos Exp $ */ + +/* + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by - * William Jolitz. + * Ralph Campbell. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -13,7 +15,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -29,8 +31,24 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)DEFS.h 5.1 (Berkeley) 4/23/90 - * $FreeBSD: src/sys/amd64/include/asm.h,v 1.17 2005/04/10 20:49:21 alc Exp $ + * @(#)machAsmDefs.h 8.1 (Berkeley) 6/10/93 + */ + +/* + * machAsmDefs.h -- + * + * Macros used when writing assembler programs. + * + * Copyright (C) 1989 Digital Equipment Corporation. + * Permission to use, copy, modify, and distribute this software and + * its documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appears in all copies. + * Digital Equipment Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * from: Header: /sprite/src/kernel/mach/ds3100.md/RCS/machAsmDefs.h, + * v 1.2 89/08/15 18:28:24 rab Exp SPRITE (DECWRL) */ #ifndef _MACHINE_ASM_H_ @@ -101,59 +119,158 @@ #define ta2 $10 #define ta3 $11 -/* XXX: values which depends on register size. - * Used for sigcontext/mcontext_t handling. +#ifdef __ELF__ +# define _C_LABEL(x) x +#else +# ifdef __STDC__ +# define _C_LABEL(x) _ ## x +# else +# define _C_LABEL(x) _/**/x +# endif +#endif + +/* + * WEAK_ALIAS: create a weak alias. + */ +#define WEAK_ALIAS(alias,sym) \ + .weak alias; \ + alias = sym +/* + * STRONG_ALIAS: create a strong alias. */ -#define SZREG 4 -#define _OFFSETOF_SC_REGS 8 +#define STRONG_ALIAS(alias,sym) \ + .globl alias; \ + alias = sym + +#define GLOBAL(sym) \ + .globl sym; sym: + +#define ENTRY(sym) \ + .text; .globl sym; .ent sym; sym: -#if 0 -/* XXX: Should this be kt0 or kt1? */ -/* In the kernel, we use t7 to point at the per-cpu globals. */ -#ifdef _KERNEL -#define pcpup $8 -#endif -#endif +#define ASM_ENTRY(sym) \ + .text; .globl sym; .type sym,@function; sym: /* - * XXXMIPS: I don't like #ifdef noyet, since vim doesn't seem to understand - * it. + * LEAF + * A leaf routine does + * - call no other function, + * - never use any register that callee-saved (S0-S8), and + * - not use any local stack storage. */ -#if 0 +#define LEAF(x) \ + .globl _C_LABEL(x); \ + .ent _C_LABEL(x), 0; \ +_C_LABEL(x): ; \ + .frame sp, 0, ra; + /* - * Load the global pointer. + * STATIC_LEAF + * Declare a local leaf function. */ -#define LDGP(reg) \ - ldgp gp, 0(reg) -#endif /* notyet */ +#define STATIC_LEAF(x) \ + .ent _C_LABEL(x), 0; \ +_C_LABEL(x): ; \ + .frame sp, 0, ra; /* - * XXXMIPS: Stolen from juli's code. - * begin + * XLEAF + * declare alternate entry to leaf routine */ +#define XLEAF(x) \ + .globl _C_LABEL(x); \ + AENT (_C_LABEL(x)); \ +_C_LABEL(x): -#define GLOBAL(sym) \ - .globl sym; sym: +/* + * STATIC_XLEAF + * declare alternate entry to a static leaf routine + */ +#define STATIC_XLEAF(x) \ + AENT (_C_LABEL(x)); \ +_C_LABEL(x): + +/* + * NESTED + * A function calls other functions and needs + * therefore stack space to save/restore registers. + */ +#define NESTED(x, fsize, retpc) \ + .globl _C_LABEL(x); \ + .ent _C_LABEL(x), 0; \ +_C_LABEL(x): ; \ + .frame sp, fsize, retpc; -#define XLEAF(sym) \ - .globl sym; sym: +/* + * XNESTED + * declare alternate entry point to nested routine. + */ +#define XNESTED(x) \ + .globl _C_LABEL(x); \ + AENT (_C_LABEL(x)); \ +_C_LABEL(x): -#define LEAF(sym) \ - .globl sym; .ent sym; sym: .frame sp, 0, ra +/* + * END + * Mark end of a procedure. + */ +#define END(x) \ + .end _C_LABEL(x) -#define ENTRY(sym) \ - .text; .globl sym; .ent sym; sym: -#define ASM_ENTRY(sym) \ - .text; .globl sym; .type sym,@function; sym: +/* + * standard callframe { + * register_t cf_args[4]; arg0 - arg3 + * register_t cf_sp; frame pointer + * register_t cf_ra; return address + * }; + */ +#define CALLFRAME_SIZ (4 * (4 + 2)) +#define CALLFRAME_SP (4 * 4) +#define CALLFRAME_RA (4 * 5) -#define END(sym) \ - .end sym +/* + * While it would be nice to be compatible with the SGI + * REG_L and REG_S macros, because they do not take parameters, it + * is impossible to use them with the _MIPS_SIM_ABIX32 model. + * + * These macros hide the use of mips3 instructions from the + * assembler to prevent the assembler from generating 64-bit style + * ABI calls. + */ -/* XXXMIPS: end */ +#if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32 +#define REG_L lw +#define REG_S sw +#define REG_LI li +#define REG_PROLOGUE .set push +#define REG_EPILOGUE .set pop +#define SZREG 4 +#else +#define REG_L ld +#define REG_S sd +#define REG_LI dli +#define REG_PROLOGUE .set push ; .set mips3 +#define REG_EPILOGUE .set pop +#define SZREG 8 +#endif /* _MIPS_BSD_API */ +/* + * XXX: Values which depends on register size. Used for sigcontext/mcontext_t + * handling. Should to be checked and replaced in _setjmp/_longjmp functions. + */ +#if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32 +#define _OFFSETOF_SC_REGS 12 +#define _OFFSETOF_SC_FPREGS 152 +#define _OFFSETOF_SC_MASK 320 +#else +#define _OFFSETOF_SC_REGS 16 +#define _OFFSETOF_SC_FPREGS 292 +#define _OFFSETOF_SC_MASK 460 +#endif +/* XXXMIPS: end */ #define RCSID(x) .text; .asciz x #undef __FBSDID @@ -163,14 +280,18 @@ #define __FBSDID(s) /* nothing */ #endif /* not lint and not STRIP_FBSDID */ -#ifdef __ELF__ -# define _C_LABEL(x) x +#ifdef __STDC__ +#define WARN_REFERENCES(sym,msg) \ + .stabs msg ## ,30,0,0,0 ; \ + .stabs __STRING(_C_LABEL(sym)) ## ,1,0,0,0 +#elif defined(__ELF__) +#define WARN_REFERENCES(sym,msg) \ + .stabs msg,30,0,0,0 ; \ + .stabs __STRING(sym),1,0,0,0 #else -# ifdef __STDC__ -# define _C_LABEL(x) _ ## x -# else -# define _C_LABEL(x) _/**/x -# endif -#endif +#define WARN_REFERENCES(sym,msg) \ + .stabs msg,30,0,0,0 ; \ + .stabs __STRING(_/**/sym),1,0,0,0 +#endif /* __STDC__ */ #endif /* !_MACHINE_ASM_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:09:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC7B316A4E1; Sat, 2 Sep 2006 16:09:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB58016A4DF for ; Sat, 2 Sep 2006 16:09:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 418C043D46 for ; Sat, 2 Sep 2006 16:09:54 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82G9saU032411 for ; Sat, 2 Sep 2006 16:09:54 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82G9rQQ032408 for perforce@freebsd.org; Sat, 2 Sep 2006 16:09:53 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:09:53 GMT Message-Id: <200609021609.k82G9rQQ032408@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 105540 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:09:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=105540 Change 105540 by gonzo@gonzo_hideout on 2006/09/02 16:09:12 o Treat "long double" just like "double" type. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/float.h#2 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/float.h#2 (text+ko) ==== @@ -66,13 +66,13 @@ #define DBL_MAX 1.7976931348623157E+308 #define DBL_MAX_10_EXP 308 -#define LDBL_MANT_DIG 64 -#define LDBL_EPSILON 1.0842021724855044340E-19L -#define LDBL_DIG 18 -#define LDBL_MIN_EXP (-16381) -#define LDBL_MIN 3.3621031431120935063E-4932L -#define LDBL_MIN_10_EXP (-4931) -#define LDBL_MAX_EXP 16384 -#define LDBL_MAX 1.1897314953572317650E+4932L -#define LDBL_MAX_10_EXP 4932 +#define LDBL_MANT_DIG DBL_MANT_DIG +#define LDBL_EPSILON DBL_EPSILON +#define LDBL_DIG DBL_DIG +#define LDBL_MIN_EXP DBL_MIN_EXP +#define LDBL_MIN DBL_MIN +#define LDBL_MIN_10_EXP DBL_MIN_10_EXP +#define LDBL_MAX_EXP DBL_MAX_EXP +#define LDBL_MAX DBL_MAX +#define LDBL_MAX_10_EXP DBL_MAX_10_EXP #endif /* _MACHINE_FLOAT_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:11:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C72B616A4E0; Sat, 2 Sep 2006 16:11:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 79F3C16A4DE for ; Sat, 2 Sep 2006 16:11:01 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3840343D72 for ; Sat, 2 Sep 2006 16:10:56 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GAtwt032536 for ; Sat, 2 Sep 2006 16:10:55 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GAtcb032532 for perforce@freebsd.org; Sat, 2 Sep 2006 16:10:55 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:10:55 GMT Message-Id: <200609021610.k82GAtcb032532@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 105541 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:11:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=105541 Change 105541 by gonzo@gonzo_hideout on 2006/09/02 16:10:19 o Threw away amd64 floating point legacy. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/ieeefp.h#2 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/ieeefp.h#2 (text+ko) ==== @@ -46,235 +46,20 @@ #error this file needs sys/cdefs.h as a prerequisite #endif -/* - * FP rounding modes - */ +typedef int fp_except; +#define FP_X_IMP 0x01 /* imprecise (loss of precision) */ +#define FP_X_UFL 0x02 /* underflow exception */ +#define FP_X_OFL 0x04 /* overflow exception */ +#define FP_X_DZ 0x08 /* divide-by-zero exception */ +#define FP_X_INV 0x10 /* invalid operation exception */ + typedef enum { - FP_RN=0, /* round to nearest */ - FP_RM, /* round down to minus infinity */ - FP_RP, /* round up to plus infinity */ - FP_RZ /* truncate */ + FP_RN=0, /* round to nearest representable number */ + FP_RZ=1, /* round to zero (truncate) */ + FP_RP=2, /* round toward positive infinity */ + FP_RM=3 /* round toward negative infinity */ } fp_rnd_t; -/* - * FP precision modes - */ -typedef enum { - FP_PS=0, /* 24 bit (single-precision) */ - FP_PRS, /* reserved */ - FP_PD, /* 53 bit (double-precision) */ - FP_PE /* 64 bit (extended-precision) */ -} fp_prec_t; - #define fp_except_t int -/* - * FP exception masks - */ -#define FP_X_INV 0x01 /* invalid operation */ -#define FP_X_DNML 0x02 /* denormal */ -#define FP_X_DZ 0x04 /* zero divide */ -#define FP_X_OFL 0x08 /* overflow */ -#define FP_X_UFL 0x10 /* underflow */ -#define FP_X_IMP 0x20 /* (im)precision */ -#define FP_X_STK 0x40 /* stack fault */ - -/* - * FP registers - */ -#define FP_MSKS_REG 0 /* exception masks */ -#define FP_PRC_REG 0 /* precision */ -#define FP_RND_REG 0 /* direction */ -#define FP_STKY_REG 1 /* sticky flags */ - -/* - * FP register bit field masks - */ -#define FP_MSKS_FLD 0x3f /* exception masks field */ -#define FP_PRC_FLD 0x300 /* precision control field */ -#define FP_RND_FLD 0xc00 /* round control field */ -#define FP_STKY_FLD 0x3f /* sticky flags field */ - -/* - * SSE mxcsr register bit field masks - */ -#define SSE_STKY_FLD 0x3f /* exception flags */ -#define SSE_DAZ_FLD 0x40 /* Denormals are zero */ -#define SSE_MSKS_FLD 0x1f80 /* exception masks field */ -#define SSE_RND_FLD 0x6000 /* rounding control */ -#define SSE_FZ_FLD 0x8000 /* flush to zero on underflow */ - -/* - * FP register bit field offsets - */ -#define FP_MSKS_OFF 0 /* exception masks offset */ -#define FP_PRC_OFF 8 /* precision control offset */ -#define FP_RND_OFF 10 /* round control offset */ -#define FP_STKY_OFF 0 /* sticky flags offset */ - -/* - * SSE mxcsr register bit field offsets - */ -#define SSE_STKY_OFF 0 /* exception flags offset */ -#define SSE_DAZ_OFF 6 /* DAZ exception mask offset */ -#define SSE_MSKS_OFF 7 /* other exception masks offset */ -#define SSE_RND_OFF 13 /* rounding control offset */ -#define SSE_FZ_OFF 15 /* flush to zero offset */ - -#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \ - && !defined(__cplusplus) - -#define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) -#define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) -#define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) -#define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr))) -#define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr))) - -/* - * General notes about conflicting SSE vs FP status bits. - * This code assumes that software will not fiddle with the control - * bits of the SSE and x87 in such a way to get them out of sync and - * still expect this to work. Break this at your peril. - * Because I based this on the i386 port, the x87 state is used for - * the fpget*() functions, and is shadowed into the SSE state for - * the fpset*() functions. For dual source fpget*() functions, I - * merge the two together. I think. - */ - -/* Set rounding control */ -static __inline__ fp_rnd_t -__fpgetround(void) -{ - unsigned short _cw; - - __fnstcw(&_cw); - return ((_cw & FP_RND_FLD) >> FP_RND_OFF); -} - -static __inline__ fp_rnd_t -__fpsetround(fp_rnd_t _m) -{ - unsigned short _cw; - unsigned int _mxcsr; - fp_rnd_t _p; - - __fnstcw(&_cw); - _p = (_cw & FP_RND_FLD) >> FP_RND_OFF; - _cw &= ~FP_RND_FLD; - _cw |= (_m << FP_RND_OFF) & FP_RND_FLD; - __fldcw(&_cw); - __stmxcsr(&_mxcsr); - _mxcsr &= ~SSE_RND_FLD; - _mxcsr |= (_m << SSE_RND_OFF) & SSE_RND_FLD; - __ldmxcsr(&_mxcsr); - return (_p); -} - -/* - * Set precision for fadd/fsub/fsqrt etc x87 instructions - * There is no equivalent SSE mode or control. - */ -static __inline__ fp_prec_t -__fpgetprec(void) -{ - unsigned short _cw; - - __fnstcw(&_cw); - return ((_cw & FP_PRC_FLD) >> FP_PRC_OFF); -} - -static __inline__ fp_prec_t -__fpsetprec(fp_rnd_t _m) -{ - unsigned short _cw; - fp_prec_t _p; - - __fnstcw(&_cw); - _p = (_cw & FP_PRC_FLD) >> FP_PRC_OFF; - _cw &= ~FP_PRC_FLD; - _cw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; - __fldcw(&_cw); - return (_p); -} - -/* - * Look at the exception masks - * Note that x87 masks are inverse of the fp*() functions - * API. ie: mask = 1 means disable for x87 and SSE, but - * for the fp*() api, mask = 1 means enabled. - */ -static __inline__ fp_except_t -__fpgetmask(void) -{ - unsigned short _cw; - - __fnstcw(&_cw); - return ((~_cw) & FP_MSKS_FLD); -} - -static __inline__ fp_except_t -__fpsetmask(fp_except_t _m) -{ - unsigned short _cw; - unsigned int _mxcsr; - fp_except_t _p; - - __fnstcw(&_cw); - _p = (~_cw) & FP_MSKS_FLD; - _cw &= ~FP_MSKS_FLD; - _cw |= (~_m) & FP_MSKS_FLD; - __fldcw(&_cw); - __stmxcsr(&_mxcsr); - /* XXX should we clear non-ieee SSE_DAZ_FLD and SSE_FZ_FLD ? */ - _mxcsr &= ~SSE_MSKS_FLD; - _mxcsr |= ((~_m) << SSE_MSKS_OFF) & SSE_MSKS_FLD; - __ldmxcsr(&_mxcsr); - return (_p); -} - -/* See which sticky exceptions are pending, and reset them */ -static __inline__ fp_except_t -__fpgetsticky(void) -{ - unsigned short _sw; - unsigned int _mxcsr; - fp_except_t _ex; - - __fnstsw(&_sw); - _ex = _sw & FP_STKY_FLD; - __stmxcsr(&_mxcsr); - _ex |= _mxcsr & SSE_STKY_FLD; - return (_ex); -} - -#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */ - -#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \ - && defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) - -#define fpgetround() __fpgetround() -#define fpsetround(_m) __fpsetround(_m) -#define fpgetprec() __fpgetprec() -#define fpsetprec(_m) __fpsetprec(_m) -#define fpgetmask() __fpgetmask() -#define fpsetmask(_m) __fpsetmask(_m) -#define fpgetsticky() __fpgetsticky() - -/* Suppress prototypes in the MI header. */ -#define _IEEEFP_INLINED_ 1 - -#else /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ - -/* Augment the userland declarations */ -__BEGIN_DECLS -extern fp_prec_t fpgetprec(void); -extern fp_prec_t fpsetprec(fp_prec_t); -__END_DECLS - -#endif /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ - #endif /* !_MACHINE_IEEEFP_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:12:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FB3F16A4E8; Sat, 2 Sep 2006 16:12:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B878616A4DA for ; Sat, 2 Sep 2006 16:12:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6219343D70 for ; Sat, 2 Sep 2006 16:11:58 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GBvop032627 for ; Sat, 2 Sep 2006 16:11:57 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GBvJv032624 for perforce@freebsd.org; Sat, 2 Sep 2006 16:11:57 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:11:57 GMT Message-Id: <200609021611.k82GBvJv032624@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 105542 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:12:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=105542 Change 105542 by gonzo@gonzo_hideout on 2006/09/02 16:11:54 o Change defines of register numbers to proper ones. Affected files ... .. //depot/projects/mips2/src/lib/libstand/mips/_setjmp.S#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libstand/mips/_setjmp.S#2 (text+ko) ==== @@ -34,7 +34,6 @@ #include #include -#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)_setjmp.s 8.1 (Berkeley) 6/4/93") @@ -69,16 +68,16 @@ REG_LI v0, 0xACEDBADE # sigcontext magic number REG_S ra, (2 * 4)(a0) # sc_pc = return address REG_S v0, (_OFFSETOF_SC_REGS)(a0) # saved in sc_regs[0] - REG_S s0, (_R_S0 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s1, (_R_S1 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s2, (_R_S2 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s3, (_R_S3 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s4, (_R_S4 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s5, (_R_S5 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s6, (_R_S6 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s7, (_R_S7 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S sp, (_R_SP * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_S s8, (_R_S8 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s0, (S0 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s1, (S1 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s2, (S2 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s3, (S3 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s4, (S4 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s5, (S5 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s6, (S6 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s7, (S7 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S sp, (SP * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_S s8, (S8 * SZREG + _OFFSETOF_SC_REGS)(a0) cfc1 v0, $31 # too bad cant check if FP used swc1 $f20, (20 * 4 + _OFFSETOF_SC_FPREGS)(a0) swc1 $f21, (21 * 4 + _OFFSETOF_SC_FPREGS)(a0) @@ -113,17 +112,17 @@ REG_LI t0, 0xACEDBADE bne v0, t0, botch # jump if error addu sp, sp, 32 # does not matter, sanity - REG_L s0, (_R_S0 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s1, (_R_S1 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s2, (_R_S2 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s3, (_R_S3 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s4, (_R_S4 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s5, (_R_S5 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s6, (_R_S6 * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s7, (_R_S7 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s0, (S0 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s1, (S1 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s2, (S2 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s3, (S3 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s4, (S4 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s5, (S5 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s6, (S6 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s7, (S7 * SZREG + _OFFSETOF_SC_REGS)(a0) lw v0, (32 * 4 + _OFFSETOF_SC_FPREGS)(a0) # get fpu status - REG_L sp, (_R_SP * SZREG + _OFFSETOF_SC_REGS)(a0) - REG_L s8, (_R_S8 * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L sp, (SP * SZREG + _OFFSETOF_SC_REGS)(a0) + REG_L s8, (S8 * SZREG + _OFFSETOF_SC_REGS)(a0) ctc1 v0, $31 lwc1 $f20, (20 * 4 + _OFFSETOF_SC_FPREGS)(a0) lwc1 $f21, (21 * 4 + _OFFSETOF_SC_FPREGS)(a0) From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:20:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4A2116A4E8; Sat, 2 Sep 2006 16:20:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85B1516A4E1 for ; Sat, 2 Sep 2006 16:20:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A9A8B43D4C for ; Sat, 2 Sep 2006 16:20:08 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GK85m032940 for ; Sat, 2 Sep 2006 16:20:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GK86m032937 for perforce@freebsd.org; Sat, 2 Sep 2006 16:20:08 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:20:08 GMT Message-Id: <200609021620.k82GK86m032937@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 105543 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:20:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=105543 Change 105543 by gonzo@gonzo_hideout on 2006/09/02 16:19:39 o Change errorneus arguments order for sw instructution. o s/_arm_/_mips_/: remove arm pieces. Affected files ... .. //depot/projects/mips2/src/lib/libpthread/arch/mips/include/pthread_md.h#3 edit Differences ... ==== //depot/projects/mips2/src/lib/libpthread/arch/mips/include/pthread_md.h#3 (text+ko) ==== @@ -100,8 +100,8 @@ { register_t tmp; __asm __volatile( - "lw %1, (%2)\n\t" \ - "sw (%2), %0\n\t" \ + "lw %1, (%2)\n\t" \ + "sw %0, (%2)\n\t" \ : "=r" (val), "=r" (tmp) : "r" (val) , "r" (ptr) : "memory"); return (tmp); } @@ -207,7 +207,7 @@ return (_tcb->tcb_curkcb->kcb_kse); } -void _arm_enter_uts(struct kse_mailbox *km, kse_func_t uts, void *stack, +void _mips_enter_uts(struct kse_mailbox *km, kse_func_t uts, void *stack, size_t stacksz); static __inline int @@ -219,7 +219,7 @@ == 0) { kcb->kcb_curtcb = &kcb->kcb_faketcb; __kcb_swp((int)&kcb->kcb_faketcb.tcb_tp, &_tp); - _arm_enter_uts(&kcb->kcb_kmbx, kcb->kcb_kmbx.km_func, + _mips_enter_uts(&kcb->kcb_kmbx, kcb->kcb_kmbx.km_func, kcb->kcb_kmbx.km_stack.ss_sp, kcb->kcb_kmbx.km_stack.ss_size); /* We should not reach here. */ From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:22:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E76216A4E1; Sat, 2 Sep 2006 16:22:12 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4108316A4DA for ; Sat, 2 Sep 2006 16:22:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCC5243D49 for ; Sat, 2 Sep 2006 16:22:11 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GMBQH033193 for ; Sat, 2 Sep 2006 16:22:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GMBXH033190 for perforce@freebsd.org; Sat, 2 Sep 2006 16:22:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:22:11 GMT Message-Id: <200609021622.k82GMBXH033190@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 105544 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:22:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=105544 Change 105544 by gonzo@gonzo_hideout on 2006/09/02 16:21:18 o Initialize mips_tp with NULL, while we haven't got proper implementation. Affected files ... .. //depot/projects/mips2/src/lib/libpthread/arch/mips/mips/pthread_md.c#3 edit Differences ... ==== //depot/projects/mips2/src/lib/libpthread/arch/mips/mips/pthread_md.c#3 (text+ko) ==== @@ -41,7 +41,8 @@ #include "pthread_md.h" -/* struct mips_tp **mips_tp = (struct mips_tp **)MIPS_TP_ADDRESS; */ +/* XXXMIPS: Fix it */ +struct mips_tp **mips_tp = (struct mips_tp **)NULL; struct tcb * _tcb_ctor(struct pthread *thread, int initial) From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:23:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE0DC16A4E0; Sat, 2 Sep 2006 16:23:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCC0816A4DF for ; Sat, 2 Sep 2006 16:23:13 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A71143D46 for ; Sat, 2 Sep 2006 16:23:13 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GND6h033253 for ; Sat, 2 Sep 2006 16:23:13 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GNDIR033250 for perforce@freebsd.org; Sat, 2 Sep 2006 16:23:13 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:23:13 GMT Message-Id: <200609021623.k82GNDIR033250@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 105545 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:23:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=105545 Change 105545 by gonzo@gonzo_hideout on 2006/09/02 16:22:27 o Add _mips_enter_uts stub o change .weak/.set with WEAK_ALIAS macro. Affected files ... .. //depot/projects/mips2/src/lib/libpthread/arch/mips/mips/context.S#3 edit Differences ... ==== //depot/projects/mips2/src/lib/libpthread/arch/mips/mips/context.S#3 (text+ko) ==== @@ -35,13 +35,14 @@ * Returns 0 if there are no errors; -1 otherwise */ -.weak _C_LABEL(_thr_setcontext) -.set _C_LABEL(_thr_setcontext), _C_LABEL(__thr_setcontext) LEAF(__thr_setcontext) -/* Check for NULL pointer. */ +WEAK_ALIAS(_thr_setcontext, __thr_setcontext) + # XXXMIPS: implement me + /* Check for NULL pointer. */ j ra /* XXX: FP bits ? */ +END(__thr_setcontext) /* * int thr_getcontext(mcontext_t *mcp); @@ -49,9 +50,16 @@ * Returns -1 if there is an error, 0 no errors; 1 upon return * from a setcontext(). */ -.weak _C_LABEL(_thr_getcontext) -.set _C_LABEL(_thr_getcontext), _C_LABEL(__thr_getcontext) - LEAF(__thr_getcontext) -/* Check for NULL pointer. */ +WEAK_ALIAS(_thr_getcontext, __thr_getcontext) + # XXXMIPS: implement me + /* Check for NULL pointer. */ + j ra +END(__thr_getcontext) + +LEAF(_mips_enter_uts) + # XXXMIPS: implement me j ra +END(_mips_enter_uts) + + From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:25:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A9C616A4E2; Sat, 2 Sep 2006 16:25:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAFD716A4DE for ; Sat, 2 Sep 2006 16:25:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 94A6743D46 for ; Sat, 2 Sep 2006 16:25:17 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GPHTQ033352 for ; Sat, 2 Sep 2006 16:25:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GPHJf033349 for perforce@freebsd.org; Sat, 2 Sep 2006 16:25:17 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:25:17 GMT Message-Id: <200609021625.k82GPHJf033349@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 105546 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:25:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=105546 Change 105546 by gonzo@gonzo_hideout on 2006/09/02 16:24:27 o Add Symbol.map file. o Clean out Makefile.inc. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/Makefile.inc#2 edit .. //depot/projects/mips2/src/lib/libc/mips/Symbol.map#1 add Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,4 @@ # $NetBSD: Makefile.inc,v 1.7 2005/09/17 11:49:39 tsutsui Exp $ -KMINCLUDES= -KMSRCS= - -SRCS+= __sigaction14_sigtramp.c __sigtramp2.S +MDSRCS+= machdep_ldisd.c +SYM_MAPS+= ${.CURDIR}/mips/Symbol.map From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:25:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ECF916A557; Sat, 2 Sep 2006 16:25:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4338016A4E8 for ; Sat, 2 Sep 2006 16:25:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E823043D4C for ; Sat, 2 Sep 2006 16:25:17 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GPH5C033358 for ; Sat, 2 Sep 2006 16:25:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GPHks033355 for perforce@freebsd.org; Sat, 2 Sep 2006 16:25:17 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:25:17 GMT Message-Id: <200609021625.k82GPHks033355@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 105547 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:25:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=105547 Change 105547 by gonzo@gonzo_hideout on 2006/09/02 16:25:13 o Clean out NetBSD'ism. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/stdlib/Makefile.inc#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/stdlib/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,3 @@ # $NetBSD: Makefile.inc,v 1.3 2006/03/22 22:03:58 drochner Exp $ SRCS+= abs.c div.c labs.c ldiv.c llabs.c - -SRCS+= erand48_ieee754.c From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:33:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8864716A4E0; Sat, 2 Sep 2006 16:33:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 62BB416A4DE for ; Sat, 2 Sep 2006 16:33:29 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 24D9643D45 for ; Sat, 2 Sep 2006 16:33:29 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GXSRh033881 for ; Sat, 2 Sep 2006 16:33:29 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GXSQi033878 for perforce@freebsd.org; Sat, 2 Sep 2006 16:33:28 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:33:28 GMT Message-Id: <200609021633.k82GXSQi033878@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 105548 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:33:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=105548 Change 105548 by gonzo@gonzo_hideout on 2006/09/02 16:32:42 o Get rid of NetBSD's specific files. o Make all syscalls to be in form __sys_xxx/_xxx/xxx set of symbols. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/sys/__sigaction14_sigtramp.c#2 delete .. //depot/projects/mips2/src/lib/libc/mips/sys/__sigtramp2.S#2 delete .. //depot/projects/mips2/src/lib/libc/mips/sys/__syscall.S#2 delete .. //depot/projects/mips2/src/lib/libc/mips/sys/brk.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/cerror.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/fork.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/getcontext.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/pipe.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/sbrk.S#2 edit .. //depot/projects/mips2/src/lib/libc/mips/sys/syscall.S#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/sys/brk.S#2 (text+ko) ==== @@ -39,36 +39,36 @@ ASMSTR("$NetBSD: brk.S,v 1.16 2003/08/07 16:42:17 agc Exp $") #endif /* LIBC_SCCS and not lint */ - .globl _C_LABEL(__minbrk) - .globl _C_LABEL(__curbrk) + .globl _C_LABEL(minbrk) + .globl _C_LABEL(curbrk) .globl _C_LABEL(_end) -#ifdef WEAK_ALIAS -WEAK_ALIAS(brk, _brk) -#endif - .data -_C_LABEL(__minbrk): +_C_LABEL(minbrk): + .word _C_LABEL(_end) +_C_LABEL(curbrk): .word _C_LABEL(_end) .text -LEAF(_brk) +LEAF(__sys_brk) + WEAK_ALIAS(brk, __sys_brk) + WEAK_ALIAS(_brk, __sys_brk) #ifdef __ABICALLS__ .set noreorder .cpload t9 .set reorder #endif - lw v0, _C_LABEL(__minbrk) + lw v0, _C_LABEL(minbrk) bgeu a0, v0, 1f move a0, v0 # dont allow break < minbrk 1: li v0, SYS_break syscall bne a3, zero, 2f - sw a0, _C_LABEL(__curbrk) + sw a0, _C_LABEL(curbrk) move v0, zero j ra 2: la t9, _C_LABEL(__cerror) jr t9 -END(_brk) +END(__sys_brk) ==== //depot/projects/mips2/src/lib/libc/mips/sys/cerror.S#2 (text+ko) ==== @@ -41,7 +41,8 @@ #ifdef _REENTRANT .globl _C_LABEL(__errno) -NESTED_NOPROFILE(__cerror, CALLFRAME_SIZ, ra) +LEAF(__cerror) + .frame sp, CALLFRAME_SIZ, ra PIC_PROLOGUE(__cerror, t9) subu sp, sp, CALLFRAME_SIZ .mask 0x80000000, (CALLFRAME_RA - CALLFRAME_SIZ) @@ -61,7 +62,7 @@ END(__cerror) #else .globl _C_LABEL(errno) -LEAF_NOPROFILE(__cerror) +LEAF(__cerror) .set noreorder #ifdef __ABICALLS__ .cpload t9 ==== //depot/projects/mips2/src/lib/libc/mips/sys/fork.S#2 (text+ko) ==== @@ -39,12 +39,15 @@ ASMSTR("$NetBSD: fork.S,v 1.11 2003/08/07 16:42:17 agc Exp $") #endif /* LIBC_SCCS and not lint */ -LEAF(__fork) +LEAF(__sys_fork) + WEAK_ALIAS(fork, __sys_fork) + WEAK_ALIAS(_fork, __sys_fork) #ifdef __ABICALLS__ .set noreorder .cpload t9 .set reorder #endif + fork = __sys_fork li v0, SYS_fork # pid = fork() syscall bne a3, zero, 2f @@ -55,4 +58,4 @@ 2: la t9, _C_LABEL(__cerror) jr t9 -END(__fork) +END(__sys_fork) ==== //depot/projects/mips2/src/lib/libc/mips/sys/getcontext.S#2 (text+ko) ==== @@ -52,8 +52,8 @@ SYSTRAP(getcontext) bne a3, zero, 1f REG_PROLOGUE - REG_S zero, (_OFFSETOF_UC_GREGS + _REG_V0 * SZREG)(a0) - REG_S ra, (_OFFSETOF_UC_GREGS + _REG_EPC * SZREG)(a0) + sw zero, (_OFFSETOF_UC_GREGS + _REG_V0 * SZREG)(a0) + sw ra, (_OFFSETOF_UC_GREGS + _REG_EPC * SZREG)(a0) REG_EPILOGUE j ra 1: ==== //depot/projects/mips2/src/lib/libc/mips/sys/pipe.S#2 (text+ko) ==== @@ -39,11 +39,9 @@ ASMSTR("$NetBSD: pipe.S,v 1.11 2005/04/22 06:58:01 simonb Exp $") #endif /* LIBC_SCCS and not lint */ -#ifdef WEAK_ALIAS -WEAK_ALIAS(pipe, _pipe) -#endif - -LEAF(_pipe) +LEAF(__sys_pipe) + WEAK_ALIAS(pipe, __sys_pipe) + WEAK_ALIAS(_pipe, __sys_pipe) #ifdef __ABICALLS__ .set noreorder .cpload t9 @@ -59,4 +57,4 @@ 1: la t9, _C_LABEL(__cerror) jr t9 -END(_pipe) +END(__sys_pipe) ==== //depot/projects/mips2/src/lib/libc/mips/sys/sbrk.S#2 (text+ko) ==== @@ -42,16 +42,14 @@ .globl _C_LABEL(__curbrk) .globl _C_LABEL(_end) -#ifdef WEAK_ALIAS -WEAK_ALIAS(sbrk, _sbrk) -#endif - .data _C_LABEL(__curbrk): .word _C_LABEL(_end) .text -LEAF(_sbrk) +LEAF(__sys_sbrk) + WEAK_ALIAS(sbrk, __sys_sbrk) + WEAK_ALIAS(_sbrk, __sys_sbrk) #ifdef __ABICALLS__ .set noreorder .cpload t9 @@ -68,4 +66,4 @@ 1: la t9, _C_LABEL(__cerror) jr t9 -END(_sbrk) +END(__sys_sbrk) ==== //depot/projects/mips2/src/lib/libc/mips/sys/syscall.S#2 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Sep 2 16:33:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D54FD16A557; Sat, 2 Sep 2006 16:33:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2A5416A4DA for ; Sat, 2 Sep 2006 16:33:29 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7842843D45 for ; Sat, 2 Sep 2006 16:33:29 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82GXTa2033887 for ; Sat, 2 Sep 2006 16:33:29 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82GXThT033884 for perforce@freebsd.org; Sat, 2 Sep 2006 16:33:29 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 16:33:29 GMT Message-Id: <200609021633.k82GXThT033884@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 105549 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 16:33:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=105549 Change 105549 by gonzo@gonzo_hideout on 2006/09/02 16:33:23 o Stubs marked with XXXMIPS to be implemented. Affected files ... .. //depot/projects/mips2/src/lib/libthr/arch/mips/include/pthread_md.h#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libthr/arch/mips/include/pthread_md.h#2 (text+ko) ==== @@ -58,7 +58,7 @@ static __inline void _tcb_set(struct tcb *tcb) { - *((struct tcb **)ARM_TP_ADDRESS) = tcb; + /* XXXMIPS: *((struct tcb **)ARM_TP_ADDRESS) = tcb; */ } /* @@ -67,7 +67,8 @@ static __inline struct tcb * _tcb_get(void) { - return (*((struct tcb **)ARM_TP_ADDRESS)); + /* XXXMIPS: return (*((struct tcb **)ARM_TP_ADDRESS)); */ + return NULL; } extern struct pthread *_thr_initial; From owner-p4-projects@FreeBSD.ORG Sat Sep 2 18:03:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8ED6816A4E7; Sat, 2 Sep 2006 18:03:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6DBA916A4E2 for ; Sat, 2 Sep 2006 18:03:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8205D43D72 for ; Sat, 2 Sep 2006 18:03:24 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82I3OGO051793 for ; Sat, 2 Sep 2006 18:03:24 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82I3Nfe051790 for perforce@freebsd.org; Sat, 2 Sep 2006 18:03:23 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 18:03:23 GMT Message-Id: <200609021803.k82I3Nfe051790@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 105554 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 18:03:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=105554 Change 105554 by gonzo@gonzo_hq on 2006/09/02 18:02:49 o Change KINFO_PROC_SIZE to reflect change of time_t size. o Clean out unneccesary comment. Affected files ... .. //depot/projects/mips2/src/sys/sys/user.h#7 edit Differences ... ==== //depot/projects/mips2/src/sys/sys/user.h#7 (text+ko) ==== @@ -94,11 +94,8 @@ #ifdef __i386__ #define KINFO_PROC_SIZE 768 #endif -/* - * XXMIPS: After defining a kinfo_proc variable, readelf shows 816. - */ #ifdef __mips__ -#define KINFO_PROC_SIZE 816 +#define KINFO_PROC_SIZE 768 #endif #ifdef __powerpc__ #define KINFO_PROC_SIZE 768 From owner-p4-projects@FreeBSD.ORG Sat Sep 2 18:22:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0481A16A4E0; Sat, 2 Sep 2006 18:22:50 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D521916A4DE for ; Sat, 2 Sep 2006 18:22:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91F1443D45 for ; Sat, 2 Sep 2006 18:22:49 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82IMndk053314 for ; Sat, 2 Sep 2006 18:22:49 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82IMn5p053311 for perforce@freebsd.org; Sat, 2 Sep 2006 18:22:49 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 2 Sep 2006 18:22:49 GMT Message-Id: <200609021822.k82IMn5p053311@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 105555 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 18:22:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=105555 Change 105555 by gonzo@gonzo_hq on 2006/09/02 18:22:19 o style(9) fix. Affected files ... .. //depot/projects/mips2/src/sys/sys/user.h#8 edit Differences ... ==== //depot/projects/mips2/src/sys/sys/user.h#8 (text+ko) ==== @@ -95,7 +95,7 @@ #define KINFO_PROC_SIZE 768 #endif #ifdef __mips__ -#define KINFO_PROC_SIZE 768 +#define KINFO_PROC_SIZE 768 #endif #ifdef __powerpc__ #define KINFO_PROC_SIZE 768 From owner-p4-projects@FreeBSD.ORG Sat Sep 2 21:33:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F88F16A4E2; Sat, 2 Sep 2006 21:33:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B35F16A4E0 for ; Sat, 2 Sep 2006 21:33:52 +0000 (UTC) (envelope-from ticso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AFC6D43D49 for ; Sat, 2 Sep 2006 21:33:51 +0000 (GMT) (envelope-from ticso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k82LXptO075625 for ; Sat, 2 Sep 2006 21:33:51 GMT (envelope-from ticso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k82LXpcY075621 for perforce@freebsd.org; Sat, 2 Sep 2006 21:33:51 GMT (envelope-from ticso@freebsd.org) Date: Sat, 2 Sep 2006 21:33:51 GMT Message-Id: <200609022133.k82LXpcY075621@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ticso@freebsd.org using -f From: Bernd Walter To: Perforce Change Reviews Cc: Subject: PERFORCE change 105561 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 02 Sep 2006 21:33:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=105561 Change 105561 by ticso@ticso on 2006/09/02 21:33:45 add bio_queue and interrupt support Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_qdmmc.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_qdmmc.c#2 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -64,7 +65,9 @@ bus_dmamap_t map; struct disk *disk; /* XXX support only one card for */ int nb_cards; + struct proc *p; struct { + struct bio_queue_head bio_queue; char name[7]; uint32_t addr; uint32_t CID[4]; @@ -101,6 +104,7 @@ static int at91_qdmmc_open(struct disk *dp); static int at91_qdmmc_close(struct disk *dp); static void at91_qdmmc_strategy(struct bio *bp); +static void at91_qdmmc_task(void *arg); #define AT91_QDMMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define AT91_QDMMC_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) @@ -301,11 +305,14 @@ /* declare clockrate to 5MHz - XXX the card may allow more */ sc->cards[card].mode = 5 * MCI_MR_CLKDIV | MCI_MR_PWSDIV | (MCI_MR_PWSDIV << 1 | AT91C_MCI_MR_PDCMODE); sc->cards[card].mode = 75 * MCI_MR_CLKDIV | MCI_MR_PWSDIV | (MCI_MR_PWSDIV << 1); + + bioq_init(&sc->cards[0].bio_queue); } if (sc->nb_cards == 0) { printf("No MMC cards found\n"); goto out; } else { + AT91_QDMMC_LOCK(sc); /* * Register the (XXX) first media as a disk */ @@ -318,13 +325,16 @@ sc->disk->d_drv1 = sc; sc->disk->d_maxsize = DFLTPHYS; sc->disk->d_unit = 0; - sc->disk->d_flags = DISKFLAG_NEEDSGIANT; + //sc->disk->d_flags = DISKFLAG_NEEDSGIANT; disk_create(sc->disk, DISK_VERSION); } /* set clockrate to 5MHz - XXX the card may allow more */ WR4(sc, MCI_MR, 5 * MCI_MR_CLKDIV | MCI_MR_PWSDIV | (MCI_MR_PWSDIV << 1) | AT91C_MCI_MR_PDCMODE); + AT91_QDMMC_UNLOCK(sc); + + kthread_create(&at91_qdmmc_task, sc, &sc->p, 0, 0, "task: at91_qdmmc"); out:; if (err) at91_qdmmc_deactivate(dev); @@ -396,12 +406,14 @@ //printf("at91_qdmmc_open: called\n"); sc = (struct at91_qdmmc_softc *)dp->d_drv1; + AT91_QDMMC_LOCK(sc); sc->disk->d_sectorsize = sc->cards[0].sector_size; sc->disk->d_mediasize = sc->cards[0].size; //softc->disk->d_fwsectors = softc->params.secs_per_track; //softc->disk->d_fwheads = softc->params.heads; //sc->disk->d_devstat->block_size = sc->cards[0].sector_size; //softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; + AT91_QDMMC_UNLOCK(sc); return 0; } @@ -413,152 +425,180 @@ //printf("at91_qdmmc_close: called\n"); sc = (struct at91_qdmmc_softc *)dp->d_drv1; + AT91_QDMMC_LOCK(sc); + AT91_QDMMC_UNLOCK(sc); + // XXX do nothing since we don't lock for now return 0; } -// XXX in fact we should queue the transfer static void at91_qdmmc_strategy(struct bio *bp) { struct at91_qdmmc_softc *sc; - int status; - bus_addr_t addr; - int map = 0; //printf("at91_qdmmc_strategy: called\n"); sc = (struct at91_qdmmc_softc *)bp->bio_disk->d_drv1; + AT91_QDMMC_LOCK(sc); + bioq_disksort(&sc->cards[0].bio_queue, bp); + wakeup(sc); + AT91_QDMMC_UNLOCK(sc); +} + +static void at91_qdmmc_task(void *arg) { + struct at91_qdmmc_softc *sc = (struct at91_qdmmc_softc*)arg; + struct bio *bp; + int status; + bus_addr_t addr; + int map = 0; + uint32_t *tmpbuf; - if (bp->bio_cmd == BIO_READ) { - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, (sc->cards[0].addr) << 16); - //printf("at91_qdmmc_strategy: select_card-status = 0x%x\n", status); - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SET_BLOCKLEN_CMD, sc->cards[0].sector_size); - //printf("at91_qdmmc_strategy: set_blocklen-status = 0x%x\n", status); - //printf("at91_qdmmc_strategy: read block %lld, bcount %ld\n", bp->bio_pblkno, bp->bio_bcount); - uint32_t block; - // Init Mode Register - WR4(sc, MCI_MR, sc->cards[0].mode | (sc->cards[0].sector_size << 16)); - //printf("mode 0x%x\n", RD4(sc, MCI_MR)); - for (block = bp->bio_pblkno; block < bp->bio_pblkno + (bp->bio_bcount / sc->cards[0].sector_size); block++) { + tmpbuf = malloc(sc->cards[0].sector_size, M_DEVBUF, M_WAITOK); + AT91_QDMMC_LOCK(sc); + //printf("at91_qdmmc_task: start\n"); + for (;;) { + do { + bp = bioq_first(&sc->cards[0].bio_queue); + if (bp == NULL) + msleep(sc, &sc->sc_mtx, PRIBIO, "jobqueue", 0); + } while (bp == NULL); + bioq_remove(&sc->cards[0].bio_queue, bp); + //printf("at91_qdmmc_task: request %p\n", bp); + if (bp->bio_cmd == BIO_READ) { + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, (sc->cards[0].addr) << 16); + //printf("at91_qdmmc_task: select_card-status = 0x%x\n", status); + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SET_BLOCKLEN_CMD, sc->cards[0].sector_size); + //printf("at91_qdmmc_task: set_blocklen-status = 0x%x\n", status); + //printf("at91_qdmmc_task: read block %lld, bcount %ld\n", bp->bio_pblkno, bp->bio_bcount); + uint32_t block; + // Init Mode Register + WR4(sc, MCI_MR, sc->cards[0].mode | (sc->cards[0].sector_size << 16)); + //printf("mode 0x%x\n", RD4(sc, MCI_MR)); + for (block = bp->bio_pblkno; block < bp->bio_pblkno + (bp->bio_bcount / sc->cards[0].sector_size); block++) { - WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); - char *paddr = bp->bio_data + (block - bp->bio_pblkno) * sc->cards[0].sector_size; + char *paddr = bp->bio_data + (block - bp->bio_pblkno) * sc->cards[0].sector_size; - if (bus_dmamap_load(sc->dmatag, sc->map, paddr, - sc->cards[0].sector_size, at91_getaddr, &addr, 0) != 0) - goto out; - map = 1; + if (bus_dmamap_load(sc->dmatag, sc->map, paddr, + sc->cards[0].sector_size, at91_getaddr, &addr, 0) != 0) + goto out; + map = 1; - bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_PREREAD); - WR4(sc, PDC_RPR, addr); - WR4(sc, PDC_RCR, sc->cards[0].sector_size / 4); - WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); + bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_PREREAD); + WR4(sc, PDC_RPR, addr); + WR4(sc, PDC_RCR, sc->cards[0].sector_size / 4); + WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); + WR4(sc, MCI_IER, MCI_SR_RXBUFF); - //printf("status = 0x%x, paddr = %p, RPR = 0x%x, RCR = 0x%x\n", status, paddr, - // RD4(sc, PDC_RPR), RD4(sc, PDC_RCR)); - status = at91_qdmmc_SendCommand(sc->dev, AT91C_READ_SINGLE_BLOCK_CMD, block * sc->cards[0].sector_size); - //printf("at91_qdmmc_strategy: read-status = 0x%x\n", status); + //printf("status = 0x%x, paddr = %p, RPR = 0x%x, RCR = 0x%x\n", status, paddr, + // RD4(sc, PDC_RPR), RD4(sc, PDC_RCR)); + status = at91_qdmmc_SendCommand(sc->dev, AT91C_READ_SINGLE_BLOCK_CMD, block * sc->cards[0].sector_size); + //printf("at91_qdmmc_task: read-status = 0x%x\n", status); - // wait for completion - // XXX should be done as an ISR of some sort. - while ((RD4(sc, MCI_SR) & MCI_SR_ENDRX) == 0) - DELAY(700); + // wait for completion + msleep(sc, &sc->sc_mtx, PRIBIO, "endrx", 0); + // safety check + while ((RD4(sc, MCI_SR) & MCI_SR_ENDRX) == 0) + DELAY(700); - bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_POSTREAD); - bus_dmamap_unload(sc->dmatag, sc->map); - map = 0; + bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_POSTREAD); + bus_dmamap_unload(sc->dmatag, sc->map); + map = 0; - /* Fix Byteorder (Atmel Errata) */ - uint32_t* base = (uint32_t*)paddr; - for (int i = 0; i < sc->cards[0].sector_size / 4; i++) { - uint32_t tmp = base[i]; - base[i] = (((tmp >> 24) & 0xff)) | - (((tmp >> 16) & 0xff) << 8) | - (((tmp >> 8) & 0xff) << 16) | - ((tmp & 0xff) << 24); + /* Fix Byteorder (Atmel Errata) */ + uint32_t* base = (uint32_t*)paddr; + for (int i = 0; i < sc->cards[0].sector_size / 4; i++) { + uint32_t tmp = base[i]; + base[i] = (((tmp >> 24) & 0xff)) | + (((tmp >> 16) & 0xff) << 8) | + (((tmp >> 8) & 0xff) << 16) | + ((tmp & 0xff) << 24); + } } + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, 0); + //printf("at91_qdmmc_task: deselect_card-status = 0x%x\n", status); + + // Reset Mode Register + WR4(sc, MCI_MR, sc->cards[0].mode); + biodone(bp); + continue; } - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, 0); - //printf("at91_qdmmc_strategy: deselect_card-status = 0x%x\n", status); + if (bp->bio_cmd == BIO_WRITE) { + //printf("at91_qdmmc_task: write block %lld, bcount %ld\n", bp->bio_pblkno, bp->bio_bcount); + uint32_t block; + //uint32_t *tmpbuf; + + // Init Mode Register + WR4(sc, MCI_MR, sc->cards[0].mode | (sc->cards[0].sector_size << 16)); + // printf("mode 0x%x\n", RD4(sc, MCI_MR)); - // Reset Mode Register - WR4(sc, MCI_MR, sc->cards[0].mode); - biodone(bp); - return; - } - if (bp->bio_cmd == BIO_WRITE) { - //printf("at91_qdmmc_strategy: write block %lld, bcount %ld\n", bp->bio_pblkno, bp->bio_bcount); - uint32_t block; - uint32_t *tmpbuf; + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, (sc->cards[0].addr) << 16); + // printf("at91_qdmmc_task: select_card-status = 0x%x\n", status); + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SET_BLOCKLEN_CMD, sc->cards[0].sector_size); + // printf("at91_qdmmc_task: set_blocklen-status = 0x%x\n", status); - // Init Mode Register - WR4(sc, MCI_MR, sc->cards[0].mode | (sc->cards[0].sector_size << 16)); - // printf("mode 0x%x\n", RD4(sc, MCI_MR)); + //tmpbuf = malloc(sc->cards[0].sector_size, M_DEVBUF, M_WAITOK); + for (block = bp->bio_pblkno; block < bp->bio_pblkno + (bp->bio_bcount / sc->cards[0].sector_size); block++) { + char *paddr = bp->bio_data + (block - bp->bio_pblkno) * sc->cards[0].sector_size; - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, (sc->cards[0].addr) << 16); - // printf("at91_qdmmc_strategy: select_card-status = 0x%x\n", status); - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SET_BLOCKLEN_CMD, sc->cards[0].sector_size); - // printf("at91_qdmmc_strategy: set_blocklen-status = 0x%x\n", status); + /* Fix Byteorder (Atmel Errata) */ + uint32_t* base = (uint32_t*)paddr; + for (int i = 0; i < sc->cards[0].sector_size / 4; i++) { + uint32_t tmp = base[i]; + tmpbuf[i] = (((tmp >> 24) & 0xff)) | + (((tmp >> 16) & 0xff) << 8) | + (((tmp >> 8) & 0xff) << 16) | + ((tmp & 0xff) << 24); + } - tmpbuf = malloc(sc->cards[0].sector_size, M_DEVBUF, M_WAITOK); - for (block = bp->bio_pblkno; block < bp->bio_pblkno + (bp->bio_bcount / sc->cards[0].sector_size); block++) { - char *paddr = bp->bio_data + (block - bp->bio_pblkno) * sc->cards[0].sector_size; + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); - /* Fix Byteorder (Atmel Errata) */ - uint32_t* base = (uint32_t*)paddr; - for (int i = 0; i < sc->cards[0].sector_size / 4; i++) { - uint32_t tmp = base[i]; - tmpbuf[i] = (((tmp >> 24) & 0xff)) | - (((tmp >> 16) & 0xff) << 8) | - (((tmp >> 8) & 0xff) << 16) | - ((tmp & 0xff) << 24); - } + if (bus_dmamap_load(sc->dmatag, sc->map, tmpbuf, + sc->cards[0].sector_size, at91_getaddr, &addr, 0) != 0) + goto out; + map = 1; - WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); + bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_PREWRITE); + WR4(sc, PDC_TPR, addr); + WR4(sc, PDC_TCR, sc->cards[0].sector_size / 4); - if (bus_dmamap_load(sc->dmatag, sc->map, tmpbuf, - sc->cards[0].sector_size, at91_getaddr, &addr, 0) != 0) - goto out; - map = 1; + // printf("status = 0x%x, tmpbuf = %p, TPR = 0x%x, TCR = 0x%x\n", status, tmpbuf, + // RD4(sc, PDC_TPR), RD4(sc, PDC_TCR)); + status = at91_qdmmc_SendCommand(sc->dev, AT91C_WRITE_BLOCK_CMD, block * sc->cards[0].sector_size); + // printf("at91_qdmmc_task: write-status = 0x%x\n", status); + WR4(sc, MCI_IER, MCI_SR_NOTBUSY); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN); - bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_PREWRITE); - WR4(sc, PDC_TPR, addr); - WR4(sc, PDC_TCR, sc->cards[0].sector_size / 4); + // wait for completion + msleep(sc, &sc->sc_mtx, PRIBIO, "notbusy", 0); + // XXX don't know why this safety check is required + while ((RD4(sc, MCI_SR) & MCI_SR_NOTBUSY) == 0) + DELAY(700); - // printf("status = 0x%x, tmpbuf = %p, TPR = 0x%x, TCR = 0x%x\n", status, tmpbuf, - // RD4(sc, PDC_TPR), RD4(sc, PDC_TCR)); - status = at91_qdmmc_SendCommand(sc->dev, AT91C_WRITE_BLOCK_CMD, block * sc->cards[0].sector_size); - // printf("at91_qdmmc_strategy: write-status = 0x%x\n", status); - WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN); + bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(sc->dmatag, sc->map); + map = 0; + } + //free(tmpbuf, M_DEVBUF); - // wait for completion - // XXX should be done as an ISR of some sort. - while ((RD4(sc, MCI_SR) & MCI_SR_NOTBUSY) == 0) - DELAY(700); + status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, 0); + //printf("at91_qdmmc_task: deselect_card-status = 0x%x\n", status); - bus_dmamap_sync(sc->dmatag, sc->map, BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->dmatag, sc->map); - map = 0; + // Reset Mode Register + WR4(sc, MCI_MR, sc->cards[0].mode); + biodone(bp); + continue; } - free(tmpbuf, M_DEVBUF); +out: + if (map) + bus_dmamap_unload(sc->dmatag, sc->map); status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, 0); - //printf("at91_qdmmc_strategy: deselect_card-status = 0x%x\n", status); - - // Reset Mode Register - WR4(sc, MCI_MR, sc->cards[0].mode); - biodone(bp); - return; + //printf("at91_qdmmc_task: deselect_card-status = 0x%x\n", status); + AT91_QDMMC_UNLOCK(sc); + biofinish(bp, NULL, ENXIO); } - -out: - if (map) - bus_dmamap_unload(sc->dmatag, sc->map); - status = at91_qdmmc_SendCommand(sc->dev, AT91C_SEL_DESEL_CARD_CMD, 0); - printf("at91_qdmmc_strategy: deselect_card-status = 0x%x\n", status); - biofinish(bp, NULL, ENXIO); - return; } static device_method_t at91_qdmmc_methods[] = { @@ -581,5 +621,11 @@ static void at91_qdmmc_intr(void *arg) { - // TODO + struct at91_qdmmc_softc *sc = (struct at91_qdmmc_softc*)arg; + + AT91_QDMMC_LOCK(sc); + //printf("i 0x%x\n", RD4(sc, MCI_SR)); + wakeup(sc); + WR4(sc, MCI_IDR, 0xffffffff); + AT91_QDMMC_UNLOCK(sc); }