aboutsummaryrefslogtreecommitdiff
path: root/sys/i386
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2017-02-26 09:37:25 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2017-02-26 09:37:25 +0000
commit354aa2dd566b6358a5fbb667aa6ba99195f05e55 (patch)
treeda29360160adb392521ed1c55ab997bea4f15a70 /sys/i386
parent1064d53fdef0e3122e5c0de6cf5d55d0e6c7a7d8 (diff)
downloadsrc-354aa2dd566b6358a5fbb667aa6ba99195f05e55.tar.gz
src-354aa2dd566b6358a5fbb667aa6ba99195f05e55.zip
Regen after r314291 (timerfd definition).
MFC after: 1 month
Notes
Notes: svn path=/head/; revision=314292
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/linux/linux_proto.h11
-rw-r--r--sys/i386/linux/linux_sysent.c6
-rw-r--r--sys/i386/linux/linux_systrace_args.c62
3 files changed, 70 insertions, 9 deletions
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index e9d00e111143..525f19d9658e 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -1080,7 +1080,8 @@ struct linux_signalfd_args {
register_t dummy;
};
struct linux_timerfd_create_args {
- register_t dummy;
+ char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_eventfd_args {
char initval_l_[PADL_(l_uint)]; l_uint initval; char initval_r_[PADR_(l_uint)];
@@ -1092,10 +1093,14 @@ struct linux_fallocate_args {
char len_l_[PADL_(l_loff_t)]; l_loff_t len; char len_r_[PADR_(l_loff_t)];
};
struct linux_timerfd_settime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char new_value_l_[PADL_(const struct l_itimerspec *)]; const struct l_itimerspec * new_value; char new_value_r_[PADR_(const struct l_itimerspec *)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_timerfd_gettime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_signalfd4_args {
register_t dummy;
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index 31bb6bfd697a..3588b9cab373 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -339,11 +339,11 @@ struct sysent linux_sysent[] = {
{ AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = linux_epoll_pwait */
{ AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */
{ 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = linux_signalfd */
- { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */
+ { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */
{ AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 323 = linux_eventfd */
{ AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 324 = linux_fallocate */
- { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */
- { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */
+ { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */
+ { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */
{ 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 327 = linux_signalfd4 */
{ AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 328 = linux_eventfd2 */
{ AS(linux_epoll_create1_args), (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c
index 5513f749075f..d3c471028f9b 100644
--- a/sys/i386/linux/linux_systrace_args.c
+++ b/sys/i386/linux/linux_systrace_args.c
@@ -2265,7 +2265,10 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_timerfd_create */
case 322: {
- *n_args = 0;
+ struct linux_timerfd_create_args *p = params;
+ iarg[0] = p->clockid; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ *n_args = 2;
break;
}
/* linux_eventfd */
@@ -2287,12 +2290,20 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_timerfd_settime */
case 325: {
- *n_args = 0;
+ struct linux_timerfd_settime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ uarg[2] = (intptr_t) p->new_value; /* const struct l_itimerspec * */
+ uarg[3] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 4;
break;
}
/* linux_timerfd_gettime */
case 326: {
- *n_args = 0;
+ struct linux_timerfd_gettime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 2;
break;
}
/* linux_signalfd4 */
@@ -6229,6 +6240,16 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_create */
case 322:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_eventfd */
case 323:
@@ -6261,9 +6282,35 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_settime */
case 325:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland const struct l_itimerspec *";
+ break;
+ case 3:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_timerfd_gettime */
case 326:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_signalfd4 */
case 327:
@@ -8406,6 +8453,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 321:
/* linux_timerfd_create */
case 322:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_eventfd */
case 323:
if (ndx == 0 || ndx == 1)
@@ -8418,8 +8468,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_settime */
case 325:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_timerfd_gettime */
case 326:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_signalfd4 */
case 327:
/* linux_eventfd2 */