[CRIU] [PATCH 1/3] x86: x86-64 syscalls -- Rework build procedure
Cyrill Gorcunov
gorcunov at openvz.org
Mon Apr 13 05:46:53 PDT 2015
- Get rid of shell script, we can do everything via make itself in parallel mode
- Collect syscall related data into syscalls subdirectory (we gonna implement
32 bit mode soon)
- We can't drop off __NR_ constants because we're using them in parasite code
(when we inject dumper and for "criu exec" mode)
Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
arch/x86/Makefile | 62 +++++++++++-------
arch/x86/syscall-common-x86-64.S | 21 ------
arch/x86/syscall-x86-64.def | 103 ------------------------------
arch/x86/syscalls/syscall-common-x86-64.S | 21 ++++++
arch/x86/syscalls/syscall_64.tbl | 98 ++++++++++++++++++++++++++++
5 files changed, 157 insertions(+), 148 deletions(-)
delete mode 100644 arch/x86/syscall-common-x86-64.S
delete mode 100644 arch/x86/syscall-x86-64.def
create mode 100644 arch/x86/syscalls/syscall-common-x86-64.S
create mode 100644 arch/x86/syscalls/syscall_64.tbl
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 71c748bfc85d..1d722c868f54 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -8,14 +8,12 @@ crtools-obj-y += crtools.o
crtools-obj-y += cpu.o
crtools-obj-y += prlimit.o
-SYS-DEF := syscall-x86-64.def
+SYS-DEF := syscall_64.tbl
SYS-ASM-COMMON := syscall-common-x86-64.S
-SYS-TYPES := include/syscall-types.h
-SYS-CODES := include/syscall-codes.h
-SYS-PROTO := include/syscall.h
-
-SYS-GEN := syscalls-x86-64.sh
+SYS-TYPES := ../../include/syscall-types.h
+SYS-CODES := ../../include/syscall-codes.h
+SYS-PROTO := ../../include/syscall.h
SYS-EXEC-TBL := sys-exec-tbl.c
@@ -24,31 +22,47 @@ syscalls-asm-y-asmflags += -nostdlib -fomit-frame-pointer -I$(obj)
ASMFLAGS += -D__ASSEMBLY__
-$(obj)/$(SYS-ASM): $(obj)/$(SYS-GEN) $(obj)/$(SYS-DEF) $(obj)/$(SYS-ASM-COMMON) $(SYS-TYPES)
+$(obj)/$(SYS-CODES): $(obj)/syscalls/$(SYS-DEF)
$(E) " GEN " $@
- $(Q) $(SH) \
- $(obj)/$(SYS-GEN) --asm \
- $(obj)/$(SYS-DEF) \
- $(SYS-CODES) \
- $(SYS-PROTO) \
- $(obj)/$(SYS-ASM) \
- $(SYS-ASM-COMMON) \
- $(SYS-TYPES)
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) echo "#ifndef __ASM_CR_SYSCALL_CODES_H__" >> $@
+ $(Q) echo "#define __ASM_CR_SYSCALL_CODES_H__" >> $@
+ $(Q) cat $< | awk '/^__NR/{print "#define", $$1, $$2}' >> $@
+ $(Q) echo "#endif /* __ASM_CR_SYSCALL_CODES_H__ */" >> $@
+_all += $(obj)/$(SYS-CODES)
+cleanup-y += $(obj)/$(SYS-CODES)
-$(obj)/syscalls.o: $(obj)/$(SYS-ASM)
+$(obj)/$(SYS-PROTO): $(obj)/syscalls/$(SYS-DEF)
+ $(E) " GEN " $@
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) echo "#ifndef __ASM_CR_SYSCALL_PROTO_H__" >> $@
+ $(Q) echo "#define __ASM_CR_SYSCALL_PROTO_H__" >> $@
+ $(Q) echo "#include \"syscall-codes.h\"" >> $@
+ $(Q) echo "#include \"syscall-types.h\"" >> $@
+ $(Q) cat $< | awk '/^__NR/{print "extern long", $$3, substr($$0, index($$0,$$4)), ";"}' >> $@
+ $(Q) echo "#endif /* __ASM_CR_SYSCALL_PROTO_H__ */" >> $@
+_all += $(obj)/$(SYS-PROTO)
+cleanup-y += $(obj)/$(SYS-PROTO)
-$(obj)/$(SYS-EXEC-TBL): $(obj)/$(SYS-GEN) $(obj)/$(SYS-DEF)
+$(obj)/$(SYS-ASM): $(obj)/syscalls/$(SYS-DEF) $(obj)/syscalls/$(SYS-ASM-COMMON) $(obj)/$(SYS-CODES) $(obj)/$(SYS-PROTO)
$(E) " GEN " $@
- $(Q) $(SH) \
- $(obj)/$(SYS-GEN) --exec \
- $(obj)/$(SYS-DEF) \
- $(obj)/$(SYS-EXEC-TBL)
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) echo "#include \"syscall-codes.h\"" >> $@
+ $(Q) echo "#include \"syscalls/$(SYS-ASM-COMMON)\"" >> $@
+ $(Q) cat $< | awk '/^__NR/{print "SYSCALL(", $$3, ",", $$2, ")"}' >> $@
+_all += $(obj)/$(SYS-ASM)
+cleanup-y += $(obj)/$(SYS-ASM)
+$(obj)/syscalls.o: $(obj)/$(SYS-ASM)
+
+$(obj)/$(SYS-EXEC-TBL): $(obj)/syscalls/$(SYS-DEF) $(obj)/$(SYS-CODES) $(obj)/$(SYS-PROTO)
+ $(E) " GEN " $@
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) cat $< | awk '/^__NR/{print "SYSCALL(", substr($$3, 5), ",", $$2, ")"}' >> $@
_all += $(obj)/$(SYS-EXEC-TBL)
+cleanup-y += $(obj)/$(SYS-EXEC-TBL)
-cleanup-y += $(obj)/$(SYS-EXEC-TBL) $(obj)/$(SYS-ASM)
-cleanup-y += $(SYS-CODES)
-cleanup-y += $(SYS-PROTO)
+$(obj)/crtools.built-in.o: | $(obj)/$(SYS-CODES) $(obj)/$(SYS-PROTO)
ifneq ($(MAKECMDGOALS),clean)
deps-after := $(obj)/$(SYS-ASM)
diff --git a/arch/x86/syscall-common-x86-64.S b/arch/x86/syscall-common-x86-64.S
deleted file mode 100644
index b93c31288a20..000000000000
--- a/arch/x86/syscall-common-x86-64.S
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "asm/linkage.h"
-
-#define SYSCALL(name, opcode) \
- ENTRY(name); \
- movl $opcode, %eax; \
- jmp __syscall_common; \
- END(name)
-
- .text
- .align 4
-
-ENTRY(__syscall_common)
- movq %rcx, %r10
- syscall
- ret
-END(__syscall_common)
-
-ENTRY(__cr_restore_rt)
- movq $__NR_rt_sigreturn, %rax
- syscall
-END(__cr_restore_rt)
diff --git a/arch/x86/syscall-x86-64.def b/arch/x86/syscall-x86-64.def
deleted file mode 100644
index 29afdf8008c4..000000000000
--- a/arch/x86/syscall-x86-64.def
+++ /dev/null
@@ -1,103 +0,0 @@
-#
-# System calls table, please make sure the table consist only the syscalls
-# really used somewhere in project.
-#
-# The template is (name and srguments are optinal if you need only __NR_x
-# defined, but no realy entry point in syscalls lib).
-#
-# name code name arguments
-# -----------------------------------------------------------------------
-#
-__NR_read 0 sys_read (int fd, void *buf, unsigned long count)
-__NR_write 1 sys_write (int fd, const void *buf, unsigned long count)
-__NR_open 2 sys_open (const char *filename, unsigned long flags, unsigned long mode)
-__NR_close 3 sys_close (int fd)
-__NR_lseek 8 sys_lseek (int fd, unsigned long offset, unsigned long origin)
-__NR_mmap 9 sys_mmap (void *addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long offset)
-__NR_mprotect 10 sys_mprotect (const void *addr, unsigned long len, unsigned long prot)
-__NR_munmap 11 sys_munmap (void *addr, unsigned long len)
-__NR_brk 12 sys_brk (void *addr)
-__NR_rt_sigaction 13 sys_sigaction (int signum, const rt_sigaction_t *act, rt_sigaction_t *oldact, size_t sigsetsize)
-__NR_rt_sigprocmask 14 sys_sigprocmask (int how, k_rtsigset_t *set, k_rtsigset_t *old, size_t sigsetsize)
-__NR_rt_sigreturn 15 sys_rt_sigreturn (void)
-__NR_ioctl 16 sys_ioctl (unsigned int fd, unsigned int cmd, unsigned long arg)
-__NR_pread64 17 sys_pread (unsigned int fd, char *buf, size_t count, loff_t pos)
-__NR_mremap 25 sys_mremap (unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addr)
-__NR_mincore 27 sys_mincore (void *addr, unsigned long size, unsigned char *vec)
-__NR_madvise 28 sys_madvise (unsigned long start, size_t len, int behavior)
-__NR_shmat 30 sys_shmat (int shmid, void *shmaddr, int shmflag)
-__NR_pause 34 sys_pause (void)
-__NR_nanosleep 35 sys_nanosleep (struct timespec *req, struct timespec *rem)
-__NR_getitimer 36 sys_getitimer (int which, const struct itimerval *val)
-__NR_setitimer 38 sys_setitimer (int which, const struct itimerval *val, struct itimerval *old)
-__NR_getpid 39 sys_getpid (void)
-__NR_socket 41 sys_socket (int domain, int type, int protocol)
-__NR_connect 42 sys_connect (int sockfd, struct sockaddr *addr, int addrlen)
-__NR_sendto 44 sys_sendto (int sockfd, void *buff, size_t len, unsigned int flags, struct sockaddr *addr, int addr_len)
-__NR_recvfrom 45 sys_recvfrom (int sockfd, void *ubuf, size_t size, unsigned int flags, struct sockaddr *addr, int *addr_len)
-__NR_sendmsg 46 sys_sendmsg (int sockfd, const struct msghdr *msg, int flags)
-__NR_recvmsg 47 sys_recvmsg (int sockfd, struct msghdr *msg, int flags)
-__NR_shutdown 48 sys_shutdown (int sockfd, int how)
-__NR_bind 49 sys_bind (int sockfd, const struct sockaddr *addr, int addrlen)
-__NR_setsockopt 54 sys_setsockopt (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
-__NR_getsockopt 55 sys_getsockopt (int sockfd, int level, int optname, const void *optval, socklen_t *optlen)
-__NR_clone 56 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
-__NR_exit 60 sys_exit (unsigned long error_code)
-__NR_wait4 61 sys_wait4 (int pid, int *status, int options, struct rusage *ru)
-__NR_kill 62 sys_kill (long pid, int sig)
-__NR_fcntl 72 sys_fcntl (int fd, int type, long arg)
-__NR_flock 73 sys_flock (int fd, unsigned long cmd)
-__NR_mkdir 83 sys_mkdir (const char *name, int mode)
-__NR_rmdir 84 sys_rmdir (const char *name)
-__NR_unlink 87 sys_unlink (char *pathname)
-__NR_readlink 89 sys_readlink (const char *path, char *buf, int bufsize)
-__NR_umask 95 sys_umask (int mask)
-__NR_getgroups 115 sys_getgroups (int gsize, unsigned int *groups)
-__NR_setresuid 117 sys_setresuid (int uid, int euid, int suid)
-__NR_getresuid 118 sys_getresuid (int *uid, int *euid, int *suid)
-__NR_setresgid 119 sys_setresgid (int gid, int egid, int sgid)
-__NR_getresgid 120 sys_getresgid (int *gid, int *egid, int *sgid)
-__NR_getpgid 121 sys_getpgid (pid_t pid)
-__NR_setfsuid 122 sys_setfsuid (int fsuid)
-__NR_setfsgid 123 sys_setfsgid (int fsgid)
-__NR_getsid 124 sys_getsid (void)
-__NR_capget 125 sys_capget (struct cap_header *h, struct cap_data *d)
-__NR_capset 126 sys_capset (struct cap_header *h, struct cap_data *d)
-__NR_rt_sigqueueinfo 129 sys_rt_sigqueueinfo (pid_t pid, int sig, siginfo_t *info)
-__NR_sigaltstack 131 sys_sigaltstack (const void *uss, void *uoss)
-__NR_personality 135 sys_personality (unsigned int personality)
-__NR_setpriority 141 sys_setpriority (int which, int who, int nice)
-__NR_sched_setscheduler 144 sys_sched_setscheduler (int pid, int policy, struct sched_param *p)
-__NR_prctl 157 sys_prctl (int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
-__NR_arch_prctl 158 sys_arch_prctl (int option, unsigned long addr)
-__NR_setrlimit 160 sys_setrlimit (int resource, struct krlimit *rlim)
-__NR_mount 165 sys_mount (char *dev_nmae, char *dir_name, char *type, unsigned long flags, void *data)
-__NR_umount2 166 sys_umount2 (char *name, int flags)
-__NR_gettid 186 sys_gettid (void)
-__NR_futex 202 sys_futex (u32 *uaddr, int op, u32 val, struct timespec *utime, u32 *uaddr2, u32 val3)
-__NR_set_thread_area 205 sys_set_thread_area (user_desc_t *info)
-__NR_get_thread_area 211 sys_get_thread_area (user_desc_t *info)
-__NR_set_tid_address 218 sys_set_tid_address (int *tid_addr)
-__NR_restart_syscall 219 sys_restart_syscall (void)
-__NR_timer_create 222 sys_timer_create (clockid_t which_clock, struct sigevent *timer_event_spec, timer_t *created_timer_id)
-__NR_timer_settime 223 sys_timer_settime (timer_t timer_id, int flags, const struct itimerspec *new_setting, struct itimerspec *old_setting)
-__NR_timer_gettime 224 sys_timer_gettime (int timer_id, const struct itimerspec *setting)
-__NR_timer_getoverrun 225 sys_timer_getoverrun (int timer_id)
-__NR_timer_delete 226 sys_timer_delete (timer_t timer_id)
-__NR_clock_gettime 228 sys_clock_gettime (const clockid_t which_clock, const struct timespec *tp)
-__NR_exit_group 231 sys_exit_group (int error_code)
-__NR_io_setup 206 sys_io_setup (unsigned nr_events, aio_context_t *ctx)
-__NR_io_getevents 208 sys_io_getevents (aio_context_t ctx, long min_nr, long nr, struct io_event *evs, struct timespec *tmo)
-__NR_set_robust_list 273 sys_set_robust_list (struct robust_list_head *head, size_t len)
-__NR_get_robust_list 274 sys_get_robust_list (int pid, struct robust_list_head **head_ptr, size_t *len_ptr)
-__NR_vmsplice 278 sys_vmsplice (int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flags)
-__NR_timerfd_settime 286 sys_timerfd_settime (int ufd, int flags, const struct itimerspec *utmr, struct itimerspec *otmr)
-__NR_signalfd4 289 sys_signalfd (int fd, k_rtsigset_t *mask, size_t sizemask, int flags)
-__NR_rt_tgsigqueueinfo 297 sys_rt_tgsigqueueinfo (pid_t tgid, pid_t pid, int sig, siginfo_t *info)
-__NR_fanotify_init 300 sys_fanotify_init (unsigned int flags, unsigned int event_f_flags)
-__NR_fanotify_mark 301 sys_fanotify_mark (int fanotify_fd, unsigned int flags, u64 mask, int dfd, const char *pathname)
-__NR_prlimit64 302 sys_prlimit64 (pid_t pid, unsigned int resource, const struct rlimit64 *new_rlim, struct rlimit64 *old_rlim)
-__NR_open_by_handle_at 304 sys_open_by_handle_at (int mountdirfd, struct file_handle *handle, int flags)
-__NR_setns 308 sys_setns (int fd, int nstype)
-__NR_kcmp 312 sys_kcmp (pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2)
-__NR_memfd_create 319 sys_memfd_create (const char *name, unsigned int flags)
diff --git a/arch/x86/syscalls/syscall-common-x86-64.S b/arch/x86/syscalls/syscall-common-x86-64.S
new file mode 100644
index 000000000000..b93c31288a20
--- /dev/null
+++ b/arch/x86/syscalls/syscall-common-x86-64.S
@@ -0,0 +1,21 @@
+#include "asm/linkage.h"
+
+#define SYSCALL(name, opcode) \
+ ENTRY(name); \
+ movl $opcode, %eax; \
+ jmp __syscall_common; \
+ END(name)
+
+ .text
+ .align 4
+
+ENTRY(__syscall_common)
+ movq %rcx, %r10
+ syscall
+ ret
+END(__syscall_common)
+
+ENTRY(__cr_restore_rt)
+ movq $__NR_rt_sigreturn, %rax
+ syscall
+END(__cr_restore_rt)
diff --git a/arch/x86/syscalls/syscall_64.tbl b/arch/x86/syscalls/syscall_64.tbl
new file mode 100644
index 000000000000..085dbdf0e28e
--- /dev/null
+++ b/arch/x86/syscalls/syscall_64.tbl
@@ -0,0 +1,98 @@
+#
+# System calls table, please make sure the table consist only the syscalls
+# really used somewhere in project.
+#
+# __NR_name code name arguments
+# -------------------------------------------------------------------------------------------------------------------------------------------------------------
+__NR_read 0 sys_read (int fd, void *buf, unsigned long count)
+__NR_write 1 sys_write (int fd, const void *buf, unsigned long count)
+__NR_open 2 sys_open (const char *filename, unsigned long flags, unsigned long mode)
+__NR_close 3 sys_close (int fd)
+__NR_lseek 8 sys_lseek (int fd, unsigned long offset, unsigned long origin)
+__NR_mmap 9 sys_mmap (void *addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long offset)
+__NR_mprotect 10 sys_mprotect (const void *addr, unsigned long len, unsigned long prot)
+__NR_munmap 11 sys_munmap (void *addr, unsigned long len)
+__NR_brk 12 sys_brk (void *addr)
+__NR_rt_sigaction 13 sys_sigaction (int signum, const rt_sigaction_t *act, rt_sigaction_t *oldact, size_t sigsetsize)
+__NR_rt_sigprocmask 14 sys_sigprocmask (int how, k_rtsigset_t *set, k_rtsigset_t *old, size_t sigsetsize)
+__NR_rt_sigreturn 15 sys_rt_sigreturn (void)
+__NR_ioctl 16 sys_ioctl (unsigned int fd, unsigned int cmd, unsigned long arg)
+__NR_pread64 17 sys_pread (unsigned int fd, char *buf, size_t count, loff_t pos)
+__NR_mremap 25 sys_mremap (unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addr)
+__NR_mincore 27 sys_mincore (void *addr, unsigned long size, unsigned char *vec)
+__NR_madvise 28 sys_madvise (unsigned long start, size_t len, int behavior)
+__NR_shmat 30 sys_shmat (int shmid, void *shmaddr, int shmflag)
+__NR_nanosleep 35 sys_nanosleep (struct timespec *req, struct timespec *rem)
+__NR_getitimer 36 sys_getitimer (int which, const struct itimerval *val)
+__NR_setitimer 38 sys_setitimer (int which, const struct itimerval *val, struct itimerval *old)
+__NR_getpid 39 sys_getpid (void)
+__NR_socket 41 sys_socket (int domain, int type, int protocol)
+__NR_connect 42 sys_connect (int sockfd, struct sockaddr *addr, int addrlen)
+__NR_sendto 44 sys_sendto (int sockfd, void *buff, size_t len, unsigned int flags, struct sockaddr *addr, int addr_len)
+__NR_recvfrom 45 sys_recvfrom (int sockfd, void *ubuf, size_t size, unsigned int flags, struct sockaddr *addr, int *addr_len)
+__NR_sendmsg 46 sys_sendmsg (int sockfd, const struct msghdr *msg, int flags)
+__NR_recvmsg 47 sys_recvmsg (int sockfd, struct msghdr *msg, int flags)
+__NR_shutdown 48 sys_shutdown (int sockfd, int how)
+__NR_bind 49 sys_bind (int sockfd, const struct sockaddr *addr, int addrlen)
+__NR_setsockopt 54 sys_setsockopt (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
+__NR_getsockopt 55 sys_getsockopt (int sockfd, int level, int optname, const void *optval, socklen_t *optlen)
+__NR_clone 56 sys_clone (unsigned long flags, void *child_stack, void *parent_tid, void *child_tid)
+__NR_exit 60 sys_exit (unsigned long error_code)
+__NR_wait4 61 sys_wait4 (int pid, int *status, int options, struct rusage *ru)
+__NR_kill 62 sys_kill (long pid, int sig)
+__NR_fcntl 72 sys_fcntl (int fd, int type, long arg)
+__NR_flock 73 sys_flock (int fd, unsigned long cmd)
+__NR_mkdir 83 sys_mkdir (const char *name, int mode)
+__NR_rmdir 84 sys_rmdir (const char *name)
+__NR_unlink 87 sys_unlink (char *pathname)
+__NR_readlink 89 sys_readlink (const char *path, char *buf, int bufsize)
+__NR_umask 95 sys_umask (int mask)
+__NR_getgroups 115 sys_getgroups (int gsize, unsigned int *groups)
+__NR_setresuid 117 sys_setresuid (int uid, int euid, int suid)
+__NR_getresuid 118 sys_getresuid (int *uid, int *euid, int *suid)
+__NR_setresgid 119 sys_setresgid (int gid, int egid, int sgid)
+__NR_getresgid 120 sys_getresgid (int *gid, int *egid, int *sgid)
+__NR_getpgid 121 sys_getpgid (pid_t pid)
+__NR_setfsuid 122 sys_setfsuid (int fsuid)
+__NR_setfsgid 123 sys_setfsgid (int fsgid)
+__NR_getsid 124 sys_getsid (void)
+__NR_capget 125 sys_capget (struct cap_header *h, struct cap_data *d)
+__NR_capset 126 sys_capset (struct cap_header *h, struct cap_data *d)
+__NR_rt_sigqueueinfo 129 sys_rt_sigqueueinfo (pid_t pid, int sig, siginfo_t *info)
+__NR_sigaltstack 131 sys_sigaltstack (const void *uss, void *uoss)
+__NR_personality 135 sys_personality (unsigned int personality)
+__NR_setpriority 141 sys_setpriority (int which, int who, int nice)
+__NR_sched_setscheduler 144 sys_sched_setscheduler (int pid, int policy, struct sched_param *p)
+__NR_prctl 157 sys_prctl (int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
+__NR_arch_prctl 158 sys_arch_prctl (int option, unsigned long addr)
+__NR_setrlimit 160 sys_setrlimit (int resource, struct krlimit *rlim)
+__NR_mount 165 sys_mount (char *dev_nmae, char *dir_name, char *type, unsigned long flags, void *data)
+__NR_umount2 166 sys_umount2 (char *name, int flags)
+__NR_gettid 186 sys_gettid (void)
+__NR_futex 202 sys_futex (u32 *uaddr, int op, u32 val, struct timespec *utime, u32 *uaddr2, u32 val3)
+__NR_set_thread_area 205 sys_set_thread_area (user_desc_t *info)
+__NR_io_setup 206 sys_io_setup (unsigned nr_events, aio_context_t *ctx)
+__NR_io_getevents 208 sys_io_getevents (aio_context_t ctx, long min_nr, long nr, struct io_event *evs, struct timespec *tmo)
+__NR_get_thread_area 211 sys_get_thread_area (user_desc_t *info)
+__NR_set_tid_address 218 sys_set_tid_address (int *tid_addr)
+__NR_restart_syscall 219 sys_restart_syscall (void)
+__NR_sys_timer_create 222 sys_timer_create (clockid_t which_clock, struct sigevent *timer_event_spec, timer_t *created_timer_id)
+__NR_sys_timer_settime 223 sys_timer_settime (timer_t timer_id, int flags, const struct itimerspec *new_setting, struct itimerspec *old_setting)
+__NR_sys_timer_gettime 224 sys_timer_gettime (int timer_id, const struct itimerspec *setting)
+__NR_sys_timer_getoverrun 225 sys_timer_getoverrun (int timer_id)
+__NR_sys_timer_delete 226 sys_timer_delete (timer_t timer_id)
+__NR_clock_gettime 228 sys_clock_gettime (const clockid_t which_clock, const struct timespec *tp)
+__NR_exit_group 231 sys_exit_group (int error_code)
+__NR_set_robust_list 273 sys_set_robust_list (struct robust_list_head *head, size_t len)
+__NR_get_robust_list 274 sys_get_robust_list (int pid, struct robust_list_head **head_ptr, size_t *len_ptr)
+__NR_vmsplice 278 sys_vmsplice (int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flags)
+__NR_timerfd_settime 286 sys_timerfd_settime (int ufd, int flags, const struct itimerspec *utmr, struct itimerspec *otmr)
+__NR_signalfd4 289 sys_signalfd (int fd, k_rtsigset_t *mask, size_t sizemask, int flags)
+__NR_rt_tgsigqueueinfo 297 sys_rt_tgsigqueueinfo (pid_t tgid, pid_t pid, int sig, siginfo_t *info)
+__NR_fanotify_init 300 sys_fanotify_init (unsigned int flags, unsigned int event_f_flags)
+__NR_fanotify_mark 301 sys_fanotify_mark (int fanotify_fd, unsigned int flags, u64 mask, int dfd, const char *pathname)
+__NR_prlimit64 302 sys_prlimit64 (pid_t pid, unsigned int resource, const struct rlimit64 *new_rlim, struct rlimit64 *old_rlim)
+__NR_open_by_handle_at 304 sys_open_by_handle_at (int mountdirfd, struct file_handle *handle, int flags)
+__NR_setns 308 sys_setns (int fd, int nstype)
+__NR_kcmp 312 sys_kcmp (pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2)
+__NR_memfd_create 319 sys_memfd_create (const char *name, unsigned int flags)
--
1.9.3
More information about the CRIU
mailing list