Author: bz
Date: Tue Sep 23 16:06:28 2014
New Revision: 272031
URL: http://svnweb.freebsd.org/changeset/base/272031

Log:
   This is a direct commit rather than an MFC of r271744.
  
     Re-gen after r272029 (r271743 in head) implementing most of
     timer_{create,settime,gettime,getoverrun,delete}.
  
  Sponsored by: DARPA/AFRL

Modified:
  stable/9/sys/amd64/linux32/linux32_proto.h
  stable/9/sys/amd64/linux32/linux32_syscall.h
  stable/9/sys/amd64/linux32/linux32_syscalls.c
  stable/9/sys/amd64/linux32/linux32_sysent.c
  stable/9/sys/amd64/linux32/linux32_systrace_args.c
  stable/9/sys/i386/linux/linux_proto.h
  stable/9/sys/i386/linux/linux_syscall.h
  stable/9/sys/i386/linux/linux_syscalls.c
  stable/9/sys/i386/linux/linux_sysent.c
  stable/9/sys/i386/linux/linux_systrace_args.c

Modified: stable/9/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- stable/9/sys/amd64/linux32/linux32_proto.h  Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/amd64/linux32/linux32_proto.h  Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #ifndef _LINUX_SYSPROTO_H_
@@ -14,6 +14,7 @@
 #include <sys/cpuset.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
+#include <sys/wait.h>
 
 #include <bsm/audit_kevents.h>
 
