Date: Thu, 18 Sep 2008 20:20:12 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 150043 for review Message-ID: <200809182020.m8IKKCBu029653@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=150043 Change 150043 by imp@imp_paco-paco on 2008/09/18 20:19:58 IFC @150042 Affected files ... .. //depot/projects/mips2/src/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c#3 integrate .. //depot/projects/mips2/src/sys/cddl/compat/opensolaris/sys/atomic.h#4 integrate .. //depot/projects/mips2/src/sys/kern/kern_syscalls.c#3 integrate .. //depot/projects/mips2/src/sys/kern/vfs_cache.c#13 integrate Differences ... ==== //depot/projects/mips2/src/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c,v 1.2 2008/03/28 22:16:05 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c,v 1.3 2008/09/18 19:57:06 imp Exp $"); #include <sys/param.h> #include <sys/lock.h> ==== //depot/projects/mips2/src/sys/cddl/compat/opensolaris/sys/atomic.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/atomic.h,v 1.4 2008/05/22 08:33:24 jb Exp $ + * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/atomic.h,v 1.5 2008/09/18 19:57:06 imp Exp $ */ #ifndef _OPENSOLARIS_SYS_ATOMIC_H_ ==== //depot/projects/mips2/src/sys/kern/kern_syscalls.c#3 (text+ko) ==== @@ -25,113 +25,113 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_syscalls.c,v 1.12 2006/08/01 16:32:20 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_syscalls.c,v 1.13 2008/09/18 20:10:11 jhb Exp $"); #include <sys/param.h> -#include <sys/sysproto.h> -#include <sys/sysent.h> -#include <sys/syscall.h> #include <sys/lock.h> -#include <sys/mutex.h> +#include <sys/module.h> #include <sys/sx.h> -#include <sys/module.h> +#include <sys/syscall.h> +#include <sys/sysent.h> +#include <sys/sysproto.h> /* - * Acts like "nosys" but can be identified in sysent for dynamic call - * number assignment for a limited number of calls. - * + * Acts like "nosys" but can be identified in sysent for dynamic call + * number assignment for a limited number of calls. + * * Place holder for system call slots reserved for loadable modules. - */ + */ int lkmnosys(struct thread *td, struct nosys_args *args) { - return(nosys(td, args)); + + return (nosys(td, args)); } int lkmressys(struct thread *td, struct nosys_args *args) { - return(nosys(td, args)); + + return (nosys(td, args)); } int syscall_register(int *offset, struct sysent *new_sysent, - struct sysent *old_sysent) + struct sysent *old_sysent) { - if (*offset == NO_SYSCALL) { - int i; + int i; - for (i = 1; i < SYS_MAXSYSCALL; ++i) - if (sysent[i].sy_call == (sy_call_t *)lkmnosys) - break; - if (i == SYS_MAXSYSCALL) - return ENFILE; - *offset = i; - } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) - return EINVAL; - else if (sysent[*offset].sy_call != (sy_call_t *)lkmnosys && - sysent[*offset].sy_call != (sy_call_t *)lkmressys) - return EEXIST; + if (*offset == NO_SYSCALL) { + for (i = 1; i < SYS_MAXSYSCALL; ++i) + if (sysent[i].sy_call == (sy_call_t *)lkmnosys) + break; + if (i == SYS_MAXSYSCALL) + return (ENFILE); + *offset = i; + } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) + return (EINVAL); + else if (sysent[*offset].sy_call != (sy_call_t *)lkmnosys && + sysent[*offset].sy_call != (sy_call_t *)lkmressys) + return (EEXIST); - *old_sysent = sysent[*offset]; - sysent[*offset] = *new_sysent; - return 0; + *old_sysent = sysent[*offset]; + sysent[*offset] = *new_sysent; + return (0); } int syscall_deregister(int *offset, struct sysent *old_sysent) { - if (*offset) - sysent[*offset] = *old_sysent; - return 0; + + if (*offset) + sysent[*offset] = *old_sysent; + return (0); } int syscall_module_handler(struct module *mod, int what, void *arg) { - struct syscall_module_data *data = (struct syscall_module_data*)arg; - modspecific_t ms; - int error; + struct syscall_module_data *data = arg; + modspecific_t ms; + int error; - switch (what) { - case MOD_LOAD : - error = syscall_register(data->offset, data->new_sysent, - &data->old_sysent); - if (error) { - /* Leave a mark so we know to safely unload below. */ - data->offset = NULL; - return error; - } - ms.intval = *data->offset; - MOD_XLOCK; - module_setspecific(mod, &ms); - MOD_XUNLOCK; - if (data->chainevh) - error = data->chainevh(mod, what, data->chainarg); - return error; + switch (what) { + case MOD_LOAD: + error = syscall_register(data->offset, data->new_sysent, + &data->old_sysent); + if (error) { + /* Leave a mark so we know to safely unload below. */ + data->offset = NULL; + return (error); + } + ms.intval = *data->offset; + MOD_XLOCK; + module_setspecific(mod, &ms); + MOD_XUNLOCK; + if (data->chainevh) + error = data->chainevh(mod, what, data->chainarg); + return (error); + case MOD_UNLOAD: + /* + * MOD_LOAD failed, so just return without calling the + * chained handler since we didn't pass along the MOD_LOAD + * event. + */ + if (data->offset == NULL) + return (0); + if (data->chainevh) { + error = data->chainevh(mod, what, data->chainarg); + if (error) + return error; + } + error = syscall_deregister(data->offset, &data->old_sysent); + return (error); + default: + return EOPNOTSUPP; + } - case MOD_UNLOAD : - /* - * MOD_LOAD failed, so just return without calling the - * chained handler since we didn't pass along the MOD_LOAD - * event. - */ - if (data->offset == NULL) - return (0); - if (data->chainevh) { - error = data->chainevh(mod, what, data->chainarg); - if (error) - return error; - } - error = syscall_deregister(data->offset, &data->old_sysent); - return error; - default : - return EOPNOTSUPP; - - } - - if (data->chainevh) - return data->chainevh(mod, what, data->chainarg); - else - return 0; + if (data->chainevh) + return (data->chainevh(mod, what, data->chainarg)); + else + return (0); } ==== //depot/projects/mips2/src/sys/kern/vfs_cache.c#13 (text+ko) ==== @@ -33,23 +33,23 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.124 2008/08/23 15:13:39 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.125 2008/09/18 20:04:22 jhb Exp $"); #include <sys/param.h> -#include <sys/systm.h> +#include <sys/filedesc.h> +#include <sys/fnv_hash.h> #include <sys/kernel.h> #include <sys/lock.h> +#include <sys/malloc.h> +#include <sys/mount.h> #include <sys/mutex.h> -#include <sys/sysctl.h> -#include <sys/mount.h> -#include <sys/vnode.h> #include <sys/namei.h> -#include <sys/malloc.h> +#include <sys/proc.h> #include <sys/syscallsubr.h> +#include <sys/sysctl.h> #include <sys/sysproto.h> -#include <sys/proc.h> -#include <sys/filedesc.h> -#include <sys/fnv_hash.h> +#include <sys/systm.h> +#include <sys/vnode.h> #include <vm/uma.h>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809182020.m8IKKCBu029653>