Approved by:    re (delphij)
This commit is contained in:
Roman Divacky 2013-09-18 17:58:03 +00:00
parent 253c75c0de
commit 70ccaaf58e
10 changed files with 190 additions and 32 deletions

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#ifndef _LINUX_SYSPROTO_H_
@ -15,6 +15,7 @@
#include <sys/_ffcounter.h>
#include <sys/_semaphore.h>
#include <sys/ucontext.h>
#include <sys/wait.h>
#include <bsm/audit_kevents.h>
@ -765,13 +766,19 @@ struct linux_lookup_dcookie_args {
register_t dummy;
};
struct linux_epoll_create_args {
register_t dummy;
char size_l_[PADL_(l_int)]; l_int size; char size_r_[PADR_(l_int)];
};
struct linux_epoll_ctl_args {
register_t dummy;
char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)];
char op_l_[PADL_(l_int)]; l_int op; char op_r_[PADR_(l_int)];
char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
char event_l_[PADL_(struct linux_epoll_event *)]; struct linux_epoll_event * event; char event_r_[PADR_(struct linux_epoll_event *)];
};
struct linux_epoll_wait_args {
register_t dummy;
char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)];
char events_l_[PADL_(struct linux_epoll_event *)]; struct linux_epoll_event * events; char events_r_[PADR_(struct linux_epoll_event *)];
char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)];
char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)];
};
struct linux_remap_file_pages_args {
register_t dummy;
@ -1037,7 +1044,7 @@ struct linux_eventfd2_args {
register_t dummy;
};
struct linux_epoll_create1_args {
register_t dummy;
char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_dup3_args {
register_t dummy;

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#define LINUX_SYS_exit 1

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
const char *linux_syscallnames[] = {

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#include "opt_compat.h"
@ -273,9 +273,9 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 251 = */
{ AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 252 = linux_exit_group */
{ 0, (sy_call_t *)linux_lookup_dcookie, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 253 = linux_lookup_dcookie */
{ 0, (sy_call_t *)linux_epoll_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = linux_epoll_create */
{ 0, (sy_call_t *)linux_epoll_ctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = linux_epoll_ctl */
{ 0, (sy_call_t *)linux_epoll_wait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 256 = linux_epoll_wait */
{ AS(linux_epoll_create_args), (sy_call_t *)linux_epoll_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = linux_epoll_create */
{ AS(linux_epoll_ctl_args), (sy_call_t *)linux_epoll_ctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = linux_epoll_ctl */
{ AS(linux_epoll_wait_args), (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 */
@ -348,7 +348,7 @@ struct sysent linux_sysent[] = {
{ 0, (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 */
{ 0, (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 328 = linux_eventfd2 */
{ 0, (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
{ AS(linux_epoll_create1_args), (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
{ 0, (sy_call_t *)linux_dup3, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 330 = linux_dup3 */
{ AS(linux_pipe2_args), (sy_call_t *)linux_pipe2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 331 = linux_pipe2 */
{ 0, (sy_call_t *)linux_inotify_init1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 332 = linux_inotify_init1 */

View File

@ -1693,17 +1693,29 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_epoll_create */
case 254: {
*n_args = 0;
struct linux_epoll_create_args *p = params;
iarg[0] = p->size; /* l_int */
*n_args = 1;
break;
}
/* linux_epoll_ctl */
case 255: {
*n_args = 0;
struct linux_epoll_ctl_args *p = params;
iarg[0] = p->epfd; /* l_int */
iarg[1] = p->op; /* l_int */
iarg[2] = p->fd; /* l_int */
uarg[3] = (intptr_t) p->event; /* struct linux_epoll_event * */
*n_args = 4;
break;
}
/* linux_epoll_wait */
case 256: {
*n_args = 0;
struct linux_epoll_wait_args *p = params;
iarg[0] = p->epfd; /* l_int */
uarg[1] = (intptr_t) p->events; /* struct linux_epoll_event * */
iarg[2] = p->maxevents; /* l_int */
iarg[3] = p->timeout; /* l_int */
*n_args = 4;
break;
}
/* linux_remap_file_pages */
@ -2159,7 +2171,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_epoll_create1 */
case 329: {
*n_args = 0;
struct linux_epoll_create1_args *p = params;
iarg[0] = p->flags; /* l_int */
*n_args = 1;
break;
}
/* linux_dup3 */
@ -4807,12 +4821,51 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_epoll_create */
case 254:
switch(ndx) {
case 0:
p = "l_int";
break;
default:
break;
};
break;
/* linux_epoll_ctl */
case 255:
switch(ndx) {
case 0:
p = "l_int";
break;
case 1:
p = "l_int";
break;
case 2:
p = "l_int";
break;
case 3:
p = "struct linux_epoll_event *";
break;
default:
break;
};
break;
/* linux_epoll_wait */
case 256:
switch(ndx) {
case 0:
p = "l_int";
break;
case 1:
p = "struct linux_epoll_event *";
break;
case 2:
p = "l_int";
break;
case 3:
p = "l_int";
break;
default:
break;
};
break;
/* linux_remap_file_pages */
case 257:
@ -5353,6 +5406,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_epoll_create1 */
case 329:
switch(ndx) {
case 0:
p = "l_int";
break;
default:
break;
};
break;
/* linux_dup3 */
case 330:
@ -6400,10 +6460,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 253:
/* linux_epoll_create */
case 254:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_epoll_ctl */
case 255:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_epoll_wait */
case 256:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_remap_file_pages */
case 257:
/* linux_set_tid_address */
@ -6618,6 +6687,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 328:
/* linux_epoll_create1 */
case 329:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_dup3 */
case 330:
/* linux_pipe2 */

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb
* created from FreeBSD: head/sys/i386/linux/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#ifndef _LINUX_SYSPROTO_H_
@ -15,6 +15,7 @@
#include <sys/_ffcounter.h>
#include <sys/_semaphore.h>
#include <sys/ucontext.h>
#include <sys/wait.h>
#include <bsm/audit_kevents.h>
@ -765,13 +766,19 @@ struct linux_lookup_dcookie_args {
register_t dummy;
};
struct linux_epoll_create_args {
register_t dummy;
char size_l_[PADL_(l_int)]; l_int size; char size_r_[PADR_(l_int)];
};
struct linux_epoll_ctl_args {
register_t dummy;
char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)];
char op_l_[PADL_(l_int)]; l_int op; char op_r_[PADR_(l_int)];
char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
char event_l_[PADL_(struct linux_epoll_event *)]; struct linux_epoll_event * event; char event_r_[PADR_(struct linux_epoll_event *)];
};
struct linux_epoll_wait_args {
register_t dummy;
char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)];
char events_l_[PADL_(struct linux_epoll_event *)]; struct linux_epoll_event * events; char events_r_[PADR_(struct linux_epoll_event *)];
char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)];
char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)];
};
struct linux_remap_file_pages_args {
register_t dummy;
@ -1056,7 +1063,7 @@ struct linux_eventfd2_args {
register_t dummy;
};
struct linux_epoll_create1_args {
register_t dummy;
char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_dup3_args {
register_t dummy;

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb
* created from FreeBSD: head/sys/i386/linux/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#define LINUX_SYS_exit 1

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb
* created from FreeBSD: head/sys/i386/linux/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
const char *linux_syscallnames[] = {

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb
* created from FreeBSD: head/sys/i386/linux/syscalls.master 255672 2013-09-18 17:56:04Z rdivacky
*/
#include <sys/param.h>
@ -272,9 +272,9 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 251 = */
{ AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 252 = linux_exit_group */
{ 0, (sy_call_t *)linux_lookup_dcookie, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 253 = linux_lookup_dcookie */
{ 0, (sy_call_t *)linux_epoll_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = linux_epoll_create */
{ 0, (sy_call_t *)linux_epoll_ctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = linux_epoll_ctl */
{ 0, (sy_call_t *)linux_epoll_wait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 256 = linux_epoll_wait */
{ AS(linux_epoll_create_args), (sy_call_t *)linux_epoll_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = linux_epoll_create */
{ AS(linux_epoll_ctl_args), (sy_call_t *)linux_epoll_ctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = linux_epoll_ctl */
{ AS(linux_epoll_wait_args), (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 */
{ AS(linux_timer_create_args), (sy_call_t *)linux_timer_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 259 = linux_timer_create */
@ -347,7 +347,7 @@ struct sysent linux_sysent[] = {
{ 0, (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 */
{ 0, (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 328 = linux_eventfd2 */
{ 0, (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
{ AS(linux_epoll_create1_args), (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
{ 0, (sy_call_t *)linux_dup3, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 330 = linux_dup3 */
{ AS(linux_pipe2_args), (sy_call_t *)linux_pipe2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 331 = linux_pipe2 */
{ 0, (sy_call_t *)linux_inotify_init1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 332 = linux_inotify_init1 */

View File

@ -1743,17 +1743,29 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_epoll_create */
case 254: {
*n_args = 0;
struct linux_epoll_create_args *p = params;
iarg[0] = p->size; /* l_int */
*n_args = 1;
break;
}
/* linux_epoll_ctl */
case 255: {
*n_args = 0;
struct linux_epoll_ctl_args *p = params;
iarg[0] = p->epfd; /* l_int */
iarg[1] = p->op; /* l_int */
iarg[2] = p->fd; /* l_int */
uarg[3] = (intptr_t) p->event; /* struct linux_epoll_event * */
*n_args = 4;
break;
}
/* linux_epoll_wait */
case 256: {
*n_args = 0;
struct linux_epoll_wait_args *p = params;
iarg[0] = p->epfd; /* l_int */
uarg[1] = (intptr_t) p->events; /* struct linux_epoll_event * */
iarg[2] = p->maxevents; /* l_int */
iarg[3] = p->timeout; /* l_int */
*n_args = 4;
break;
}
/* linux_remap_file_pages */
@ -2250,7 +2262,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_epoll_create1 */
case 329: {
*n_args = 0;
struct linux_epoll_create1_args *p = params;
iarg[0] = p->flags; /* l_int */
*n_args = 1;
break;
}
/* linux_dup3 */
@ -4969,12 +4983,51 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_epoll_create */
case 254:
switch(ndx) {
case 0:
p = "l_int";
break;
default:
break;
};
break;
/* linux_epoll_ctl */
case 255:
switch(ndx) {
case 0:
p = "l_int";
break;
case 1:
p = "l_int";
break;
case 2:
p = "l_int";
break;
case 3:
p = "struct linux_epoll_event *";
break;
default:
break;
};
break;
/* linux_epoll_wait */
case 256:
switch(ndx) {
case 0:
p = "l_int";
break;
case 1:
p = "struct linux_epoll_event *";
break;
case 2:
p = "l_int";
break;
case 3:
p = "l_int";
break;
default:
break;
};
break;
/* linux_remap_file_pages */
case 257:
@ -5649,6 +5702,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_epoll_create1 */
case 329:
switch(ndx) {
case 0:
p = "l_int";
break;
default:
break;
};
break;
/* linux_dup3 */
case 330:
@ -6725,10 +6785,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 253:
/* linux_epoll_create */
case 254:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_epoll_ctl */
case 255:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_epoll_wait */
case 256:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_remap_file_pages */
case 257:
/* linux_set_tid_address */
@ -6976,6 +7045,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 328:
/* linux_epoll_create1 */
case 329:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* linux_dup3 */
case 330:
/* linux_pipe2 */