@@ -782,19 +783,25 @@ struct linux_set_tid_address_args {
        char tidptr_l_[PADL_(int *)]; int * tidptr; char tidptr_r_[PADR_(int 
*)];
 };
 struct linux_timer_create_args {
-       register_t dummy;
+       char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char 
clock_id_r_[PADR_(clockid_t)];
+       char evp_l_[PADL_(struct sigevent *)]; struct sigevent * evp; char 
evp_r_[PADR_(struct sigevent *)];
+       char timerid_l_[PADL_(l_timer_t *)]; l_timer_t * timerid; char 
timerid_r_[PADR_(l_timer_t *)];
 };
 struct linux_timer_settime_args {
-       register_t dummy;
+       char timerid_l_[PADL_(l_timer_t)]; l_timer_t timerid; char 
timerid_r_[PADR_(l_timer_t)];
+       char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+       char new_l_[PADL_(const struct itimerspec *)]; const struct itimerspec 
* new; char new_r_[PADR_(const struct itimerspec *)];
+       char old_l_[PADL_(struct itimerspec *)]; struct itimerspec * old; char 
old_r_[PADR_(struct itimerspec *)];
 };
 struct linux_timer_gettime_args {
-       register_t dummy;
+       char timerid_l_[PADL_(l_timer_t)]; l_timer_t timerid; char 
timerid_r_[PADR_(l_timer_t)];
+       char setting_l_[PADL_(struct itimerspec *)]; struct itimerspec * 
setting; char setting_r_[PADR_(struct itimerspec *)];
 };
 struct linux_timer_getoverrun_args {
-       register_t dummy;
+       char timerid_l_[PADL_(l_timer_t)]; l_timer_t timerid; char 
timerid_r_[PADR_(l_timer_t)];
 };
 struct linux_timer_delete_args {
-       register_t dummy;
+       char timerid_l_[PADL_(l_timer_t)]; l_timer_t timerid; char 
timerid_r_[PADR_(l_timer_t)];
 };
 struct linux_clock_settime_args {
        char which_l_[PADL_(clockid_t)]; clockid_t which; char 
which_r_[PADR_(clockid_t)];

Modified: stable/9/sys/amd64/linux32/linux32_syscall.h
==============================================================================
--- stable/9/sys/amd64/linux32/linux32_syscall.h        Tue Sep 23 16:05:23 
2014        (r272030)
+++ stable/9/sys/amd64/linux32/linux32_syscall.h        Tue Sep 23 16:06:28 
2014        (r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #define        LINUX_SYS_exit  1

Modified: stable/9/sys/amd64/linux32/linux32_syscalls.c
==============================================================================
--- stable/9/sys/amd64/linux32/linux32_syscalls.c       Tue Sep 23 16:05:23 
2014        (r272030)
+++ stable/9/sys/amd64/linux32/linux32_syscalls.c       Tue Sep 23 16:06:28 
2014        (r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 const char *linux_syscallnames[] = {

Modified: stable/9/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- stable/9/sys/amd64/linux32/linux32_sysent.c Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/amd64/linux32/linux32_sysent.c Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/amd64/linux32/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #include "opt_compat.h"
@@ -278,11 +278,11 @@ struct sysent linux_sysent[] = {
        { 0, (sy_call_t *)linux_epoll_wait, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC },   /* 256 = linux_epoll_wait */
        { 0, (sy_call_t *)linux_remap_file_pages, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC },     /* 257 = linux_remap_file_pages */
        { AS(linux_set_tid_address_args), (sy_call_t *)linux_set_tid_address, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 258 = linux_set_tid_address */
-       { 0, (sy_call_t *)linux_timer_create, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC }, /* 259 = linux_timer_create */
-       { 0, (sy_call_t *)linux_timer_settime, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC },        /* 260 = linux_timer_settime */
-       { 0, (sy_call_t *)linux_timer_gettime, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC },        /* 261 = linux_timer_gettime */
-       { 0, (sy_call_t *)linux_timer_getoverrun, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC },     /* 262 = linux_timer_getoverrun */
-       { 0, (sy_call_t *)linux_timer_delete, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_STATIC }, /* 263 = linux_timer_delete */
+       { AS(linux_timer_create_args), (sy_call_t *)linux_timer_create, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },       /* 259 = linux_timer_create */
+       { AS(linux_timer_settime_args), (sy_call_t *)linux_timer_settime, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },     /* 260 = linux_timer_settime */
+       { AS(linux_timer_gettime_args), (sy_call_t *)linux_timer_gettime, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },     /* 261 = linux_timer_gettime */
+       { AS(linux_timer_getoverrun_args), (sy_call_t *)linux_timer_getoverrun, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },       /* 262 = linux_timer_getoverrun 
*/
+       { AS(linux_timer_delete_args), (sy_call_t *)linux_timer_delete, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },       /* 263 = linux_timer_delete */
        { AS(linux_clock_settime_args), (sy_call_t *)linux_clock_settime, 
AUE_CLOCK_SETTIME, NULL, 0, 0, 0, SY_THR_STATIC },    /* 264 = 
linux_clock_settime */
        { AS(linux_clock_gettime_args), (sy_call_t *)linux_clock_gettime, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },     /* 265 = linux_clock_gettime */
        { AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, 
AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },       /* 266 = linux_clock_getres */

Modified: stable/9/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- stable/9/sys/amd64/linux32/linux32_systrace_args.c  Tue Sep 23 16:05:23 
2014        (r272030)
+++ stable/9/sys/amd64/linux32/linux32_systrace_args.c  Tue Sep 23 16:06:28 
2014        (r272031)
@@ -1723,27 +1723,43 @@ systrace_args(int sysnum, void *params, 
        }
        /* linux_timer_create */
        case 259: {
-               *n_args = 0;
+               struct linux_timer_create_args *p = params;
+               iarg[0] = p->clock_id; /* clockid_t */
+               uarg[1] = (intptr_t) p->evp; /* struct sigevent * */
+               uarg[2] = (intptr_t) p->timerid; /* l_timer_t * */
+               *n_args = 3;
                break;
        }
        /* linux_timer_settime */
        case 260: {
-               *n_args = 0;
+               struct linux_timer_settime_args *p = params;
+               iarg[0] = p->timerid; /* l_timer_t */
+               iarg[1] = p->flags; /* l_int */
+               uarg[2] = (intptr_t) p->new; /* const struct itimerspec * */
+               uarg[3] = (intptr_t) p->old; /* struct itimerspec * */
+               *n_args = 4;
                break;
        }
        /* linux_timer_gettime */
        case 261: {
-               *n_args = 0;
+               struct linux_timer_gettime_args *p = params;
+               iarg[0] = p->timerid; /* l_timer_t */
+               uarg[1] = (intptr_t) p->setting; /* struct itimerspec * */
+               *n_args = 2;
                break;
        }
        /* linux_timer_getoverrun */
        case 262: {
-               *n_args = 0;
+               struct linux_timer_getoverrun_args *p = params;
+               iarg[0] = p->timerid; /* l_timer_t */
+               *n_args = 1;
                break;
        }
        /* linux_timer_delete */
        case 263: {
-               *n_args = 0;
+               struct linux_timer_delete_args *p = params;
+               iarg[0] = p->timerid; /* l_timer_t */
+               *n_args = 1;
                break;
        }
        /* linux_clock_settime */
@@ -4840,18 +4856,71 @@ systrace_setargdesc(int sysnum, int ndx,
                break;
        /* linux_timer_create */
        case 259:
+               switch(ndx) {
+               case 0:
+                       p = "clockid_t";
+                       break;
+               case 1:
+                       p = "struct sigevent *";
+                       break;
+               case 2:
+                       p = "l_timer_t *";
+                       break;
+               default:
+                       break;
+               };
                break;
        /* linux_timer_settime */
        case 260:
+               switch(ndx) {
+               case 0:
+                       p = "l_timer_t";
+                       break;
+               case 1:
+                       p = "l_int";
+                       break;
+               case 2:
+                       p = "const struct itimerspec *";
+                       break;
+               case 3:
+                       p = "struct itimerspec *";
+                       break;
+               default:
+                       break;
+               };
                break;
        /* linux_timer_gettime */
        case 261:
+               switch(ndx) {
+               case 0:
+                       p = "l_timer_t";
+                       break;
+               case 1:
+                       p = "struct itimerspec *";
+                       break;
+               default:
+                       break;
+               };
                break;
        /* linux_timer_getoverrun */
        case 262:
+               switch(ndx) {
+               case 0:
+                       p = "l_timer_t";
+                       break;
+               default:
+                       break;
+               };
                break;
        /* linux_timer_delete */
        case 263:
+               switch(ndx) {
+               case 0:
+                       p = "l_timer_t";
+                       break;
+               default:
+                       break;
+               };
                break;
        /* linux_clock_settime */
        case 264:

Modified: stable/9/sys/i386/linux/linux_proto.h
==============================================================================
--- stable/9/sys/i386/linux/linux_proto.h       Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/i386/linux/linux_proto.h       Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #ifndef _LINUX_SYSPROTO_H_
@@ -14,6 +14,7 @@
 #include <sys/cpuset.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
+#include <sys/wait.h>
 
 #include <bsm/audit_kevents.h>
 
@@ -788,6 +789,7 @@ struct linux_timer_create_args {
 };
 struct linux_timer_settime_args {
        char timerid_l_[PADL_(l_timer_t)]; l_timer_t timerid; char 
timerid_r_[PADR_(l_timer_t)];
+       char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
        char new_l_[PADL_(const struct itimerspec *)]; const struct itimerspec 
* new; char new_r_[PADR_(const struct itimerspec *)];
        char old_l_[PADL_(struct itimerspec *)]; struct itimerspec * old; char 
old_r_[PADR_(struct itimerspec *)];
 };

Modified: stable/9/sys/i386/linux/linux_syscall.h
==============================================================================
--- stable/9/sys/i386/linux/linux_syscall.h     Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/i386/linux/linux_syscall.h     Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #define        LINUX_SYS_exit  1

Modified: stable/9/sys/i386/linux/linux_syscalls.c
==============================================================================
--- stable/9/sys/i386/linux/linux_syscalls.c    Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/i386/linux/linux_syscalls.c    Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 const char *linux_syscallnames[] = {

Modified: stable/9/sys/i386/linux/linux_sysent.c
==============================================================================
--- stable/9/sys/i386/linux/linux_sysent.c      Tue Sep 23 16:05:23 2014        
(r272030)
+++ stable/9/sys/i386/linux/linux_sysent.c      Tue Sep 23 16:06:28 2014        
(r272031)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 248532 
2013-03-19 20:18:30Z jkim 
+ * created from FreeBSD: stable/9/sys/i386/linux/syscalls.master 272029 
2014-09-23 16:03:57Z bz 
  */
 
 #include <sys/param.h>

Modified: stable/9/sys/i386/linux/linux_systrace_args.c
==============================================================================
--- stable/9/sys/i386/linux/linux_systrace_args.c       Tue Sep 23 16:05:23 
2014        (r272030)
+++ stable/9/sys/i386/linux/linux_systrace_args.c       Tue Sep 23 16:06:28 
2014        (r272031)
@@ -1784,9 +1784,10 @@ systrace_args(int sysnum, void *params, 
        case 260: {
                struct linux_timer_settime_args *p = params;
                iarg[0] = p->timerid; /* l_timer_t */
-               uarg[1] = (intptr_t) p->new; /* const struct itimerspec * */
-               uarg[2] = (intptr_t) p->old; /* struct itimerspec * */
-               *n_args = 3;
+               iarg[1] = p->flags; /* l_int */
+               uarg[2] = (intptr_t) p->new; /* const struct itimerspec * */
+               uarg[3] = (intptr_t) p->old; /* struct itimerspec * */
+               *n_args = 4;
                break;
        }
        /* linux_timer_gettime */
@@ -5023,9 +5024,12 @@ systrace_setargdesc(int sysnum, int ndx,
                        p = "l_timer_t";
                        break;
                case 1:
-                       p = "const struct itimerspec *";
+                       p = "l_int";
                        break;
                case 2:
+                       p = "const struct itimerspec *";
+                       break;
+               case 3:
                        p = "struct itimerspec *";
                        break;
                default:
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to