[BACK]Return to sys_syscall.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/sys_syscall.c between version 1.1.14.3 and 1.2

version 1.1.14.3, 2008/01/08 22:11:43 version 1.2, 2007/12/11 12:16:34
Line 47  __KERNEL_RCSID(0, "$NetBSD$");
Line 47  __KERNEL_RCSID(0, "$NetBSD$");
 #define CONCAT(a,b) __CONCAT(a,b)  #define CONCAT(a,b) __CONCAT(a,b)
   
 int  int
 SYS_SYSCALL(struct lwp *l, const struct CONCAT(SYS_SYSCALL, _args) *uap,  SYS_SYSCALL(struct lwp *l, void *v, register_t *rval)
     register_t *rval)  
 {  {
         /* {          struct CONCAT(SYS_SYSCALL, _args) /* {
                 syscallarg(int) code;                  syscallarg(int) code;
                 syscallarg(register_t) args[SYS_MAXSYSARGS];                  syscallarg(register_t) args[SYS_MAXSYSARGS];
         } */          } */ *uap = v;
         const struct sysent *callp;          const struct sysent *callp;
         struct proc *p = l->l_proc;          struct proc *p = l->l_proc;
         int code;          int code;
Line 63  SYS_SYSCALL(struct lwp *l, const struct 
Line 62  SYS_SYSCALL(struct lwp *l, const struct 
         int i, narg;          int i, narg;
         #define TRACE_ARGS args64          #define TRACE_ARGS args64
 #else  #else
         #define TRACE_ARGS &SCARG(uap, args[0])          #define TRACE_ARGS &uap->args
 #endif  #endif
   
         callp = p->p_emul->e_sysent;          callp = p->p_emul->e_sysent;
Line 82  SYS_SYSCALL(struct lwp *l, const struct 
Line 81  SYS_SYSCALL(struct lwp *l, const struct 
         narg = callp->sy_argsize >> 2;          narg = callp->sy_argsize >> 2;
         for (i = 0; i < narg; i++)          for (i = 0; i < narg; i++)
                 args64[i] = SCARG(uap, args[i]);                  args64[i] = SCARG(uap, args[i]);
           /* XXX systrace will not modify the correct arguments! */
 #endif  #endif
   
         error = trace_enter(code, code, NULL, TRACE_ARGS);          error = trace_enter(l, code, code, NULL, TRACE_ARGS);
         if (__predict_false(error != 0))          if (__predict_false(error != 0))
                 return error;                  return error;
         error = callp->sy_call(l, &uap->args, rval);          error = callp->sy_call(l, &uap->args, rval);
         trace_exit(code, TRACE_ARGS, rval, error);          trace_exit(l, code, TRACE_ARGS, rval, error);
         return error;          return error;
   
         #undef TRACE_ARGS          #undef TRACE_ARGS

Legend:
Removed from v.1.1.14.3  
changed lines
  Added in v.1.2

CVSweb <webmaster@jp.NetBSD.org>