[CRIU] [PATCH] x86: syscalls -- Rework building procedure
Cyrill Gorcunov
gorcunov at openvz.org
Thu Apr 9 01:45: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 | 64 +++++++++------
arch/x86/syscall-x86-64.def | 103 ------------------------
arch/x86/syscalls-x86-64.sh | 54 -------------
arch/x86/{ => syscalls}/syscall-common-x86-64.S | 0
arch/x86/syscalls/syscall_64.tbl | 98 ++++++++++++++++++++++
5 files changed, 136 insertions(+), 183 deletions(-)
delete mode 100644 arch/x86/syscall-x86-64.def
delete mode 100644 arch/x86/syscalls-x86-64.sh
rename arch/x86/{ => syscalls}/syscall-common-x86-64.S (100%)
create mode 100644 arch/x86/syscalls/syscall_64.tbl
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 71c748bfc85d..76a18b28836c 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,45 @@ 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)
-
-$(obj)/syscalls.o: $(obj)/$(SYS-ASM)
-
-$(obj)/$(SYS-EXEC-TBL): $(obj)/$(SYS-GEN) $(obj)/$(SYS-DEF)
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) echo "#ifndef __ASM_CR_SYSCALL_CODES_H__" >> $@
+ $(Q) echo "#define __ASM_CR_SYSCALL_CODES_H__" >> $@
+ $(Q) cat $< | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define " $$1 " " $$2 }' >> $@
+ $(Q) echo "#endif /* __ASM_CR_SYSCALL_CODES_H__ */" >> $@
+_all += $(obj)/$(SYS-CODES)
+cleanup-y += $(obj)/$(SYS-CODES)
+
+$(obj)/$(SYS-PROTO): $(obj)/syscalls/$(SYS-DEF)
$(E) " GEN " $@
- $(Q) $(SH) \
- $(obj)/$(SYS-GEN) --exec \
- $(obj)/$(SYS-DEF) \
- $(obj)/$(SYS-EXEC-TBL)
+ $(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 $< | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "extern long ", $$(3), $$(4), ";"}' >> $@
+ $(Q) echo "#endif /* __ASM_CR_SYSCALL_PROTO_H__ */" >> $@
+_all += $(obj)/$(SYS-PROTO)
+cleanup-y += $(obj)/$(SYS-PROTO)
+$(obj)/$(SYS-ASM): $(obj)/syscalls/$(SYS-DEF) $(obj)/syscalls/$(SYS-ASM-COMMON) $(obj)/$(SYS-CODES) $(obj)/$(SYS-PROTO)
+ $(E) " GEN " $@
+ $(Q) echo "/* Autogenerated, don't edit */" > $@
+ $(Q) echo "#include \"syscall-codes.h\"" >> $@
+ $(Q) echo "#include \"syscalls/$(SYS-ASM-COMMON)\"" >> $@
+ $(Q) cat $< | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "SYSCALL(", $$3, ",", $$2, ")"}' >> $@
+_all += $(obj)/$(SYS-ASM)
+cleanup-y += $(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 $< | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{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-x86-64.def b/arch/x86/syscall-x86-64.def
deleted file mode 100644
index b793e8e1ef68..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_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_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-x86-64.sh b/arch/x86/syscalls-x86-64.sh
deleted file mode 100644
index 22c81293dfff..000000000000
--- a/arch/x86/syscalls-x86-64.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-gen_asm() {
- in=$1
- codesout=$2
- codesinc=`echo $2 | sed -e 's/.*include\///g'`
- protosout=$3
- asmout=$4
- asmcommon=`echo $5 | sed -e 's/.*include\///g'`
- prototypes=`echo $6 | sed -e 's/.*include\///g'`
-
- codesdef=`echo $codesout | sed -e 's/.*include\///g' | tr "[[:space:]].-" _`
- protosdef=`echo $protosout | sed -e 's/.*include\///g' | tr "[[:space:]].-" _`
-
- echo "/* Autogenerated, don't edit */" > $codesout
- echo "#ifndef $codesdef" >> $codesout
- echo "#define $codesdef" >> $codesout
-
- echo "/* Autogenerated, don't edit */" > $protosout
- echo "#ifndef $protosdef" >> $protosout
- echo "#define $protosdef" >> $protosout
- echo "#include \"$prototypes\"" >> $protosout
- echo "#include \"$codesinc\"" >> $protosout
-
- echo "/* Autogenerated, don't edit */" > $asmout
- echo "#include \"$codesinc\"" >> $asmout
- echo "#include \"$asmcommon\"" >> $asmout
-
- cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define", $1, $2}' >> $codesout
- cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "extern long ", $3, $4, ";"}' >> $protosout
- cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "SYSCALL(", $3, ",", $2, ")"}' >> $asmout
-
- echo "#endif /* $codesdef */" >> $codesout
- echo "#endif /* $protosdef */" >> $protosout
-}
-
-gen_exec() {
- in=$1
- codecout=$2
-
- echo "/* Autogenerated, don't edit */" > $codecout
-
- cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "SYSCALL(", substr($3, 5), ",", $2, ")"}' >> $codecout
-}
-
-if [ "$1" = "--asm" ]; then
- shift
- gen_asm $@
-fi
-
-if [ "$1" = "--exec" ]; then
- shift
- gen_exec $@
-fi
diff --git a/arch/x86/syscall-common-x86-64.S b/arch/x86/syscalls/syscall-common-x86-64.S
similarity index 100%
rename from arch/x86/syscall-common-x86-64.S
rename to arch/x86/syscalls/syscall-common-x86-64.S
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