aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/linux
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/amd64/linux
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/amd64/linux')
-rw-r--r--sys/amd64/linux/linux_proto.h11
-rw-r--r--sys/amd64/linux/linux_sysent.c6
-rw-r--r--sys/amd64/linux/linux_systrace_args.c62
3 files changed, 70 insertions, 9 deletions
diff --git a/sys/amd64/linux/linux_proto.h b/sys/amd64/linux/linux_proto.h
index ebd43d98638a..1814f1f92876 100644
--- a/sys/amd64/linux/linux_proto.h
+++ b/sys/amd64/linux/linux_proto.h
@@ -1000,7 +1000,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)];
@@ -1012,10 +1013,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_accept4_args {
char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
diff --git a/sys/amd64/linux/linux_sysent.c b/sys/amd64/linux/linux_sysent.c
index fbaa48b46ffd..b9224fec6da1 100644
--- a/sys/amd64/linux/linux_sysent.c
+++ b/sys/amd64/linux/linux_sysent.c
@@ -300,11 +300,11 @@ struct sysent linux_sysent[] = {
{ AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */
{ AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_epoll_pwait */
{ 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_signalfd */
- { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */
+ { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */
{ AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 284 = linux_eventfd */
{ AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 285 = linux_fallocate */
- { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */
- { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */
+ { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */
+ { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */
{ AS(linux_accept4_args), (sy_call_t *)linux_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 288 = linux_accept4 */
{ 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 289 = linux_signalfd4 */
{ AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 290 = linux_eventfd2 */
diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c
index e4ad84a33d31..5ac00f4ea689 100644
--- a/sys/amd64/linux/linux_systrace_args.c
+++ b/sys/amd64/linux/linux_systrace_args.c
@@ -2078,7 +2078,10 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_timerfd_create */
case 283: {
- *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 */
@@ -2100,12 +2103,20 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_timerfd_settime */
case 286: {
- *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 287: {
- *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_accept4 */
@@ -5644,6 +5655,16 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_create */
case 283:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_eventfd */
case 284:
@@ -5676,9 +5697,35 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_settime */
case 286:
+ 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 287:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_accept4 */
case 288:
@@ -7494,6 +7541,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 282:
/* linux_timerfd_create */
case 283:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_eventfd */
case 284:
if (ndx == 0 || ndx == 1)
@@ -7506,8 +7556,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_timerfd_settime */
case 286:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_timerfd_gettime */
case 287:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_accept4 */
case 288:
if (ndx == 0 || ndx == 1)