target/ppc: Fix lxvx/stxvx facility check
linux-user: update syscall_nr.h to Linux v6.10 linux-user: update syscall.tbl to Linux v6.11 tcg: Fix iteration step in 32-bit gvec operation tcg: Propagate new TCGOp to add_as_label_use tcg/*: Do not expand cmp_vec, cmpsel_vec early tcg/optimize: Fold movcond with true and false values identical tcg/optimize: Optimize cmp_vec and cmpsel_vec tcg/optimize: Optimize bitsel_vec tcg/i386: Optimize cmpsel with constant 0 operand 3. tcg/i386: Implement cmp_vec with avx512 insns tcg/i386: Implement cmpsel_vec with avx512 insns tcg/i386: Implement vector TST{EQ,NE} for avx512 tcg/ppc: Implement cmpsel_vec and optimize with constant 0/-1 arguments tcg/s390x: Implement cmpsel_vec and optimize with constant 0/-1 arguments -----BEGIN PGP SIGNATURE----- iQFQBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmbwBsIdHHJpY2hhcmQu aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/bzwf40V8fsRhfc8u/k2Xw +bXyfyX7ydgB+82YoO71+Wy15ntmYmbL/6O9kGuJXWX8HRDrAR8Js9zDgveysw5m m/EG+XAbVjYhjaoaaz2nfr+5auQoos9NoCji3s3UJln6sCuZ2Enl0DTFluoHZfgr /YVAghJ4dwH0hfzO9kmsKmJ9I19HugMMN4dNvEcjQyDDUhgGGjkUaRtGNxwuiwuf ArL2XhFauXgloryDmpUKQ0BJJ0t8rdPlaRJ8dHqJUnJwav0TW3QVXbrs8gOkmmbg 9plYTC9DlTguQobvapCDVjiGy/6yuSF/AUpcdQbTRtTi3BrzhTydfLlOtI64GtaQ OBKd =ID/g -----END PGP SIGNATURE----- Merge tag 'pull-tcg-20240922' of https://gitlab.com/rth7680/qemu into staging target/ppc: Fix lxvx/stxvx facility check linux-user: update syscall_nr.h to Linux v6.10 linux-user: update syscall.tbl to Linux v6.11 tcg: Fix iteration step in 32-bit gvec operation tcg: Propagate new TCGOp to add_as_label_use tcg/*: Do not expand cmp_vec, cmpsel_vec early tcg/optimize: Fold movcond with true and false values identical tcg/optimize: Optimize cmp_vec and cmpsel_vec tcg/optimize: Optimize bitsel_vec tcg/i386: Optimize cmpsel with constant 0 operand 3. tcg/i386: Implement cmp_vec with avx512 insns tcg/i386: Implement cmpsel_vec with avx512 insns tcg/i386: Implement vector TST{EQ,NE} for avx512 tcg/ppc: Implement cmpsel_vec and optimize with constant 0/-1 arguments tcg/s390x: Implement cmpsel_vec and optimize with constant 0/-1 arguments # -----BEGIN PGP SIGNATURE----- # # iQFQBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmbwBsIdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/bzwf40V8fsRhfc8u/k2Xw # +bXyfyX7ydgB+82YoO71+Wy15ntmYmbL/6O9kGuJXWX8HRDrAR8Js9zDgveysw5m # m/EG+XAbVjYhjaoaaz2nfr+5auQoos9NoCji3s3UJln6sCuZ2Enl0DTFluoHZfgr # /YVAghJ4dwH0hfzO9kmsKmJ9I19HugMMN4dNvEcjQyDDUhgGGjkUaRtGNxwuiwuf # ArL2XhFauXgloryDmpUKQ0BJJ0t8rdPlaRJ8dHqJUnJwav0TW3QVXbrs8gOkmmbg # 9plYTC9DlTguQobvapCDVjiGy/6yuSF/AUpcdQbTRtTi3BrzhTydfLlOtI64GtaQ # OBKd # =ID/g # -----END PGP SIGNATURE----- # gpg: Signature made Sun 22 Sep 2024 13:00:02 BST # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F * tag 'pull-tcg-20240922' of https://gitlab.com/rth7680/qemu: (31 commits) linux-user: update syscall.tbl to Linux v6.11 linux-user,loongarch: move to syscalltbl file linux-user,hexagon: move to syscalltbl file linux-user,riscv: move to syscalltbl file linux-user,openrisc: move to syscalltbl file linux-user,aarch64: move to syscalltbl file linux-user: update syscall.tbl to Linux v6.10 linux-user, mips: update syscall-args-o32.c.inc to Linux v6.10 linux-user: update syscall_nr.h to Linux v6.10 target/ppc: Fix lxvx/stxvx facility check tcg/s390x: Optimize cmpsel with constant 0/-1 arguments tcg/s390x: Implement cmpsel_vec tcg/ppc: Optimize cmpsel with constant 0/-1 arguments tcg/ppc: Implement cmpsel_vec tcg/i386: Implement vector TST{EQ,NE} for avx512 tcg/i386: Implement cmpsel_vec with avx512 insns tcg/i386: Add predicate parameters to tcg_out_evex_opc tcg/i386: Implement cmp_vec with avx512 insns tcg/i386: Optimize cmpsel with constant 0 operand 3. tcg/optimize: Optimize bitsel_vec ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
4ae7d11b70
@ -4,3 +4,5 @@ TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/aarch
|
||||
TARGET_HAS_BFLT=y
|
||||
CONFIG_SEMIHOSTING=y
|
||||
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
|
||||
TARGET_SYSTBL_ABI=common,64,renameat,rlimit,memfd_secret
|
||||
TARGET_SYSTBL=syscall_64.tbl
|
||||
|
@ -5,3 +5,5 @@ TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/aarch
|
||||
TARGET_HAS_BFLT=y
|
||||
CONFIG_SEMIHOSTING=y
|
||||
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
|
||||
TARGET_SYSTBL_ABI=common,64,renameat,rlimit,memfd_secret
|
||||
TARGET_SYSTBL=syscall_64.tbl
|
||||
|
@ -1,2 +1,4 @@
|
||||
TARGET_ARCH=hexagon
|
||||
TARGET_XML_FILES=gdb-xml/hexagon-core.xml gdb-xml/hexagon-hvx.xml
|
||||
TARGET_SYSTBL=syscall.tbl
|
||||
TARGET_SYSTBL_ABI=common,32,hexagon,time32,stat64,rlimit,renameat
|
||||
|
@ -2,3 +2,5 @@
|
||||
TARGET_ARCH=loongarch64
|
||||
TARGET_BASE_ARCH=loongarch
|
||||
TARGET_XML_FILES=gdb-xml/loongarch-base64.xml gdb-xml/loongarch-fpu.xml gdb-xml/loongarch-lsx.xml gdb-xml/loongarch-lasx.xml
|
||||
TARGET_SYSTBL=syscall.tbl
|
||||
TARGET_SYSTBL_ABI=common,64
|
||||
|
@ -1,2 +1,4 @@
|
||||
TARGET_ARCH=openrisc
|
||||
TARGET_BIG_ENDIAN=y
|
||||
TARGET_SYSTBL_ABI=common,32,or1k,time32,stat64,rlimit,renameat
|
||||
TARGET_SYSTBL=syscall.tbl
|
||||
|
@ -4,3 +4,6 @@ TARGET_ABI_DIR=riscv
|
||||
TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-virtual.xml
|
||||
CONFIG_SEMIHOSTING=y
|
||||
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
|
||||
TARGET_SYSTBL_ABI=32
|
||||
TARGET_SYSTBL_ABI=common,32,riscv,memfd_secret
|
||||
TARGET_SYSTBL=syscall.tbl
|
||||
|
@ -4,3 +4,6 @@ TARGET_ABI_DIR=riscv
|
||||
TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-virtual.xml
|
||||
CONFIG_SEMIHOSTING=y
|
||||
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
|
||||
TARGET_SYSTBL_ABI=64
|
||||
TARGET_SYSTBL_ABI=common,64,riscv,rlimit,memfd_secret
|
||||
TARGET_SYSTBL=syscall.tbl
|
||||
|
@ -11,3 +11,9 @@ vdso_le_inc = gen_vdso.process('vdso-le.so',
|
||||
linux_user_ss.add(when: 'TARGET_AARCH64', if_true: [vdso_be_inc, vdso_le_inc])
|
||||
|
||||
linux_user_ss.add(when: 'TARGET_AARCH64', if_true: [files('mte_user_helper.c')])
|
||||
|
||||
syscall_nr_generators += {
|
||||
'aarch64': generator(sh,
|
||||
arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
|
||||
output: '@BASENAME@_nr.h')
|
||||
}
|
||||
|
405
linux-user/aarch64/syscall_64.tbl
Normal file
405
linux-user/aarch64/syscall_64.tbl
Normal file
@ -0,0 +1,405 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# This file contains the system call numbers for all of the
|
||||
# more recently added architectures.
|
||||
#
|
||||
# As a basic principle, no duplication of functionality
|
||||
# should be added, e.g. we don't use lseek when llseek
|
||||
# is present. New architectures should use this file
|
||||
# and implement the less feature-full calls in user space.
|
||||
#
|
||||
0 common io_setup sys_io_setup compat_sys_io_setup
|
||||
1 common io_destroy sys_io_destroy
|
||||
2 common io_submit sys_io_submit compat_sys_io_submit
|
||||
3 common io_cancel sys_io_cancel
|
||||
4 time32 io_getevents sys_io_getevents_time32
|
||||
4 64 io_getevents sys_io_getevents
|
||||
5 common setxattr sys_setxattr
|
||||
6 common lsetxattr sys_lsetxattr
|
||||
7 common fsetxattr sys_fsetxattr
|
||||
8 common getxattr sys_getxattr
|
||||
9 common lgetxattr sys_lgetxattr
|
||||
10 common fgetxattr sys_fgetxattr
|
||||
11 common listxattr sys_listxattr
|
||||
12 common llistxattr sys_llistxattr
|
||||
13 common flistxattr sys_flistxattr
|
||||
14 common removexattr sys_removexattr
|
||||
15 common lremovexattr sys_lremovexattr
|
||||
16 common fremovexattr sys_fremovexattr
|
||||
17 common getcwd sys_getcwd
|
||||
18 common lookup_dcookie sys_ni_syscall
|
||||
19 common eventfd2 sys_eventfd2
|
||||
20 common epoll_create1 sys_epoll_create1
|
||||
21 common epoll_ctl sys_epoll_ctl
|
||||
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
23 common dup sys_dup
|
||||
24 common dup3 sys_dup3
|
||||
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
|
||||
25 64 fcntl sys_fcntl
|
||||
26 common inotify_init1 sys_inotify_init1
|
||||
27 common inotify_add_watch sys_inotify_add_watch
|
||||
28 common inotify_rm_watch sys_inotify_rm_watch
|
||||
29 common ioctl sys_ioctl compat_sys_ioctl
|
||||
30 common ioprio_set sys_ioprio_set
|
||||
31 common ioprio_get sys_ioprio_get
|
||||
32 common flock sys_flock
|
||||
33 common mknodat sys_mknodat
|
||||
34 common mkdirat sys_mkdirat
|
||||
35 common unlinkat sys_unlinkat
|
||||
36 common symlinkat sys_symlinkat
|
||||
37 common linkat sys_linkat
|
||||
# renameat is superseded with flags by renameat2
|
||||
38 renameat renameat sys_renameat
|
||||
39 common umount2 sys_umount
|
||||
40 common mount sys_mount
|
||||
41 common pivot_root sys_pivot_root
|
||||
42 common nfsservctl sys_ni_syscall
|
||||
43 32 statfs64 sys_statfs64 compat_sys_statfs64
|
||||
43 64 statfs sys_statfs
|
||||
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
44 64 fstatfs sys_fstatfs
|
||||
45 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
45 64 truncate sys_truncate
|
||||
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
46 64 ftruncate sys_ftruncate
|
||||
47 common fallocate sys_fallocate compat_sys_fallocate
|
||||
48 common faccessat sys_faccessat
|
||||
49 common chdir sys_chdir
|
||||
50 common fchdir sys_fchdir
|
||||
51 common chroot sys_chroot
|
||||
52 common fchmod sys_fchmod
|
||||
53 common fchmodat sys_fchmodat
|
||||
54 common fchownat sys_fchownat
|
||||
55 common fchown sys_fchown
|
||||
56 common openat sys_openat
|
||||
57 common close sys_close
|
||||
58 common vhangup sys_vhangup
|
||||
59 common pipe2 sys_pipe2
|
||||
60 common quotactl sys_quotactl
|
||||
61 common getdents64 sys_getdents64
|
||||
62 32 llseek sys_llseek
|
||||
62 64 lseek sys_lseek
|
||||
63 common read sys_read
|
||||
64 common write sys_write
|
||||
65 common readv sys_readv sys_readv
|
||||
66 common writev sys_writev sys_writev
|
||||
67 common pread64 sys_pread64 compat_sys_pread64
|
||||
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
69 common preadv sys_preadv compat_sys_preadv
|
||||
70 common pwritev sys_pwritev compat_sys_pwritev
|
||||
71 32 sendfile64 sys_sendfile64
|
||||
71 64 sendfile sys_sendfile64
|
||||
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
|
||||
72 64 pselect6 sys_pselect6
|
||||
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
|
||||
73 64 ppoll sys_ppoll
|
||||
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
|
||||
75 common vmsplice sys_vmsplice
|
||||
76 common splice sys_splice
|
||||
77 common tee sys_tee
|
||||
78 common readlinkat sys_readlinkat
|
||||
79 stat64 fstatat64 sys_fstatat64
|
||||
79 64 newfstatat sys_newfstatat
|
||||
80 stat64 fstat64 sys_fstat64
|
||||
80 64 fstat sys_newfstat
|
||||
81 common sync sys_sync
|
||||
82 common fsync sys_fsync
|
||||
83 common fdatasync sys_fdatasync
|
||||
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
|
||||
85 common timerfd_create sys_timerfd_create
|
||||
86 time32 timerfd_settime sys_timerfd_settime32
|
||||
86 64 timerfd_settime sys_timerfd_settime
|
||||
87 time32 timerfd_gettime sys_timerfd_gettime32
|
||||
87 64 timerfd_gettime sys_timerfd_gettime
|
||||
88 time32 utimensat sys_utimensat_time32
|
||||
88 64 utimensat sys_utimensat
|
||||
89 common acct sys_acct
|
||||
90 common capget sys_capget
|
||||
91 common capset sys_capset
|
||||
92 common personality sys_personality
|
||||
93 common exit sys_exit
|
||||
94 common exit_group sys_exit_group
|
||||
95 common waitid sys_waitid compat_sys_waitid
|
||||
96 common set_tid_address sys_set_tid_address
|
||||
97 common unshare sys_unshare
|
||||
98 time32 futex sys_futex_time32
|
||||
98 64 futex sys_futex
|
||||
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
101 time32 nanosleep sys_nanosleep_time32
|
||||
101 64 nanosleep sys_nanosleep
|
||||
102 common getitimer sys_getitimer compat_sys_getitimer
|
||||
103 common setitimer sys_setitimer compat_sys_setitimer
|
||||
104 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
105 common init_module sys_init_module
|
||||
106 common delete_module sys_delete_module
|
||||
107 common timer_create sys_timer_create compat_sys_timer_create
|
||||
108 time32 timer_gettime sys_timer_gettime32
|
||||
108 64 timer_gettime sys_timer_gettime
|
||||
109 common timer_getoverrun sys_timer_getoverrun
|
||||
110 time32 timer_settime sys_timer_settime32
|
||||
110 64 timer_settime sys_timer_settime
|
||||
111 common timer_delete sys_timer_delete
|
||||
112 time32 clock_settime sys_clock_settime32
|
||||
112 64 clock_settime sys_clock_settime
|
||||
113 time32 clock_gettime sys_clock_gettime32
|
||||
113 64 clock_gettime sys_clock_gettime
|
||||
114 time32 clock_getres sys_clock_getres_time32
|
||||
114 64 clock_getres sys_clock_getres
|
||||
115 time32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
115 64 clock_nanosleep sys_clock_nanosleep
|
||||
116 common syslog sys_syslog
|
||||
117 common ptrace sys_ptrace compat_sys_ptrace
|
||||
118 common sched_setparam sys_sched_setparam
|
||||
119 common sched_setscheduler sys_sched_setscheduler
|
||||
120 common sched_getscheduler sys_sched_getscheduler
|
||||
121 common sched_getparam sys_sched_getparam
|
||||
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
|
||||
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
|
||||
124 common sched_yield sys_sched_yield
|
||||
125 common sched_get_priority_max sys_sched_get_priority_max
|
||||
126 common sched_get_priority_min sys_sched_get_priority_min
|
||||
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
|
||||
127 64 sched_rr_get_interval sys_sched_rr_get_interval
|
||||
128 common restart_syscall sys_restart_syscall
|
||||
129 common kill sys_kill
|
||||
130 common tkill sys_tkill
|
||||
131 common tgkill sys_tgkill
|
||||
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
|
||||
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
|
||||
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
|
||||
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
|
||||
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
|
||||
137 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
|
||||
140 common setpriority sys_setpriority
|
||||
141 common getpriority sys_getpriority
|
||||
142 common reboot sys_reboot
|
||||
143 common setregid sys_setregid
|
||||
144 common setgid sys_setgid
|
||||
145 common setreuid sys_setreuid
|
||||
146 common setuid sys_setuid
|
||||
147 common setresuid sys_setresuid
|
||||
148 common getresuid sys_getresuid
|
||||
149 common setresgid sys_setresgid
|
||||
150 common getresgid sys_getresgid
|
||||
151 common setfsuid sys_setfsuid
|
||||
152 common setfsgid sys_setfsgid
|
||||
153 common times sys_times compat_sys_times
|
||||
154 common setpgid sys_setpgid
|
||||
155 common getpgid sys_getpgid
|
||||
156 common getsid sys_getsid
|
||||
157 common setsid sys_setsid
|
||||
158 common getgroups sys_getgroups
|
||||
159 common setgroups sys_setgroups
|
||||
160 common uname sys_newuname
|
||||
161 common sethostname sys_sethostname
|
||||
162 common setdomainname sys_setdomainname
|
||||
# getrlimit and setrlimit are superseded with prlimit64
|
||||
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
|
||||
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
|
||||
165 common getrusage sys_getrusage compat_sys_getrusage
|
||||
166 common umask sys_umask
|
||||
167 common prctl sys_prctl
|
||||
168 common getcpu sys_getcpu
|
||||
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
|
||||
169 64 gettimeofday sys_gettimeofday
|
||||
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
170 64 settimeofday sys_settimeofday
|
||||
171 time32 adjtimex sys_adjtimex_time32
|
||||
171 64 adjtimex sys_adjtimex
|
||||
172 common getpid sys_getpid
|
||||
173 common getppid sys_getppid
|
||||
174 common getuid sys_getuid
|
||||
175 common geteuid sys_geteuid
|
||||
176 common getgid sys_getgid
|
||||
177 common getegid sys_getegid
|
||||
178 common gettid sys_gettid
|
||||
179 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
180 common mq_open sys_mq_open compat_sys_mq_open
|
||||
181 common mq_unlink sys_mq_unlink
|
||||
182 time32 mq_timedsend sys_mq_timedsend_time32
|
||||
182 64 mq_timedsend sys_mq_timedsend
|
||||
183 time32 mq_timedreceive sys_mq_timedreceive_time32
|
||||
183 64 mq_timedreceive sys_mq_timedreceive
|
||||
184 common mq_notify sys_mq_notify compat_sys_mq_notify
|
||||
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
|
||||
186 common msgget sys_msgget
|
||||
187 common msgctl sys_msgctl compat_sys_msgctl
|
||||
188 common msgrcv sys_msgrcv compat_sys_msgrcv
|
||||
189 common msgsnd sys_msgsnd compat_sys_msgsnd
|
||||
190 common semget sys_semget
|
||||
191 common semctl sys_semctl compat_sys_semctl
|
||||
192 time32 semtimedop sys_semtimedop_time32
|
||||
192 64 semtimedop sys_semtimedop
|
||||
193 common semop sys_semop
|
||||
194 common shmget sys_shmget
|
||||
195 common shmctl sys_shmctl compat_sys_shmctl
|
||||
196 common shmat sys_shmat compat_sys_shmat
|
||||
197 common shmdt sys_shmdt
|
||||
198 common socket sys_socket
|
||||
199 common socketpair sys_socketpair
|
||||
200 common bind sys_bind
|
||||
201 common listen sys_listen
|
||||
202 common accept sys_accept
|
||||
203 common connect sys_connect
|
||||
204 common getsockname sys_getsockname
|
||||
205 common getpeername sys_getpeername
|
||||
206 common sendto sys_sendto
|
||||
207 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
208 common setsockopt sys_setsockopt sys_setsockopt
|
||||
209 common getsockopt sys_getsockopt sys_getsockopt
|
||||
210 common shutdown sys_shutdown
|
||||
211 common sendmsg sys_sendmsg compat_sys_sendmsg
|
||||
212 common recvmsg sys_recvmsg compat_sys_recvmsg
|
||||
213 common readahead sys_readahead compat_sys_readahead
|
||||
214 common brk sys_brk
|
||||
215 common munmap sys_munmap
|
||||
216 common mremap sys_mremap
|
||||
217 common add_key sys_add_key
|
||||
218 common request_key sys_request_key
|
||||
219 common keyctl sys_keyctl compat_sys_keyctl
|
||||
220 common clone sys_clone
|
||||
221 common execve sys_execve compat_sys_execve
|
||||
222 32 mmap2 sys_mmap2
|
||||
222 64 mmap sys_mmap
|
||||
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
223 64 fadvise64 sys_fadvise64_64
|
||||
224 common swapon sys_swapon
|
||||
225 common swapoff sys_swapoff
|
||||
226 common mprotect sys_mprotect
|
||||
227 common msync sys_msync
|
||||
228 common mlock sys_mlock
|
||||
229 common munlock sys_munlock
|
||||
230 common mlockall sys_mlockall
|
||||
231 common munlockall sys_munlockall
|
||||
232 common mincore sys_mincore
|
||||
233 common madvise sys_madvise
|
||||
234 common remap_file_pages sys_remap_file_pages
|
||||
235 common mbind sys_mbind
|
||||
236 common get_mempolicy sys_get_mempolicy
|
||||
237 common set_mempolicy sys_set_mempolicy
|
||||
238 common migrate_pages sys_migrate_pages
|
||||
239 common move_pages sys_move_pages
|
||||
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
241 common perf_event_open sys_perf_event_open
|
||||
242 common accept4 sys_accept4
|
||||
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
|
||||
243 64 recvmmsg sys_recvmmsg
|
||||
# Architectures may provide up to 16 syscalls of their own between 244 and 259
|
||||
244 arc cacheflush sys_cacheflush
|
||||
245 arc arc_settls sys_arc_settls
|
||||
246 arc arc_gettls sys_arc_gettls
|
||||
247 arc sysfs sys_sysfs
|
||||
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
|
||||
|
||||
244 csky set_thread_area sys_set_thread_area
|
||||
245 csky cacheflush sys_cacheflush
|
||||
|
||||
244 nios2 cacheflush sys_cacheflush
|
||||
|
||||
244 or1k or1k_atomic sys_or1k_atomic
|
||||
|
||||
258 riscv riscv_hwprobe sys_riscv_hwprobe
|
||||
259 riscv riscv_flush_icache sys_riscv_flush_icache
|
||||
|
||||
260 time32 wait4 sys_wait4 compat_sys_wait4
|
||||
260 64 wait4 sys_wait4
|
||||
261 common prlimit64 sys_prlimit64
|
||||
262 common fanotify_init sys_fanotify_init
|
||||
263 common fanotify_mark sys_fanotify_mark
|
||||
264 common name_to_handle_at sys_name_to_handle_at
|
||||
265 common open_by_handle_at sys_open_by_handle_at
|
||||
266 time32 clock_adjtime sys_clock_adjtime32
|
||||
266 64 clock_adjtime sys_clock_adjtime
|
||||
267 common syncfs sys_syncfs
|
||||
268 common setns sys_setns
|
||||
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
|
||||
270 common process_vm_readv sys_process_vm_readv
|
||||
271 common process_vm_writev sys_process_vm_writev
|
||||
272 common kcmp sys_kcmp
|
||||
273 common finit_module sys_finit_module
|
||||
274 common sched_setattr sys_sched_setattr
|
||||
275 common sched_getattr sys_sched_getattr
|
||||
276 common renameat2 sys_renameat2
|
||||
277 common seccomp sys_seccomp
|
||||
278 common getrandom sys_getrandom
|
||||
279 common memfd_create sys_memfd_create
|
||||
280 common bpf sys_bpf
|
||||
281 common execveat sys_execveat compat_sys_execveat
|
||||
282 common userfaultfd sys_userfaultfd
|
||||
283 common membarrier sys_membarrier
|
||||
284 common mlock2 sys_mlock2
|
||||
285 common copy_file_range sys_copy_file_range
|
||||
286 common preadv2 sys_preadv2 compat_sys_preadv2
|
||||
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
|
||||
288 common pkey_mprotect sys_pkey_mprotect
|
||||
289 common pkey_alloc sys_pkey_alloc
|
||||
290 common pkey_free sys_pkey_free
|
||||
291 common statx sys_statx
|
||||
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
|
||||
292 64 io_pgetevents sys_io_pgetevents
|
||||
293 common rseq sys_rseq
|
||||
294 common kexec_file_load sys_kexec_file_load
|
||||
# 295 through 402 are unassigned to sync up with generic numbers don't use
|
||||
403 32 clock_gettime64 sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime
|
||||
405 32 clock_adjtime64 sys_clock_adjtime
|
||||
406 32 clock_getres_time64 sys_clock_getres
|
||||
407 32 clock_nanosleep_time64 sys_clock_nanosleep
|
||||
408 32 timer_gettime64 sys_timer_gettime
|
||||
409 32 timer_settime64 sys_timer_settime
|
||||
410 32 timerfd_gettime64 sys_timerfd_gettime
|
||||
411 32 timerfd_settime64 sys_timerfd_settime
|
||||
412 32 utimensat_time64 sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
420 32 semtimedop_time64 sys_semtimedop
|
||||
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
|
||||
422 32 futex_time64 sys_futex
|
||||
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
425 common io_uring_setup sys_io_uring_setup
|
||||
426 common io_uring_enter sys_io_uring_enter
|
||||
427 common io_uring_register sys_io_uring_register
|
||||
428 common open_tree sys_open_tree
|
||||
429 common move_mount sys_move_mount
|
||||
430 common fsopen sys_fsopen
|
||||
431 common fsconfig sys_fsconfig
|
||||
432 common fsmount sys_fsmount
|
||||
433 common fspick sys_fspick
|
||||
434 common pidfd_open sys_pidfd_open
|
||||
435 common clone3 sys_clone3
|
||||
436 common close_range sys_close_range
|
||||
437 common openat2 sys_openat2
|
||||
438 common pidfd_getfd sys_pidfd_getfd
|
||||
439 common faccessat2 sys_faccessat2
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 memfd_secret memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
@ -1,313 +1 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_AARCH64_SYSCALL_NR_H
|
||||
#define LINUX_USER_AARCH64_SYSCALL_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_io_getevents 4
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_renameat 38
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs 43
|
||||
#define TARGET_NR_fstatfs 44
|
||||
#define TARGET_NR_truncate 45
|
||||
#define TARGET_NR_ftruncate 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_lseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile 71
|
||||
#define TARGET_NR_pselect6 72
|
||||
#define TARGET_NR_ppoll 73
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_newfstatat 79
|
||||
#define TARGET_NR_fstat 80
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_timerfd_settime 86
|
||||
#define TARGET_NR_timerfd_gettime 87
|
||||
#define TARGET_NR_utimensat 88
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_futex 98
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_nanosleep 101
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_gettime 108
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_settime 110
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_clock_settime 112
|
||||
#define TARGET_NR_clock_gettime 113
|
||||
#define TARGET_NR_clock_getres 114
|
||||
#define TARGET_NR_clock_nanosleep 115
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_sched_rr_get_interval 127
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigtimedwait 137
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrlimit 163
|
||||
#define TARGET_NR_setrlimit 164
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_gettimeofday 169
|
||||
#define TARGET_NR_settimeofday 170
|
||||
#define TARGET_NR_adjtimex 171
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_timedsend 182
|
||||
#define TARGET_NR_mq_timedreceive 183
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semtimedop 192
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap 222
|
||||
#define TARGET_NR_fadvise64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_recvmmsg 243
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_wait4 260
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_clock_adjtime 266
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_io_pgetevents 292
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_clone3 435
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_syscalls 447
|
||||
|
||||
#endif /* LINUX_USER_AARCH64_SYSCALL_NR_H */
|
||||
#include "syscall_64_nr.h"
|
||||
|
28
linux-user/aarch64/syscallhdr.sh
Normal file
28
linux-user/aarch64/syscallhdr.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=LINUX_USER_AARCH64_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry compat; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define TARGET_NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
@ -125,8 +125,8 @@
|
||||
116 common osf_gettimeofday sys_osf_gettimeofday
|
||||
117 common osf_getrusage sys_osf_getrusage
|
||||
118 common getsockopt sys_getsockopt
|
||||
120 common readv sys_osf_readv
|
||||
121 common writev sys_osf_writev
|
||||
120 common readv sys_readv
|
||||
121 common writev sys_writev
|
||||
122 common osf_settimeofday sys_osf_settimeofday
|
||||
123 common fchown sys_fchown
|
||||
124 common fchmod sys_fchmod
|
||||
@ -230,7 +230,7 @@
|
||||
259 common osf_swapctl sys_ni_syscall
|
||||
260 common osf_memcntl sys_ni_syscall
|
||||
261 common osf_fdatasync sys_ni_syscall
|
||||
300 common bdflush sys_bdflush
|
||||
300 common bdflush sys_ni_syscall
|
||||
301 common sethae sys_sethae
|
||||
302 common mount sys_mount
|
||||
303 common old_adjtimex sys_old_adjtimex
|
||||
@ -334,7 +334,7 @@
|
||||
401 common io_submit sys_io_submit
|
||||
402 common io_cancel sys_io_cancel
|
||||
405 common exit_group sys_exit_group
|
||||
406 common lookup_dcookie sys_lookup_dcookie
|
||||
406 common lookup_dcookie sys_ni_syscall
|
||||
407 common epoll_create sys_epoll_create
|
||||
408 common epoll_ctl sys_epoll_ctl
|
||||
409 common epoll_wait sys_epoll_wait
|
||||
@ -474,7 +474,7 @@
|
||||
542 common fsmount sys_fsmount
|
||||
543 common fspick sys_fspick
|
||||
544 common pidfd_open sys_pidfd_open
|
||||
# 545 reserved for clone3
|
||||
545 common clone3 alpha_clone3
|
||||
546 common close_range sys_close_range
|
||||
547 common openat2 sys_openat2
|
||||
548 common pidfd_getfd sys_pidfd_getfd
|
||||
@ -482,7 +482,23 @@
|
||||
550 common process_madvise sys_process_madvise
|
||||
551 common epoll_pwait2 sys_epoll_pwait2
|
||||
552 common mount_setattr sys_mount_setattr
|
||||
# 553 reserved for quotactl_path
|
||||
553 common quotactl_fd sys_quotactl_fd
|
||||
554 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
555 common landlock_add_rule sys_landlock_add_rule
|
||||
556 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 557 reserved for memfd_secret
|
||||
558 common process_mrelease sys_process_mrelease
|
||||
559 common futex_waitv sys_futex_waitv
|
||||
560 common set_mempolicy_home_node sys_ni_syscall
|
||||
561 common cachestat sys_cachestat
|
||||
562 common fchmodat2 sys_fchmodat2
|
||||
563 common map_shadow_stack sys_map_shadow_stack
|
||||
564 common futex_wake sys_futex_wake
|
||||
565 common futex_wait sys_futex_wait
|
||||
566 common futex_requeue sys_futex_requeue
|
||||
567 common statmount sys_statmount
|
||||
568 common listmount sys_listmount
|
||||
569 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
570 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
571 common lsm_list_modules sys_lsm_list_modules
|
||||
572 common mseal sys_mseal
|
||||
|
@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# Linux system call numbers and entry vectors
|
||||
#
|
||||
@ -147,7 +148,7 @@
|
||||
131 common quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 common personality sys_personality
|
||||
# 137 was sys_afs_syscall
|
||||
@ -263,10 +264,10 @@
|
||||
246 common io_submit sys_io_submit
|
||||
247 common io_cancel sys_io_cancel
|
||||
248 common exit_group sys_exit_group
|
||||
249 common lookup_dcookie sys_lookup_dcookie
|
||||
249 common lookup_dcookie sys_ni_syscall
|
||||
250 common epoll_create sys_epoll_create
|
||||
251 common epoll_ctl sys_epoll_ctl sys_oabi_epoll_ctl
|
||||
252 common epoll_wait sys_epoll_wait sys_oabi_epoll_wait
|
||||
252 common epoll_wait sys_epoll_wait
|
||||
253 common remap_file_pages sys_remap_file_pages
|
||||
# 254 for set_thread_area
|
||||
# 255 for get_thread_area
|
||||
@ -456,7 +457,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
6
linux-user/hexagon/meson.build
Normal file
6
linux-user/hexagon/meson.build
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
syscall_nr_generators += {
|
||||
'hexagon': generator(sh,
|
||||
arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
|
||||
output: '@BASENAME@_nr.h')
|
||||
}
|
405
linux-user/hexagon/syscall.tbl
Normal file
405
linux-user/hexagon/syscall.tbl
Normal file
@ -0,0 +1,405 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# This file contains the system call numbers for all of the
|
||||
# more recently added architectures.
|
||||
#
|
||||
# As a basic principle, no duplication of functionality
|
||||
# should be added, e.g. we don't use lseek when llseek
|
||||
# is present. New architectures should use this file
|
||||
# and implement the less feature-full calls in user space.
|
||||
#
|
||||
0 common io_setup sys_io_setup compat_sys_io_setup
|
||||
1 common io_destroy sys_io_destroy
|
||||
2 common io_submit sys_io_submit compat_sys_io_submit
|
||||
3 common io_cancel sys_io_cancel
|
||||
4 time32 io_getevents sys_io_getevents_time32
|
||||
4 64 io_getevents sys_io_getevents
|
||||
5 common setxattr sys_setxattr
|
||||
6 common lsetxattr sys_lsetxattr
|
||||
7 common fsetxattr sys_fsetxattr
|
||||
8 common getxattr sys_getxattr
|
||||
9 common lgetxattr sys_lgetxattr
|
||||
10 common fgetxattr sys_fgetxattr
|
||||
11 common listxattr sys_listxattr
|
||||
12 common llistxattr sys_llistxattr
|
||||
13 common flistxattr sys_flistxattr
|
||||
14 common removexattr sys_removexattr
|
||||
15 common lremovexattr sys_lremovexattr
|
||||
16 common fremovexattr sys_fremovexattr
|
||||
17 common getcwd sys_getcwd
|
||||
18 common lookup_dcookie sys_ni_syscall
|
||||
19 common eventfd2 sys_eventfd2
|
||||
20 common epoll_create1 sys_epoll_create1
|
||||
21 common epoll_ctl sys_epoll_ctl
|
||||
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
23 common dup sys_dup
|
||||
24 common dup3 sys_dup3
|
||||
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
|
||||
25 64 fcntl sys_fcntl
|
||||
26 common inotify_init1 sys_inotify_init1
|
||||
27 common inotify_add_watch sys_inotify_add_watch
|
||||
28 common inotify_rm_watch sys_inotify_rm_watch
|
||||
29 common ioctl sys_ioctl compat_sys_ioctl
|
||||
30 common ioprio_set sys_ioprio_set
|
||||
31 common ioprio_get sys_ioprio_get
|
||||
32 common flock sys_flock
|
||||
33 common mknodat sys_mknodat
|
||||
34 common mkdirat sys_mkdirat
|
||||
35 common unlinkat sys_unlinkat
|
||||
36 common symlinkat sys_symlinkat
|
||||
37 common linkat sys_linkat
|
||||
# renameat is superseded with flags by renameat2
|
||||
38 renameat renameat sys_renameat
|
||||
39 common umount2 sys_umount
|
||||
40 common mount sys_mount
|
||||
41 common pivot_root sys_pivot_root
|
||||
42 common nfsservctl sys_ni_syscall
|
||||
43 32 statfs64 sys_statfs64 compat_sys_statfs64
|
||||
43 64 statfs sys_statfs
|
||||
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
44 64 fstatfs sys_fstatfs
|
||||
45 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
45 64 truncate sys_truncate
|
||||
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
46 64 ftruncate sys_ftruncate
|
||||
47 common fallocate sys_fallocate compat_sys_fallocate
|
||||
48 common faccessat sys_faccessat
|
||||
49 common chdir sys_chdir
|
||||
50 common fchdir sys_fchdir
|
||||
51 common chroot sys_chroot
|
||||
52 common fchmod sys_fchmod
|
||||
53 common fchmodat sys_fchmodat
|
||||
54 common fchownat sys_fchownat
|
||||
55 common fchown sys_fchown
|
||||
56 common openat sys_openat
|
||||
57 common close sys_close
|
||||
58 common vhangup sys_vhangup
|
||||
59 common pipe2 sys_pipe2
|
||||
60 common quotactl sys_quotactl
|
||||
61 common getdents64 sys_getdents64
|
||||
62 32 llseek sys_llseek
|
||||
62 64 lseek sys_lseek
|
||||
63 common read sys_read
|
||||
64 common write sys_write
|
||||
65 common readv sys_readv sys_readv
|
||||
66 common writev sys_writev sys_writev
|
||||
67 common pread64 sys_pread64 compat_sys_pread64
|
||||
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
69 common preadv sys_preadv compat_sys_preadv
|
||||
70 common pwritev sys_pwritev compat_sys_pwritev
|
||||
71 32 sendfile64 sys_sendfile64
|
||||
71 64 sendfile sys_sendfile64
|
||||
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
|
||||
72 64 pselect6 sys_pselect6
|
||||
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
|
||||
73 64 ppoll sys_ppoll
|
||||
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
|
||||
75 common vmsplice sys_vmsplice
|
||||
76 common splice sys_splice
|
||||
77 common tee sys_tee
|
||||
78 common readlinkat sys_readlinkat
|
||||
79 stat64 fstatat64 sys_fstatat64
|
||||
79 64 newfstatat sys_newfstatat
|
||||
80 stat64 fstat64 sys_fstat64
|
||||
80 64 fstat sys_newfstat
|
||||
81 common sync sys_sync
|
||||
82 common fsync sys_fsync
|
||||
83 common fdatasync sys_fdatasync
|
||||
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
|
||||
85 common timerfd_create sys_timerfd_create
|
||||
86 time32 timerfd_settime sys_timerfd_settime32
|
||||
86 64 timerfd_settime sys_timerfd_settime
|
||||
87 time32 timerfd_gettime sys_timerfd_gettime32
|
||||
87 64 timerfd_gettime sys_timerfd_gettime
|
||||
88 time32 utimensat sys_utimensat_time32
|
||||
88 64 utimensat sys_utimensat
|
||||
89 common acct sys_acct
|
||||
90 common capget sys_capget
|
||||
91 common capset sys_capset
|
||||
92 common personality sys_personality
|
||||
93 common exit sys_exit
|
||||
94 common exit_group sys_exit_group
|
||||
95 common waitid sys_waitid compat_sys_waitid
|
||||
96 common set_tid_address sys_set_tid_address
|
||||
97 common unshare sys_unshare
|
||||
98 time32 futex sys_futex_time32
|
||||
98 64 futex sys_futex
|
||||
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
101 time32 nanosleep sys_nanosleep_time32
|
||||
101 64 nanosleep sys_nanosleep
|
||||
102 common getitimer sys_getitimer compat_sys_getitimer
|
||||
103 common setitimer sys_setitimer compat_sys_setitimer
|
||||
104 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
105 common init_module sys_init_module
|
||||
106 common delete_module sys_delete_module
|
||||
107 common timer_create sys_timer_create compat_sys_timer_create
|
||||
108 time32 timer_gettime sys_timer_gettime32
|
||||
108 64 timer_gettime sys_timer_gettime
|
||||
109 common timer_getoverrun sys_timer_getoverrun
|
||||
110 time32 timer_settime sys_timer_settime32
|
||||
110 64 timer_settime sys_timer_settime
|
||||
111 common timer_delete sys_timer_delete
|
||||
112 time32 clock_settime sys_clock_settime32
|
||||
112 64 clock_settime sys_clock_settime
|
||||
113 time32 clock_gettime sys_clock_gettime32
|
||||
113 64 clock_gettime sys_clock_gettime
|
||||
114 time32 clock_getres sys_clock_getres_time32
|
||||
114 64 clock_getres sys_clock_getres
|
||||
115 time32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
115 64 clock_nanosleep sys_clock_nanosleep
|
||||
116 common syslog sys_syslog
|
||||
117 common ptrace sys_ptrace compat_sys_ptrace
|
||||
118 common sched_setparam sys_sched_setparam
|
||||
119 common sched_setscheduler sys_sched_setscheduler
|
||||
120 common sched_getscheduler sys_sched_getscheduler
|
||||
121 common sched_getparam sys_sched_getparam
|
||||
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
|
||||
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
|
||||
124 common sched_yield sys_sched_yield
|
||||
125 common sched_get_priority_max sys_sched_get_priority_max
|
||||
126 common sched_get_priority_min sys_sched_get_priority_min
|
||||
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
|
||||
127 64 sched_rr_get_interval sys_sched_rr_get_interval
|
||||
128 common restart_syscall sys_restart_syscall
|
||||
129 common kill sys_kill
|
||||
130 common tkill sys_tkill
|
||||
131 common tgkill sys_tgkill
|
||||
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
|
||||
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
|
||||
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
|
||||
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
|
||||
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
|
||||
137 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
|
||||
140 common setpriority sys_setpriority
|
||||
141 common getpriority sys_getpriority
|
||||
142 common reboot sys_reboot
|
||||
143 common setregid sys_setregid
|
||||
144 common setgid sys_setgid
|
||||
145 common setreuid sys_setreuid
|
||||
146 common setuid sys_setuid
|
||||
147 common setresuid sys_setresuid
|
||||
148 common getresuid sys_getresuid
|
||||
149 common setresgid sys_setresgid
|
||||
150 common getresgid sys_getresgid
|
||||
151 common setfsuid sys_setfsuid
|
||||
152 common setfsgid sys_setfsgid
|
||||
153 common times sys_times compat_sys_times
|
||||
154 common setpgid sys_setpgid
|
||||
155 common getpgid sys_getpgid
|
||||
156 common getsid sys_getsid
|
||||
157 common setsid sys_setsid
|
||||
158 common getgroups sys_getgroups
|
||||
159 common setgroups sys_setgroups
|
||||
160 common uname sys_newuname
|
||||
161 common sethostname sys_sethostname
|
||||
162 common setdomainname sys_setdomainname
|
||||
# getrlimit and setrlimit are superseded with prlimit64
|
||||
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
|
||||
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
|
||||
165 common getrusage sys_getrusage compat_sys_getrusage
|
||||
166 common umask sys_umask
|
||||
167 common prctl sys_prctl
|
||||
168 common getcpu sys_getcpu
|
||||
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
|
||||
169 64 gettimeofday sys_gettimeofday
|
||||
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
170 64 settimeofday sys_settimeofday
|
||||
171 time32 adjtimex sys_adjtimex_time32
|
||||
171 64 adjtimex sys_adjtimex
|
||||
172 common getpid sys_getpid
|
||||
173 common getppid sys_getppid
|
||||
174 common getuid sys_getuid
|
||||
175 common geteuid sys_geteuid
|
||||
176 common getgid sys_getgid
|
||||
177 common getegid sys_getegid
|
||||
178 common gettid sys_gettid
|
||||
179 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
180 common mq_open sys_mq_open compat_sys_mq_open
|
||||
181 common mq_unlink sys_mq_unlink
|
||||
182 time32 mq_timedsend sys_mq_timedsend_time32
|
||||
182 64 mq_timedsend sys_mq_timedsend
|
||||
183 time32 mq_timedreceive sys_mq_timedreceive_time32
|
||||
183 64 mq_timedreceive sys_mq_timedreceive
|
||||
184 common mq_notify sys_mq_notify compat_sys_mq_notify
|
||||
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
|
||||
186 common msgget sys_msgget
|
||||
187 common msgctl sys_msgctl compat_sys_msgctl
|
||||
188 common msgrcv sys_msgrcv compat_sys_msgrcv
|
||||
189 common msgsnd sys_msgsnd compat_sys_msgsnd
|
||||
190 common semget sys_semget
|
||||
191 common semctl sys_semctl compat_sys_semctl
|
||||
192 time32 semtimedop sys_semtimedop_time32
|
||||
192 64 semtimedop sys_semtimedop
|
||||
193 common semop sys_semop
|
||||
194 common shmget sys_shmget
|
||||
195 common shmctl sys_shmctl compat_sys_shmctl
|
||||
196 common shmat sys_shmat compat_sys_shmat
|
||||
197 common shmdt sys_shmdt
|
||||
198 common socket sys_socket
|
||||
199 common socketpair sys_socketpair
|
||||
200 common bind sys_bind
|
||||
201 common listen sys_listen
|
||||
202 common accept sys_accept
|
||||
203 common connect sys_connect
|
||||
204 common getsockname sys_getsockname
|
||||
205 common getpeername sys_getpeername
|
||||
206 common sendto sys_sendto
|
||||
207 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
208 common setsockopt sys_setsockopt sys_setsockopt
|
||||
209 common getsockopt sys_getsockopt sys_getsockopt
|
||||
210 common shutdown sys_shutdown
|
||||
211 common sendmsg sys_sendmsg compat_sys_sendmsg
|
||||
212 common recvmsg sys_recvmsg compat_sys_recvmsg
|
||||
213 common readahead sys_readahead compat_sys_readahead
|
||||
214 common brk sys_brk
|
||||
215 common munmap sys_munmap
|
||||
216 common mremap sys_mremap
|
||||
217 common add_key sys_add_key
|
||||
218 common request_key sys_request_key
|
||||
219 common keyctl sys_keyctl compat_sys_keyctl
|
||||
220 common clone sys_clone
|
||||
221 common execve sys_execve compat_sys_execve
|
||||
222 32 mmap2 sys_mmap2
|
||||
222 64 mmap sys_mmap
|
||||
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
223 64 fadvise64 sys_fadvise64_64
|
||||
224 common swapon sys_swapon
|
||||
225 common swapoff sys_swapoff
|
||||
226 common mprotect sys_mprotect
|
||||
227 common msync sys_msync
|
||||
228 common mlock sys_mlock
|
||||
229 common munlock sys_munlock
|
||||
230 common mlockall sys_mlockall
|
||||
231 common munlockall sys_munlockall
|
||||
232 common mincore sys_mincore
|
||||
233 common madvise sys_madvise
|
||||
234 common remap_file_pages sys_remap_file_pages
|
||||
235 common mbind sys_mbind
|
||||
236 common get_mempolicy sys_get_mempolicy
|
||||
237 common set_mempolicy sys_set_mempolicy
|
||||
238 common migrate_pages sys_migrate_pages
|
||||
239 common move_pages sys_move_pages
|
||||
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
241 common perf_event_open sys_perf_event_open
|
||||
242 common accept4 sys_accept4
|
||||
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
|
||||
243 64 recvmmsg sys_recvmmsg
|
||||
# Architectures may provide up to 16 syscalls of their own between 244 and 259
|
||||
244 arc cacheflush sys_cacheflush
|
||||
245 arc arc_settls sys_arc_settls
|
||||
246 arc arc_gettls sys_arc_gettls
|
||||
247 arc sysfs sys_sysfs
|
||||
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
|
||||
|
||||
244 csky set_thread_area sys_set_thread_area
|
||||
245 csky cacheflush sys_cacheflush
|
||||
|
||||
244 nios2 cacheflush sys_cacheflush
|
||||
|
||||
244 or1k or1k_atomic sys_or1k_atomic
|
||||
|
||||
258 riscv riscv_hwprobe sys_riscv_hwprobe
|
||||
259 riscv riscv_flush_icache sys_riscv_flush_icache
|
||||
|
||||
260 time32 wait4 sys_wait4 compat_sys_wait4
|
||||
260 64 wait4 sys_wait4
|
||||
261 common prlimit64 sys_prlimit64
|
||||
262 common fanotify_init sys_fanotify_init
|
||||
263 common fanotify_mark sys_fanotify_mark
|
||||
264 common name_to_handle_at sys_name_to_handle_at
|
||||
265 common open_by_handle_at sys_open_by_handle_at
|
||||
266 time32 clock_adjtime sys_clock_adjtime32
|
||||
266 64 clock_adjtime sys_clock_adjtime
|
||||
267 common syncfs sys_syncfs
|
||||
268 common setns sys_setns
|
||||
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
|
||||
270 common process_vm_readv sys_process_vm_readv
|
||||
271 common process_vm_writev sys_process_vm_writev
|
||||
272 common kcmp sys_kcmp
|
||||
273 common finit_module sys_finit_module
|
||||
274 common sched_setattr sys_sched_setattr
|
||||
275 common sched_getattr sys_sched_getattr
|
||||
276 common renameat2 sys_renameat2
|
||||
277 common seccomp sys_seccomp
|
||||
278 common getrandom sys_getrandom
|
||||
279 common memfd_create sys_memfd_create
|
||||
280 common bpf sys_bpf
|
||||
281 common execveat sys_execveat compat_sys_execveat
|
||||
282 common userfaultfd sys_userfaultfd
|
||||
283 common membarrier sys_membarrier
|
||||
284 common mlock2 sys_mlock2
|
||||
285 common copy_file_range sys_copy_file_range
|
||||
286 common preadv2 sys_preadv2 compat_sys_preadv2
|
||||
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
|
||||
288 common pkey_mprotect sys_pkey_mprotect
|
||||
289 common pkey_alloc sys_pkey_alloc
|
||||
290 common pkey_free sys_pkey_free
|
||||
291 common statx sys_statx
|
||||
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
|
||||
292 64 io_pgetevents sys_io_pgetevents
|
||||
293 common rseq sys_rseq
|
||||
294 common kexec_file_load sys_kexec_file_load
|
||||
# 295 through 402 are unassigned to sync up with generic numbers don't use
|
||||
403 32 clock_gettime64 sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime
|
||||
405 32 clock_adjtime64 sys_clock_adjtime
|
||||
406 32 clock_getres_time64 sys_clock_getres
|
||||
407 32 clock_nanosleep_time64 sys_clock_nanosleep
|
||||
408 32 timer_gettime64 sys_timer_gettime
|
||||
409 32 timer_settime64 sys_timer_settime
|
||||
410 32 timerfd_gettime64 sys_timerfd_gettime
|
||||
411 32 timerfd_settime64 sys_timerfd_settime
|
||||
412 32 utimensat_time64 sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
420 32 semtimedop_time64 sys_semtimedop
|
||||
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
|
||||
422 32 futex_time64 sys_futex
|
||||
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
425 common io_uring_setup sys_io_uring_setup
|
||||
426 common io_uring_enter sys_io_uring_enter
|
||||
427 common io_uring_register sys_io_uring_register
|
||||
428 common open_tree sys_open_tree
|
||||
429 common move_mount sys_move_mount
|
||||
430 common fsopen sys_fsopen
|
||||
431 common fsconfig sys_fsconfig
|
||||
432 common fsmount sys_fsmount
|
||||
433 common fspick sys_fspick
|
||||
434 common pidfd_open sys_pidfd_open
|
||||
435 common clone3 sys_clone3
|
||||
436 common close_range sys_close_range
|
||||
437 common openat2 sys_openat2
|
||||
438 common pidfd_getfd sys_pidfd_getfd
|
||||
439 common faccessat2 sys_faccessat2
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 memfd_secret memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
@ -1,332 +0,0 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_HEXAGON_SYSCALL_NR_H
|
||||
#define LINUX_USER_HEXAGON_SYSCALL_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_io_getevents 4
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl64 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_renameat 38
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs64 43
|
||||
#define TARGET_NR_fstatfs64 44
|
||||
#define TARGET_NR_truncate64 45
|
||||
#define TARGET_NR_ftruncate64 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_llseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile64 71
|
||||
#define TARGET_NR_pselect6 72
|
||||
#define TARGET_NR_ppoll 73
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_fstatat64 79
|
||||
#define TARGET_NR_fstat64 80
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_timerfd_settime 86
|
||||
#define TARGET_NR_timerfd_gettime 87
|
||||
#define TARGET_NR_utimensat 88
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_futex 98
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_nanosleep 101
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_gettime 108
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_settime 110
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_clock_settime 112
|
||||
#define TARGET_NR_clock_gettime 113
|
||||
#define TARGET_NR_clock_getres 114
|
||||
#define TARGET_NR_clock_nanosleep 115
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_sched_rr_get_interval 127
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigtimedwait 137
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrlimit 163
|
||||
#define TARGET_NR_setrlimit 164
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_gettimeofday 169
|
||||
#define TARGET_NR_settimeofday 170
|
||||
#define TARGET_NR_adjtimex 171
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_timedsend 182
|
||||
#define TARGET_NR_mq_timedreceive 183
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semtimedop 192
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap2 222
|
||||
#define TARGET_NR_fadvise64_64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_recvmmsg 243
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_wait4 260
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_clock_adjtime 266
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_io_pgetevents 292
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_clock_gettime64 403
|
||||
#define TARGET_NR_clock_settime64 404
|
||||
#define TARGET_NR_clock_adjtime64 405
|
||||
#define TARGET_NR_clock_getres_time64 406
|
||||
#define TARGET_NR_clock_nanosleep_time64 407
|
||||
#define TARGET_NR_timer_gettime64 408
|
||||
#define TARGET_NR_timer_settime64 409
|
||||
#define TARGET_NR_timerfd_gettime64 410
|
||||
#define TARGET_NR_timerfd_settime64 411
|
||||
#define TARGET_NR_utimensat_time64 412
|
||||
#define TARGET_NR_pselect6_time64 413
|
||||
#define TARGET_NR_ppoll_time64 414
|
||||
#define TARGET_NR_io_pgetevents_time64 416
|
||||
#define TARGET_NR_recvmmsg_time64 417
|
||||
#define TARGET_NR_mq_timedsend_time64 418
|
||||
#define TARGET_NR_mq_timedreceive_time64 419
|
||||
#define TARGET_NR_semtimedop_time64 420
|
||||
#define TARGET_NR_rt_sigtimedwait_time64 421
|
||||
#define TARGET_NR_futex_time64 422
|
||||
#define TARGET_NR_sched_rr_get_interval_time64 423
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_syscalls 447
|
||||
|
||||
#endif /* LINUX_USER_HEXAGON_SYSCALL_NR_H */
|
28
linux-user/hexagon/syscallhdr.sh
Normal file
28
linux-user/hexagon/syscallhdr.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=LINUX_USER_HEXAGON_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry compat ; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define TARGET_NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
@ -108,7 +108,7 @@
|
||||
95 common fchown sys_fchown
|
||||
96 common getpriority sys_getpriority
|
||||
97 common setpriority sys_setpriority
|
||||
98 common recv sys_recv
|
||||
98 common recv sys_recv compat_sys_recv
|
||||
99 common statfs sys_statfs compat_sys_statfs
|
||||
100 common fstatfs sys_fstatfs compat_sys_fstatfs
|
||||
101 common stat64 sys_stat64
|
||||
@ -131,11 +131,11 @@
|
||||
116 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
117 common shutdown sys_shutdown
|
||||
118 common fsync sys_fsync
|
||||
119 common madvise sys_madvise
|
||||
119 common madvise parisc_madvise
|
||||
120 common clone sys_clone_wrapper
|
||||
121 common setdomainname sys_setdomainname
|
||||
122 common sendfile sys_sendfile compat_sys_sendfile
|
||||
123 common recvfrom sys_recvfrom
|
||||
123 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
124 32 adjtimex sys_adjtimex_time32
|
||||
124 64 adjtimex sys_adjtimex
|
||||
125 common mprotect sys_mprotect
|
||||
@ -147,7 +147,7 @@
|
||||
131 common quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 32 personality parisc_personality
|
||||
136 64 personality sys_personality
|
||||
@ -245,7 +245,7 @@
|
||||
# 220 was alloc_hugepages
|
||||
# 221 was free_hugepages
|
||||
222 common exit_group sys_exit_group
|
||||
223 common lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
223 common lookup_dcookie sys_ni_syscall
|
||||
224 common epoll_create sys_epoll_create
|
||||
225 common epoll_ctl sys_epoll_ctl
|
||||
226 common epoll_wait sys_epoll_wait
|
||||
@ -292,9 +292,9 @@
|
||||
258 32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
258 64 clock_nanosleep sys_clock_nanosleep
|
||||
259 common tgkill sys_tgkill
|
||||
260 common mbind sys_mbind compat_sys_mbind
|
||||
261 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
262 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy
|
||||
260 common mbind sys_mbind
|
||||
261 common get_mempolicy sys_get_mempolicy
|
||||
262 common set_mempolicy sys_set_mempolicy
|
||||
# 263 was vserver
|
||||
264 common add_key sys_add_key
|
||||
265 common request_key sys_request_key
|
||||
@ -331,7 +331,7 @@
|
||||
292 64 sync_file_range sys_sync_file_range
|
||||
293 common tee sys_tee
|
||||
294 common vmsplice sys_vmsplice
|
||||
295 common move_pages sys_move_pages compat_sys_move_pages
|
||||
295 common move_pages sys_move_pages
|
||||
296 common getcpu sys_getcpu
|
||||
297 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
298 common statfs64 sys_statfs64 compat_sys_statfs64
|
||||
@ -364,7 +364,7 @@
|
||||
320 common accept4 sys_accept4
|
||||
321 common prlimit64 sys_prlimit64
|
||||
322 common fanotify_init sys_fanotify_init
|
||||
323 common fanotify_mark sys_fanotify_mark sys32_fanotify_mark
|
||||
323 common fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark
|
||||
324 32 clock_adjtime sys_clock_adjtime32
|
||||
324 64 clock_adjtime sys_clock_adjtime
|
||||
325 common name_to_handle_at sys_name_to_handle_at
|
||||
@ -400,6 +400,7 @@
|
||||
353 common pkey_free sys_pkey_free
|
||||
354 common rseq sys_rseq
|
||||
355 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
|
||||
356 common cacheflush sys_cacheflush
|
||||
# up to 402 is unassigned and reserved for arch specific syscalls
|
||||
403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime sys_clock_settime
|
||||
@ -413,7 +414,7 @@
|
||||
412 32 utimensat_time64 sys_utimensat sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
|
||||
@ -440,7 +441,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -1,8 +1,9 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# 32-bit system call numbers and entry vectors
|
||||
#
|
||||
# The format is:
|
||||
# <number> <abi> <name> <entry point> <compat entry point>
|
||||
# <number> <abi> <name> <entry point> [<compat entry point> [noreturn]]
|
||||
#
|
||||
# The __ia32_sys and __ia32_compat_sys stubs are created on-the-fly for
|
||||
# sys_*() system calls and compat_sys_*() compat system calls if
|
||||
@ -12,7 +13,7 @@
|
||||
# The abi is always "i386" for this file.
|
||||
#
|
||||
0 i386 restart_syscall sys_restart_syscall
|
||||
1 i386 exit sys_exit
|
||||
1 i386 exit sys_exit - noreturn
|
||||
2 i386 fork sys_fork
|
||||
3 i386 read sys_read
|
||||
4 i386 write sys_write
|
||||
@ -145,7 +146,7 @@
|
||||
131 i386 quotactl sys_quotactl
|
||||
132 i386 getpgid sys_getpgid
|
||||
133 i386 fchdir sys_fchdir
|
||||
134 i386 bdflush sys_bdflush
|
||||
134 i386 bdflush sys_ni_syscall
|
||||
135 i386 sysfs sys_sysfs
|
||||
136 i386 personality sys_personality
|
||||
137 i386 afs_syscall
|
||||
@ -263,8 +264,8 @@
|
||||
249 i386 io_cancel sys_io_cancel
|
||||
250 i386 fadvise64 sys_ia32_fadvise64
|
||||
# 251 is available for reuse (was briefly sys_set_zone_reclaim)
|
||||
252 i386 exit_group sys_exit_group
|
||||
253 i386 lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
252 i386 exit_group sys_exit_group - noreturn
|
||||
253 i386 lookup_dcookie
|
||||
254 i386 epoll_create sys_epoll_create
|
||||
255 i386 epoll_ctl sys_epoll_ctl
|
||||
256 i386 epoll_wait sys_epoll_wait
|
||||
@ -286,7 +287,7 @@
|
||||
272 i386 fadvise64_64 sys_ia32_fadvise64_64
|
||||
273 i386 vserver
|
||||
274 i386 mbind sys_mbind
|
||||
275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
275 i386 get_mempolicy sys_get_mempolicy
|
||||
276 i386 set_mempolicy sys_set_mempolicy
|
||||
277 i386 mq_open sys_mq_open compat_sys_mq_open
|
||||
278 i386 mq_unlink sys_mq_unlink
|
||||
@ -328,7 +329,7 @@
|
||||
314 i386 sync_file_range sys_ia32_sync_file_range
|
||||
315 i386 tee sys_tee
|
||||
316 i386 vmsplice sys_vmsplice
|
||||
317 i386 move_pages sys_move_pages compat_sys_move_pages
|
||||
317 i386 move_pages sys_move_pages
|
||||
318 i386 getcpu sys_getcpu
|
||||
319 i386 epoll_pwait sys_epoll_pwait
|
||||
320 i386 utimensat sys_utimensat_time32
|
||||
@ -420,7 +421,7 @@
|
||||
412 i386 utimensat_time64 sys_utimensat
|
||||
413 i386 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 i386 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 i386 io_pgetevents_time64 sys_io_pgetevents
|
||||
416 i386 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 i386 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 i386 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 i386 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
@ -447,7 +448,23 @@
|
||||
440 i386 process_madvise sys_process_madvise
|
||||
441 i386 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 i386 mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 i386 quotactl_fd sys_quotactl_fd
|
||||
444 i386 landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 i386 landlock_add_rule sys_landlock_add_rule
|
||||
446 i386 landlock_restrict_self sys_landlock_restrict_self
|
||||
447 i386 memfd_secret sys_memfd_secret
|
||||
448 i386 process_mrelease sys_process_mrelease
|
||||
449 i386 futex_waitv sys_futex_waitv
|
||||
450 i386 set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 i386 cachestat sys_cachestat
|
||||
452 i386 fchmodat2 sys_fchmodat2
|
||||
453 i386 map_shadow_stack sys_map_shadow_stack
|
||||
454 i386 futex_wake sys_futex_wake
|
||||
455 i386 futex_wait sys_futex_wait
|
||||
456 i386 futex_requeue sys_futex_requeue
|
||||
457 i386 statmount sys_statmount
|
||||
458 i386 listmount sys_listmount
|
||||
459 i386 lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 i386 lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 i386 lsm_list_modules sys_lsm_list_modules
|
||||
462 i386 mseal sys_mseal
|
||||
|
@ -2,3 +2,10 @@ vdso_inc = gen_vdso.process('vdso.so',
|
||||
extra_args: ['-r', '__vdso_rt_sigreturn'])
|
||||
|
||||
linux_user_ss.add(when: 'TARGET_LOONGARCH64', if_true: vdso_inc)
|
||||
|
||||
|
||||
syscall_nr_generators += {
|
||||
'loongarch64': generator(sh,
|
||||
arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
|
||||
output: '@BASENAME@_nr.h')
|
||||
}
|
||||
|
405
linux-user/loongarch64/syscall.tbl
Normal file
405
linux-user/loongarch64/syscall.tbl
Normal file
@ -0,0 +1,405 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# This file contains the system call numbers for all of the
|
||||
# more recently added architectures.
|
||||
#
|
||||
# As a basic principle, no duplication of functionality
|
||||
# should be added, e.g. we don't use lseek when llseek
|
||||
# is present. New architectures should use this file
|
||||
# and implement the less feature-full calls in user space.
|
||||
#
|
||||
0 common io_setup sys_io_setup compat_sys_io_setup
|
||||
1 common io_destroy sys_io_destroy
|
||||
2 common io_submit sys_io_submit compat_sys_io_submit
|
||||
3 common io_cancel sys_io_cancel
|
||||
4 time32 io_getevents sys_io_getevents_time32
|
||||
4 64 io_getevents sys_io_getevents
|
||||
5 common setxattr sys_setxattr
|
||||
6 common lsetxattr sys_lsetxattr
|
||||
7 common fsetxattr sys_fsetxattr
|
||||
8 common getxattr sys_getxattr
|
||||
9 common lgetxattr sys_lgetxattr
|
||||
10 common fgetxattr sys_fgetxattr
|
||||
11 common listxattr sys_listxattr
|
||||
12 common llistxattr sys_llistxattr
|
||||
13 common flistxattr sys_flistxattr
|
||||
14 common removexattr sys_removexattr
|
||||
15 common lremovexattr sys_lremovexattr
|
||||
16 common fremovexattr sys_fremovexattr
|
||||
17 common getcwd sys_getcwd
|
||||
18 common lookup_dcookie sys_ni_syscall
|
||||
19 common eventfd2 sys_eventfd2
|
||||
20 common epoll_create1 sys_epoll_create1
|
||||
21 common epoll_ctl sys_epoll_ctl
|
||||
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
23 common dup sys_dup
|
||||
24 common dup3 sys_dup3
|
||||
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
|
||||
25 64 fcntl sys_fcntl
|
||||
26 common inotify_init1 sys_inotify_init1
|
||||
27 common inotify_add_watch sys_inotify_add_watch
|
||||
28 common inotify_rm_watch sys_inotify_rm_watch
|
||||
29 common ioctl sys_ioctl compat_sys_ioctl
|
||||
30 common ioprio_set sys_ioprio_set
|
||||
31 common ioprio_get sys_ioprio_get
|
||||
32 common flock sys_flock
|
||||
33 common mknodat sys_mknodat
|
||||
34 common mkdirat sys_mkdirat
|
||||
35 common unlinkat sys_unlinkat
|
||||
36 common symlinkat sys_symlinkat
|
||||
37 common linkat sys_linkat
|
||||
# renameat is superseded with flags by renameat2
|
||||
38 renameat renameat sys_renameat
|
||||
39 common umount2 sys_umount
|
||||
40 common mount sys_mount
|
||||
41 common pivot_root sys_pivot_root
|
||||
42 common nfsservctl sys_ni_syscall
|
||||
43 32 statfs64 sys_statfs64 compat_sys_statfs64
|
||||
43 64 statfs sys_statfs
|
||||
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
44 64 fstatfs sys_fstatfs
|
||||
45 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
45 64 truncate sys_truncate
|
||||
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
46 64 ftruncate sys_ftruncate
|
||||
47 common fallocate sys_fallocate compat_sys_fallocate
|
||||
48 common faccessat sys_faccessat
|
||||
49 common chdir sys_chdir
|
||||
50 common fchdir sys_fchdir
|
||||
51 common chroot sys_chroot
|
||||
52 common fchmod sys_fchmod
|
||||
53 common fchmodat sys_fchmodat
|
||||
54 common fchownat sys_fchownat
|
||||
55 common fchown sys_fchown
|
||||
56 common openat sys_openat
|
||||
57 common close sys_close
|
||||
58 common vhangup sys_vhangup
|
||||
59 common pipe2 sys_pipe2
|
||||
60 common quotactl sys_quotactl
|
||||
61 common getdents64 sys_getdents64
|
||||
62 32 llseek sys_llseek
|
||||
62 64 lseek sys_lseek
|
||||
63 common read sys_read
|
||||
64 common write sys_write
|
||||
65 common readv sys_readv sys_readv
|
||||
66 common writev sys_writev sys_writev
|
||||
67 common pread64 sys_pread64 compat_sys_pread64
|
||||
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
69 common preadv sys_preadv compat_sys_preadv
|
||||
70 common pwritev sys_pwritev compat_sys_pwritev
|
||||
71 32 sendfile64 sys_sendfile64
|
||||
71 64 sendfile sys_sendfile64
|
||||
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
|
||||
72 64 pselect6 sys_pselect6
|
||||
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
|
||||
73 64 ppoll sys_ppoll
|
||||
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
|
||||
75 common vmsplice sys_vmsplice
|
||||
76 common splice sys_splice
|
||||
77 common tee sys_tee
|
||||
78 common readlinkat sys_readlinkat
|
||||
79 stat64 fstatat64 sys_fstatat64
|
||||
79 64 newfstatat sys_newfstatat
|
||||
80 stat64 fstat64 sys_fstat64
|
||||
80 64 fstat sys_newfstat
|
||||
81 common sync sys_sync
|
||||
82 common fsync sys_fsync
|
||||
83 common fdatasync sys_fdatasync
|
||||
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
|
||||
85 common timerfd_create sys_timerfd_create
|
||||
86 time32 timerfd_settime sys_timerfd_settime32
|
||||
86 64 timerfd_settime sys_timerfd_settime
|
||||
87 time32 timerfd_gettime sys_timerfd_gettime32
|
||||
87 64 timerfd_gettime sys_timerfd_gettime
|
||||
88 time32 utimensat sys_utimensat_time32
|
||||
88 64 utimensat sys_utimensat
|
||||
89 common acct sys_acct
|
||||
90 common capget sys_capget
|
||||
91 common capset sys_capset
|
||||
92 common personality sys_personality
|
||||
93 common exit sys_exit
|
||||
94 common exit_group sys_exit_group
|
||||
95 common waitid sys_waitid compat_sys_waitid
|
||||
96 common set_tid_address sys_set_tid_address
|
||||
97 common unshare sys_unshare
|
||||
98 time32 futex sys_futex_time32
|
||||
98 64 futex sys_futex
|
||||
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
101 time32 nanosleep sys_nanosleep_time32
|
||||
101 64 nanosleep sys_nanosleep
|
||||
102 common getitimer sys_getitimer compat_sys_getitimer
|
||||
103 common setitimer sys_setitimer compat_sys_setitimer
|
||||
104 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
105 common init_module sys_init_module
|
||||
106 common delete_module sys_delete_module
|
||||
107 common timer_create sys_timer_create compat_sys_timer_create
|
||||
108 time32 timer_gettime sys_timer_gettime32
|
||||
108 64 timer_gettime sys_timer_gettime
|
||||
109 common timer_getoverrun sys_timer_getoverrun
|
||||
110 time32 timer_settime sys_timer_settime32
|
||||
110 64 timer_settime sys_timer_settime
|
||||
111 common timer_delete sys_timer_delete
|
||||
112 time32 clock_settime sys_clock_settime32
|
||||
112 64 clock_settime sys_clock_settime
|
||||
113 time32 clock_gettime sys_clock_gettime32
|
||||
113 64 clock_gettime sys_clock_gettime
|
||||
114 time32 clock_getres sys_clock_getres_time32
|
||||
114 64 clock_getres sys_clock_getres
|
||||
115 time32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
115 64 clock_nanosleep sys_clock_nanosleep
|
||||
116 common syslog sys_syslog
|
||||
117 common ptrace sys_ptrace compat_sys_ptrace
|
||||
118 common sched_setparam sys_sched_setparam
|
||||
119 common sched_setscheduler sys_sched_setscheduler
|
||||
120 common sched_getscheduler sys_sched_getscheduler
|
||||
121 common sched_getparam sys_sched_getparam
|
||||
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
|
||||
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
|
||||
124 common sched_yield sys_sched_yield
|
||||
125 common sched_get_priority_max sys_sched_get_priority_max
|
||||
126 common sched_get_priority_min sys_sched_get_priority_min
|
||||
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
|
||||
127 64 sched_rr_get_interval sys_sched_rr_get_interval
|
||||
128 common restart_syscall sys_restart_syscall
|
||||
129 common kill sys_kill
|
||||
130 common tkill sys_tkill
|
||||
131 common tgkill sys_tgkill
|
||||
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
|
||||
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
|
||||
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
|
||||
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
|
||||
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
|
||||
137 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
|
||||
140 common setpriority sys_setpriority
|
||||
141 common getpriority sys_getpriority
|
||||
142 common reboot sys_reboot
|
||||
143 common setregid sys_setregid
|
||||
144 common setgid sys_setgid
|
||||
145 common setreuid sys_setreuid
|
||||
146 common setuid sys_setuid
|
||||
147 common setresuid sys_setresuid
|
||||
148 common getresuid sys_getresuid
|
||||
149 common setresgid sys_setresgid
|
||||
150 common getresgid sys_getresgid
|
||||
151 common setfsuid sys_setfsuid
|
||||
152 common setfsgid sys_setfsgid
|
||||
153 common times sys_times compat_sys_times
|
||||
154 common setpgid sys_setpgid
|
||||
155 common getpgid sys_getpgid
|
||||
156 common getsid sys_getsid
|
||||
157 common setsid sys_setsid
|
||||
158 common getgroups sys_getgroups
|
||||
159 common setgroups sys_setgroups
|
||||
160 common uname sys_newuname
|
||||
161 common sethostname sys_sethostname
|
||||
162 common setdomainname sys_setdomainname
|
||||
# getrlimit and setrlimit are superseded with prlimit64
|
||||
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
|
||||
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
|
||||
165 common getrusage sys_getrusage compat_sys_getrusage
|
||||
166 common umask sys_umask
|
||||
167 common prctl sys_prctl
|
||||
168 common getcpu sys_getcpu
|
||||
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
|
||||
169 64 gettimeofday sys_gettimeofday
|
||||
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
170 64 settimeofday sys_settimeofday
|
||||
171 time32 adjtimex sys_adjtimex_time32
|
||||
171 64 adjtimex sys_adjtimex
|
||||
172 common getpid sys_getpid
|
||||
173 common getppid sys_getppid
|
||||
174 common getuid sys_getuid
|
||||
175 common geteuid sys_geteuid
|
||||
176 common getgid sys_getgid
|
||||
177 common getegid sys_getegid
|
||||
178 common gettid sys_gettid
|
||||
179 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
180 common mq_open sys_mq_open compat_sys_mq_open
|
||||
181 common mq_unlink sys_mq_unlink
|
||||
182 time32 mq_timedsend sys_mq_timedsend_time32
|
||||
182 64 mq_timedsend sys_mq_timedsend
|
||||
183 time32 mq_timedreceive sys_mq_timedreceive_time32
|
||||
183 64 mq_timedreceive sys_mq_timedreceive
|
||||
184 common mq_notify sys_mq_notify compat_sys_mq_notify
|
||||
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
|
||||
186 common msgget sys_msgget
|
||||
187 common msgctl sys_msgctl compat_sys_msgctl
|
||||
188 common msgrcv sys_msgrcv compat_sys_msgrcv
|
||||
189 common msgsnd sys_msgsnd compat_sys_msgsnd
|
||||
190 common semget sys_semget
|
||||
191 common semctl sys_semctl compat_sys_semctl
|
||||
192 time32 semtimedop sys_semtimedop_time32
|
||||
192 64 semtimedop sys_semtimedop
|
||||
193 common semop sys_semop
|
||||
194 common shmget sys_shmget
|
||||
195 common shmctl sys_shmctl compat_sys_shmctl
|
||||
196 common shmat sys_shmat compat_sys_shmat
|
||||
197 common shmdt sys_shmdt
|
||||
198 common socket sys_socket
|
||||
199 common socketpair sys_socketpair
|
||||
200 common bind sys_bind
|
||||
201 common listen sys_listen
|
||||
202 common accept sys_accept
|
||||
203 common connect sys_connect
|
||||
204 common getsockname sys_getsockname
|
||||
205 common getpeername sys_getpeername
|
||||
206 common sendto sys_sendto
|
||||
207 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
208 common setsockopt sys_setsockopt sys_setsockopt
|
||||
209 common getsockopt sys_getsockopt sys_getsockopt
|
||||
210 common shutdown sys_shutdown
|
||||
211 common sendmsg sys_sendmsg compat_sys_sendmsg
|
||||
212 common recvmsg sys_recvmsg compat_sys_recvmsg
|
||||
213 common readahead sys_readahead compat_sys_readahead
|
||||
214 common brk sys_brk
|
||||
215 common munmap sys_munmap
|
||||
216 common mremap sys_mremap
|
||||
217 common add_key sys_add_key
|
||||
218 common request_key sys_request_key
|
||||
219 common keyctl sys_keyctl compat_sys_keyctl
|
||||
220 common clone sys_clone
|
||||
221 common execve sys_execve compat_sys_execve
|
||||
222 32 mmap2 sys_mmap2
|
||||
222 64 mmap sys_mmap
|
||||
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
223 64 fadvise64 sys_fadvise64_64
|
||||
224 common swapon sys_swapon
|
||||
225 common swapoff sys_swapoff
|
||||
226 common mprotect sys_mprotect
|
||||
227 common msync sys_msync
|
||||
228 common mlock sys_mlock
|
||||
229 common munlock sys_munlock
|
||||
230 common mlockall sys_mlockall
|
||||
231 common munlockall sys_munlockall
|
||||
232 common mincore sys_mincore
|
||||
233 common madvise sys_madvise
|
||||
234 common remap_file_pages sys_remap_file_pages
|
||||
235 common mbind sys_mbind
|
||||
236 common get_mempolicy sys_get_mempolicy
|
||||
237 common set_mempolicy sys_set_mempolicy
|
||||
238 common migrate_pages sys_migrate_pages
|
||||
239 common move_pages sys_move_pages
|
||||
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
241 common perf_event_open sys_perf_event_open
|
||||
242 common accept4 sys_accept4
|
||||
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
|
||||
243 64 recvmmsg sys_recvmmsg
|
||||
# Architectures may provide up to 16 syscalls of their own between 244 and 259
|
||||
244 arc cacheflush sys_cacheflush
|
||||
245 arc arc_settls sys_arc_settls
|
||||
246 arc arc_gettls sys_arc_gettls
|
||||
247 arc sysfs sys_sysfs
|
||||
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
|
||||
|
||||
244 csky set_thread_area sys_set_thread_area
|
||||
245 csky cacheflush sys_cacheflush
|
||||
|
||||
244 nios2 cacheflush sys_cacheflush
|
||||
|
||||
244 or1k or1k_atomic sys_or1k_atomic
|
||||
|
||||
258 riscv riscv_hwprobe sys_riscv_hwprobe
|
||||
259 riscv riscv_flush_icache sys_riscv_flush_icache
|
||||
|
||||
260 time32 wait4 sys_wait4 compat_sys_wait4
|
||||
260 64 wait4 sys_wait4
|
||||
261 common prlimit64 sys_prlimit64
|
||||
262 common fanotify_init sys_fanotify_init
|
||||
263 common fanotify_mark sys_fanotify_mark
|
||||
264 common name_to_handle_at sys_name_to_handle_at
|
||||
265 common open_by_handle_at sys_open_by_handle_at
|
||||
266 time32 clock_adjtime sys_clock_adjtime32
|
||||
266 64 clock_adjtime sys_clock_adjtime
|
||||
267 common syncfs sys_syncfs
|
||||
268 common setns sys_setns
|
||||
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
|
||||
270 common process_vm_readv sys_process_vm_readv
|
||||
271 common process_vm_writev sys_process_vm_writev
|
||||
272 common kcmp sys_kcmp
|
||||
273 common finit_module sys_finit_module
|
||||
274 common sched_setattr sys_sched_setattr
|
||||
275 common sched_getattr sys_sched_getattr
|
||||
276 common renameat2 sys_renameat2
|
||||
277 common seccomp sys_seccomp
|
||||
278 common getrandom sys_getrandom
|
||||
279 common memfd_create sys_memfd_create
|
||||
280 common bpf sys_bpf
|
||||
281 common execveat sys_execveat compat_sys_execveat
|
||||
282 common userfaultfd sys_userfaultfd
|
||||
283 common membarrier sys_membarrier
|
||||
284 common mlock2 sys_mlock2
|
||||
285 common copy_file_range sys_copy_file_range
|
||||
286 common preadv2 sys_preadv2 compat_sys_preadv2
|
||||
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
|
||||
288 common pkey_mprotect sys_pkey_mprotect
|
||||
289 common pkey_alloc sys_pkey_alloc
|
||||
290 common pkey_free sys_pkey_free
|
||||
291 common statx sys_statx
|
||||
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
|
||||
292 64 io_pgetevents sys_io_pgetevents
|
||||
293 common rseq sys_rseq
|
||||
294 common kexec_file_load sys_kexec_file_load
|
||||
# 295 through 402 are unassigned to sync up with generic numbers don't use
|
||||
403 32 clock_gettime64 sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime
|
||||
405 32 clock_adjtime64 sys_clock_adjtime
|
||||
406 32 clock_getres_time64 sys_clock_getres
|
||||
407 32 clock_nanosleep_time64 sys_clock_nanosleep
|
||||
408 32 timer_gettime64 sys_timer_gettime
|
||||
409 32 timer_settime64 sys_timer_settime
|
||||
410 32 timerfd_gettime64 sys_timerfd_gettime
|
||||
411 32 timerfd_settime64 sys_timerfd_settime
|
||||
412 32 utimensat_time64 sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
420 32 semtimedop_time64 sys_semtimedop
|
||||
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
|
||||
422 32 futex_time64 sys_futex
|
||||
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
425 common io_uring_setup sys_io_uring_setup
|
||||
426 common io_uring_enter sys_io_uring_enter
|
||||
427 common io_uring_register sys_io_uring_register
|
||||
428 common open_tree sys_open_tree
|
||||
429 common move_mount sys_move_mount
|
||||
430 common fsopen sys_fsopen
|
||||
431 common fsconfig sys_fsconfig
|
||||
432 common fsmount sys_fsmount
|
||||
433 common fspick sys_fspick
|
||||
434 common pidfd_open sys_pidfd_open
|
||||
435 common clone3 sys_clone3
|
||||
436 common close_range sys_close_range
|
||||
437 common openat2 sys_openat2
|
||||
438 common pidfd_getfd sys_pidfd_getfd
|
||||
439 common faccessat2 sys_faccessat2
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 memfd_secret memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
@ -1,312 +0,0 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_LOONGARCH_SYSCALL_NR_H
|
||||
#define LINUX_USER_LOONGARCH_SYSCALL_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_io_getevents 4
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs 43
|
||||
#define TARGET_NR_fstatfs 44
|
||||
#define TARGET_NR_truncate 45
|
||||
#define TARGET_NR_ftruncate 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_lseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile 71
|
||||
#define TARGET_NR_pselect6 72
|
||||
#define TARGET_NR_ppoll 73
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_timerfd_settime 86
|
||||
#define TARGET_NR_timerfd_gettime 87
|
||||
#define TARGET_NR_utimensat 88
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_futex 98
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_nanosleep 101
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_gettime 108
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_settime 110
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_clock_settime 112
|
||||
#define TARGET_NR_clock_gettime 113
|
||||
#define TARGET_NR_clock_getres 114
|
||||
#define TARGET_NR_clock_nanosleep 115
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_sched_rr_get_interval 127
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigtimedwait 137
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_gettimeofday 169
|
||||
#define TARGET_NR_settimeofday 170
|
||||
#define TARGET_NR_adjtimex 171
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_timedsend 182
|
||||
#define TARGET_NR_mq_timedreceive 183
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semtimedop 192
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap 222
|
||||
#define TARGET_NR_fadvise64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_recvmmsg 243
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_wait4 260
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_clock_adjtime 266
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_io_pgetevents 292
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_clone3 435
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_quotactl_fd 443
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_process_mrelease 448
|
||||
#define TARGET_NR_futex_waitv 449
|
||||
#define TARGET_NR_set_mempolicy_home_node 450
|
||||
#define TARGET_NR_syscalls 451
|
||||
|
||||
#endif /* LINUX_USER_LOONGARCH_SYSCALL_NR_H */
|
28
linux-user/loongarch64/syscallhdr.sh
Normal file
28
linux-user/loongarch64/syscallhdr.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=LINUX_USER_LOONGARCH64_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry compat ; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define TARGET_NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
@ -141,7 +141,7 @@
|
||||
131 common quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 common personality sys_personality
|
||||
# 137 was afs_syscall
|
||||
@ -255,7 +255,7 @@
|
||||
245 common io_cancel sys_io_cancel
|
||||
246 common fadvise64 sys_fadvise64
|
||||
247 common exit_group sys_exit_group
|
||||
248 common lookup_dcookie sys_lookup_dcookie
|
||||
248 common lookup_dcookie sys_ni_syscall
|
||||
249 common epoll_create sys_epoll_create
|
||||
250 common epoll_ctl sys_epoll_ctl
|
||||
251 common epoll_wait sys_epoll_wait
|
||||
@ -442,7 +442,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -38,6 +38,7 @@ gen_vdso = generator(gen_vdso_exe, output: '@BASENAME@.c.inc',
|
||||
subdir('aarch64')
|
||||
subdir('alpha')
|
||||
subdir('arm')
|
||||
subdir('hexagon')
|
||||
subdir('hppa')
|
||||
subdir('i386')
|
||||
subdir('loongarch64')
|
||||
@ -45,6 +46,7 @@ subdir('m68k')
|
||||
subdir('microblaze')
|
||||
subdir('mips64')
|
||||
subdir('mips')
|
||||
subdir('openrisc')
|
||||
subdir('ppc')
|
||||
subdir('riscv')
|
||||
subdir('s390x')
|
||||
|
@ -141,7 +141,7 @@
|
||||
131 common quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 common personality sys_personality
|
||||
137 common afs_syscall sys_ni_syscall
|
||||
@ -260,7 +260,7 @@
|
||||
250 common fadvise64 sys_fadvise64
|
||||
# 251 is available for reuse (was briefly sys_set_zone_reclaim)
|
||||
252 common exit_group sys_exit_group
|
||||
253 common lookup_dcookie sys_lookup_dcookie
|
||||
253 common lookup_dcookie sys_ni_syscall
|
||||
254 common epoll_create sys_epoll_create
|
||||
255 common epoll_ctl sys_epoll_ctl
|
||||
256 common epoll_wait sys_epoll_wait
|
||||
@ -448,7 +448,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -441,3 +441,23 @@
|
||||
[ 440] = 5, /* process_madvise */
|
||||
[ 441] = 6, /* epoll_pwait2 */
|
||||
[ 442] = 5, /* mount_setattr */
|
||||
[ 443] = 4, /* quotactl_fd */
|
||||
[ 444] = 3, /* landlock_create_ruleset */
|
||||
[ 445] = 4, /* landlock_add_rule */
|
||||
[ 446] = 2, /* landlock_restrict_self */
|
||||
[ 447] = 1, /* memfd_secret */
|
||||
[ 448] = 2, /* process_mrelease */
|
||||
[ 449] = 5, /* futex_waitv */
|
||||
[ 450] = 4, /* set_mempolicy_home_node */
|
||||
[ 451] = 4, /* cachestat */
|
||||
[ 452] = 4, /* fchmodat2 */
|
||||
[ 453] = 3, /* map_shadow_stack */
|
||||
[ 454] = 4, /* futex_wake */
|
||||
[ 455] = 6, /* futex_wait */
|
||||
[ 456] = 4, /* futex_requeue */
|
||||
[ 457] = 4, /* statmount */
|
||||
[ 458] = 4, /* listmount */
|
||||
[ 459] = 4, /* lsm_get_self_attr */
|
||||
[ 460] = 4, /* lsm_set_self_attr */
|
||||
[ 461] = 3, /* lsm_list_modules */
|
||||
[ 462] = 3, /* mseal */
|
||||
|
@ -27,7 +27,7 @@
|
||||
17 o32 break sys_ni_syscall
|
||||
# 18 was sys_stat
|
||||
18 o32 unused18 sys_ni_syscall
|
||||
19 o32 lseek sys_lseek
|
||||
19 o32 lseek sys_lseek compat_sys_lseek
|
||||
20 o32 getpid sys_getpid
|
||||
21 o32 mount sys_mount
|
||||
22 o32 umount sys_oldumount
|
||||
@ -145,7 +145,7 @@
|
||||
131 o32 quotactl sys_quotactl
|
||||
132 o32 getpgid sys_getpgid
|
||||
133 o32 fchdir sys_fchdir
|
||||
134 o32 bdflush sys_bdflush
|
||||
134 o32 bdflush sys_ni_syscall
|
||||
135 o32 sysfs sys_sysfs
|
||||
136 o32 personality sys_personality sys_32_personality
|
||||
137 o32 afs_syscall sys_ni_syscall
|
||||
@ -258,7 +258,7 @@
|
||||
244 o32 io_submit sys_io_submit compat_sys_io_submit
|
||||
245 o32 io_cancel sys_io_cancel
|
||||
246 o32 exit_group sys_exit_group
|
||||
247 o32 lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
247 o32 lookup_dcookie sys_ni_syscall
|
||||
248 o32 epoll_create sys_epoll_create
|
||||
249 o32 epoll_ctl sys_epoll_ctl
|
||||
250 o32 epoll_wait sys_epoll_wait
|
||||
@ -279,9 +279,9 @@
|
||||
265 o32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
266 o32 tgkill sys_tgkill
|
||||
267 o32 utimes sys_utimes_time32
|
||||
268 o32 mbind sys_mbind compat_sys_mbind
|
||||
269 o32 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
270 o32 set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy
|
||||
268 o32 mbind sys_mbind
|
||||
269 o32 get_mempolicy sys_get_mempolicy
|
||||
270 o32 set_mempolicy sys_set_mempolicy
|
||||
271 o32 mq_open sys_mq_open compat_sys_mq_open
|
||||
272 o32 mq_unlink sys_mq_unlink
|
||||
273 o32 mq_timedsend sys_mq_timedsend_time32
|
||||
@ -298,7 +298,7 @@
|
||||
284 o32 inotify_init sys_inotify_init
|
||||
285 o32 inotify_add_watch sys_inotify_add_watch
|
||||
286 o32 inotify_rm_watch sys_inotify_rm_watch
|
||||
287 o32 migrate_pages sys_migrate_pages compat_sys_migrate_pages
|
||||
287 o32 migrate_pages sys_migrate_pages
|
||||
288 o32 openat sys_openat compat_sys_openat
|
||||
289 o32 mkdirat sys_mkdirat
|
||||
290 o32 mknodat sys_mknodat
|
||||
@ -319,7 +319,7 @@
|
||||
305 o32 sync_file_range sys_sync_file_range sys32_sync_file_range
|
||||
306 o32 tee sys_tee
|
||||
307 o32 vmsplice sys_vmsplice
|
||||
308 o32 move_pages sys_move_pages compat_sys_move_pages
|
||||
308 o32 move_pages sys_move_pages
|
||||
309 o32 set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
310 o32 get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
311 o32 kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
@ -403,7 +403,7 @@
|
||||
412 o32 utimensat_time64 sys_utimensat sys_utimensat
|
||||
413 o32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 o32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 o32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
|
||||
416 o32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 o32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 o32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
|
||||
419 o32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
|
||||
@ -430,7 +430,23 @@
|
||||
440 o32 process_madvise sys_process_madvise
|
||||
441 o32 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 o32 mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 o32 quotactl_fd sys_quotactl_fd
|
||||
444 o32 landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 o32 landlock_add_rule sys_landlock_add_rule
|
||||
446 o32 landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 o32 process_mrelease sys_process_mrelease
|
||||
449 o32 futex_waitv sys_futex_waitv
|
||||
450 o32 set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 o32 cachestat sys_cachestat
|
||||
452 o32 fchmodat2 sys_fchmodat2
|
||||
453 o32 map_shadow_stack sys_map_shadow_stack
|
||||
454 o32 futex_wake sys_futex_wake
|
||||
455 o32 futex_wait sys_futex_wait
|
||||
456 o32 futex_requeue sys_futex_requeue
|
||||
457 o32 statmount sys_statmount
|
||||
458 o32 listmount sys_listmount
|
||||
459 o32 lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 o32 lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 o32 lsm_list_modules sys_lsm_list_modules
|
||||
462 o32 mseal sys_mseal
|
||||
|
@ -214,7 +214,7 @@
|
||||
203 n32 io_submit compat_sys_io_submit
|
||||
204 n32 io_cancel sys_io_cancel
|
||||
205 n32 exit_group sys_exit_group
|
||||
206 n32 lookup_dcookie sys_lookup_dcookie
|
||||
206 n32 lookup_dcookie sys_ni_syscall
|
||||
207 n32 epoll_create sys_epoll_create
|
||||
208 n32 epoll_ctl sys_epoll_ctl
|
||||
209 n32 epoll_wait sys_epoll_wait
|
||||
@ -239,9 +239,9 @@
|
||||
228 n32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
229 n32 tgkill sys_tgkill
|
||||
230 n32 utimes sys_utimes_time32
|
||||
231 n32 mbind compat_sys_mbind
|
||||
232 n32 get_mempolicy compat_sys_get_mempolicy
|
||||
233 n32 set_mempolicy compat_sys_set_mempolicy
|
||||
231 n32 mbind sys_mbind
|
||||
232 n32 get_mempolicy sys_get_mempolicy
|
||||
233 n32 set_mempolicy sys_set_mempolicy
|
||||
234 n32 mq_open compat_sys_mq_open
|
||||
235 n32 mq_unlink sys_mq_unlink
|
||||
236 n32 mq_timedsend sys_mq_timedsend_time32
|
||||
@ -258,7 +258,7 @@
|
||||
247 n32 inotify_init sys_inotify_init
|
||||
248 n32 inotify_add_watch sys_inotify_add_watch
|
||||
249 n32 inotify_rm_watch sys_inotify_rm_watch
|
||||
250 n32 migrate_pages compat_sys_migrate_pages
|
||||
250 n32 migrate_pages sys_migrate_pages
|
||||
251 n32 openat sys_openat
|
||||
252 n32 mkdirat sys_mkdirat
|
||||
253 n32 mknodat sys_mknodat
|
||||
@ -279,7 +279,7 @@
|
||||
268 n32 sync_file_range sys_sync_file_range
|
||||
269 n32 tee sys_tee
|
||||
270 n32 vmsplice sys_vmsplice
|
||||
271 n32 move_pages compat_sys_move_pages
|
||||
271 n32 move_pages sys_move_pages
|
||||
272 n32 set_robust_list compat_sys_set_robust_list
|
||||
273 n32 get_robust_list compat_sys_get_robust_list
|
||||
274 n32 kexec_load compat_sys_kexec_load
|
||||
@ -354,7 +354,7 @@
|
||||
412 n32 utimensat_time64 sys_utimensat
|
||||
413 n32 pselect6_time64 compat_sys_pselect6_time64
|
||||
414 n32 ppoll_time64 compat_sys_ppoll_time64
|
||||
416 n32 io_pgetevents_time64 sys_io_pgetevents
|
||||
416 n32 io_pgetevents_time64 compat_sys_io_pgetevents_time64
|
||||
417 n32 recvmmsg_time64 compat_sys_recvmmsg_time64
|
||||
418 n32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 n32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
@ -381,7 +381,23 @@
|
||||
440 n32 process_madvise sys_process_madvise
|
||||
441 n32 epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 n32 mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 n32 quotactl_fd sys_quotactl_fd
|
||||
444 n32 landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 n32 landlock_add_rule sys_landlock_add_rule
|
||||
446 n32 landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 n32 process_mrelease sys_process_mrelease
|
||||
449 n32 futex_waitv sys_futex_waitv
|
||||
450 n32 set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 n32 cachestat sys_cachestat
|
||||
452 n32 fchmodat2 sys_fchmodat2
|
||||
453 n32 map_shadow_stack sys_map_shadow_stack
|
||||
454 n32 futex_wake sys_futex_wake
|
||||
455 n32 futex_wait sys_futex_wait
|
||||
456 n32 futex_requeue sys_futex_requeue
|
||||
457 n32 statmount sys_statmount
|
||||
458 n32 listmount sys_listmount
|
||||
459 n32 lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 n32 lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 n32 lsm_list_modules sys_lsm_list_modules
|
||||
462 n32 mseal sys_mseal
|
||||
|
@ -214,7 +214,7 @@
|
||||
203 n64 io_submit sys_io_submit
|
||||
204 n64 io_cancel sys_io_cancel
|
||||
205 n64 exit_group sys_exit_group
|
||||
206 n64 lookup_dcookie sys_lookup_dcookie
|
||||
206 n64 lookup_dcookie sys_ni_syscall
|
||||
207 n64 epoll_create sys_epoll_create
|
||||
208 n64 epoll_ctl sys_epoll_ctl
|
||||
209 n64 epoll_wait sys_epoll_wait
|
||||
@ -357,7 +357,23 @@
|
||||
440 n64 process_madvise sys_process_madvise
|
||||
441 n64 epoll_pwait2 sys_epoll_pwait2
|
||||
442 n64 mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 n64 quotactl_fd sys_quotactl_fd
|
||||
444 n64 landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 n64 landlock_add_rule sys_landlock_add_rule
|
||||
446 n64 landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 n64 process_mrelease sys_process_mrelease
|
||||
449 n64 futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 n64 cachestat sys_cachestat
|
||||
452 n64 fchmodat2 sys_fchmodat2
|
||||
453 n64 map_shadow_stack sys_map_shadow_stack
|
||||
454 n64 futex_wake sys_futex_wake
|
||||
455 n64 futex_wait sys_futex_wait
|
||||
456 n64 futex_requeue sys_futex_requeue
|
||||
457 n64 statmount sys_statmount
|
||||
458 n64 listmount sys_listmount
|
||||
459 n64 lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 n64 lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 n64 lsm_list_modules sys_lsm_list_modules
|
||||
462 n64 mseal sys_mseal
|
||||
|
5
linux-user/openrisc/meson.build
Normal file
5
linux-user/openrisc/meson.build
Normal file
@ -0,0 +1,5 @@
|
||||
syscall_nr_generators += {
|
||||
'openrisc': generator(sh,
|
||||
arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
|
||||
output: '@BASENAME@_nr.h')
|
||||
}
|
405
linux-user/openrisc/syscall.tbl
Normal file
405
linux-user/openrisc/syscall.tbl
Normal file
@ -0,0 +1,405 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# This file contains the system call numbers for all of the
|
||||
# more recently added architectures.
|
||||
#
|
||||
# As a basic principle, no duplication of functionality
|
||||
# should be added, e.g. we don't use lseek when llseek
|
||||
# is present. New architectures should use this file
|
||||
# and implement the less feature-full calls in user space.
|
||||
#
|
||||
0 common io_setup sys_io_setup compat_sys_io_setup
|
||||
1 common io_destroy sys_io_destroy
|
||||
2 common io_submit sys_io_submit compat_sys_io_submit
|
||||
3 common io_cancel sys_io_cancel
|
||||
4 time32 io_getevents sys_io_getevents_time32
|
||||
4 64 io_getevents sys_io_getevents
|
||||
5 common setxattr sys_setxattr
|
||||
6 common lsetxattr sys_lsetxattr
|
||||
7 common fsetxattr sys_fsetxattr
|
||||
8 common getxattr sys_getxattr
|
||||
9 common lgetxattr sys_lgetxattr
|
||||
10 common fgetxattr sys_fgetxattr
|
||||
11 common listxattr sys_listxattr
|
||||
12 common llistxattr sys_llistxattr
|
||||
13 common flistxattr sys_flistxattr
|
||||
14 common removexattr sys_removexattr
|
||||
15 common lremovexattr sys_lremovexattr
|
||||
16 common fremovexattr sys_fremovexattr
|
||||
17 common getcwd sys_getcwd
|
||||
18 common lookup_dcookie sys_ni_syscall
|
||||
19 common eventfd2 sys_eventfd2
|
||||
20 common epoll_create1 sys_epoll_create1
|
||||
21 common epoll_ctl sys_epoll_ctl
|
||||
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
23 common dup sys_dup
|
||||
24 common dup3 sys_dup3
|
||||
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
|
||||
25 64 fcntl sys_fcntl
|
||||
26 common inotify_init1 sys_inotify_init1
|
||||
27 common inotify_add_watch sys_inotify_add_watch
|
||||
28 common inotify_rm_watch sys_inotify_rm_watch
|
||||
29 common ioctl sys_ioctl compat_sys_ioctl
|
||||
30 common ioprio_set sys_ioprio_set
|
||||
31 common ioprio_get sys_ioprio_get
|
||||
32 common flock sys_flock
|
||||
33 common mknodat sys_mknodat
|
||||
34 common mkdirat sys_mkdirat
|
||||
35 common unlinkat sys_unlinkat
|
||||
36 common symlinkat sys_symlinkat
|
||||
37 common linkat sys_linkat
|
||||
# renameat is superseded with flags by renameat2
|
||||
38 renameat renameat sys_renameat
|
||||
39 common umount2 sys_umount
|
||||
40 common mount sys_mount
|
||||
41 common pivot_root sys_pivot_root
|
||||
42 common nfsservctl sys_ni_syscall
|
||||
43 32 statfs64 sys_statfs64 compat_sys_statfs64
|
||||
43 64 statfs sys_statfs
|
||||
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
44 64 fstatfs sys_fstatfs
|
||||
45 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
45 64 truncate sys_truncate
|
||||
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
46 64 ftruncate sys_ftruncate
|
||||
47 common fallocate sys_fallocate compat_sys_fallocate
|
||||
48 common faccessat sys_faccessat
|
||||
49 common chdir sys_chdir
|
||||
50 common fchdir sys_fchdir
|
||||
51 common chroot sys_chroot
|
||||
52 common fchmod sys_fchmod
|
||||
53 common fchmodat sys_fchmodat
|
||||
54 common fchownat sys_fchownat
|
||||
55 common fchown sys_fchown
|
||||
56 common openat sys_openat
|
||||
57 common close sys_close
|
||||
58 common vhangup sys_vhangup
|
||||
59 common pipe2 sys_pipe2
|
||||
60 common quotactl sys_quotactl
|
||||
61 common getdents64 sys_getdents64
|
||||
62 32 llseek sys_llseek
|
||||
62 64 lseek sys_lseek
|
||||
63 common read sys_read
|
||||
64 common write sys_write
|
||||
65 common readv sys_readv sys_readv
|
||||
66 common writev sys_writev sys_writev
|
||||
67 common pread64 sys_pread64 compat_sys_pread64
|
||||
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
69 common preadv sys_preadv compat_sys_preadv
|
||||
70 common pwritev sys_pwritev compat_sys_pwritev
|
||||
71 32 sendfile64 sys_sendfile64
|
||||
71 64 sendfile sys_sendfile64
|
||||
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
|
||||
72 64 pselect6 sys_pselect6
|
||||
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
|
||||
73 64 ppoll sys_ppoll
|
||||
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
|
||||
75 common vmsplice sys_vmsplice
|
||||
76 common splice sys_splice
|
||||
77 common tee sys_tee
|
||||
78 common readlinkat sys_readlinkat
|
||||
79 stat64 fstatat64 sys_fstatat64
|
||||
79 64 newfstatat sys_newfstatat
|
||||
80 stat64 fstat64 sys_fstat64
|
||||
80 64 fstat sys_newfstat
|
||||
81 common sync sys_sync
|
||||
82 common fsync sys_fsync
|
||||
83 common fdatasync sys_fdatasync
|
||||
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
|
||||
85 common timerfd_create sys_timerfd_create
|
||||
86 time32 timerfd_settime sys_timerfd_settime32
|
||||
86 64 timerfd_settime sys_timerfd_settime
|
||||
87 time32 timerfd_gettime sys_timerfd_gettime32
|
||||
87 64 timerfd_gettime sys_timerfd_gettime
|
||||
88 time32 utimensat sys_utimensat_time32
|
||||
88 64 utimensat sys_utimensat
|
||||
89 common acct sys_acct
|
||||
90 common capget sys_capget
|
||||
91 common capset sys_capset
|
||||
92 common personality sys_personality
|
||||
93 common exit sys_exit
|
||||
94 common exit_group sys_exit_group
|
||||
95 common waitid sys_waitid compat_sys_waitid
|
||||
96 common set_tid_address sys_set_tid_address
|
||||
97 common unshare sys_unshare
|
||||
98 time32 futex sys_futex_time32
|
||||
98 64 futex sys_futex
|
||||
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
101 time32 nanosleep sys_nanosleep_time32
|
||||
101 64 nanosleep sys_nanosleep
|
||||
102 common getitimer sys_getitimer compat_sys_getitimer
|
||||
103 common setitimer sys_setitimer compat_sys_setitimer
|
||||
104 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
105 common init_module sys_init_module
|
||||
106 common delete_module sys_delete_module
|
||||
107 common timer_create sys_timer_create compat_sys_timer_create
|
||||
108 time32 timer_gettime sys_timer_gettime32
|
||||
108 64 timer_gettime sys_timer_gettime
|
||||
109 common timer_getoverrun sys_timer_getoverrun
|
||||
110 time32 timer_settime sys_timer_settime32
|
||||
110 64 timer_settime sys_timer_settime
|
||||
111 common timer_delete sys_timer_delete
|
||||
112 time32 clock_settime sys_clock_settime32
|
||||
112 64 clock_settime sys_clock_settime
|
||||
113 time32 clock_gettime sys_clock_gettime32
|
||||
113 64 clock_gettime sys_clock_gettime
|
||||
114 time32 clock_getres sys_clock_getres_time32
|
||||
114 64 clock_getres sys_clock_getres
|
||||
115 time32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
115 64 clock_nanosleep sys_clock_nanosleep
|
||||
116 common syslog sys_syslog
|
||||
117 common ptrace sys_ptrace compat_sys_ptrace
|
||||
118 common sched_setparam sys_sched_setparam
|
||||
119 common sched_setscheduler sys_sched_setscheduler
|
||||
120 common sched_getscheduler sys_sched_getscheduler
|
||||
121 common sched_getparam sys_sched_getparam
|
||||
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
|
||||
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
|
||||
124 common sched_yield sys_sched_yield
|
||||
125 common sched_get_priority_max sys_sched_get_priority_max
|
||||
126 common sched_get_priority_min sys_sched_get_priority_min
|
||||
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
|
||||
127 64 sched_rr_get_interval sys_sched_rr_get_interval
|
||||
128 common restart_syscall sys_restart_syscall
|
||||
129 common kill sys_kill
|
||||
130 common tkill sys_tkill
|
||||
131 common tgkill sys_tgkill
|
||||
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
|
||||
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
|
||||
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
|
||||
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
|
||||
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
|
||||
137 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
|
||||
140 common setpriority sys_setpriority
|
||||
141 common getpriority sys_getpriority
|
||||
142 common reboot sys_reboot
|
||||
143 common setregid sys_setregid
|
||||
144 common setgid sys_setgid
|
||||
145 common setreuid sys_setreuid
|
||||
146 common setuid sys_setuid
|
||||
147 common setresuid sys_setresuid
|
||||
148 common getresuid sys_getresuid
|
||||
149 common setresgid sys_setresgid
|
||||
150 common getresgid sys_getresgid
|
||||
151 common setfsuid sys_setfsuid
|
||||
152 common setfsgid sys_setfsgid
|
||||
153 common times sys_times compat_sys_times
|
||||
154 common setpgid sys_setpgid
|
||||
155 common getpgid sys_getpgid
|
||||
156 common getsid sys_getsid
|
||||
157 common setsid sys_setsid
|
||||
158 common getgroups sys_getgroups
|
||||
159 common setgroups sys_setgroups
|
||||
160 common uname sys_newuname
|
||||
161 common sethostname sys_sethostname
|
||||
162 common setdomainname sys_setdomainname
|
||||
# getrlimit and setrlimit are superseded with prlimit64
|
||||
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
|
||||
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
|
||||
165 common getrusage sys_getrusage compat_sys_getrusage
|
||||
166 common umask sys_umask
|
||||
167 common prctl sys_prctl
|
||||
168 common getcpu sys_getcpu
|
||||
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
|
||||
169 64 gettimeofday sys_gettimeofday
|
||||
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
170 64 settimeofday sys_settimeofday
|
||||
171 time32 adjtimex sys_adjtimex_time32
|
||||
171 64 adjtimex sys_adjtimex
|
||||
172 common getpid sys_getpid
|
||||
173 common getppid sys_getppid
|
||||
174 common getuid sys_getuid
|
||||
175 common geteuid sys_geteuid
|
||||
176 common getgid sys_getgid
|
||||
177 common getegid sys_getegid
|
||||
178 common gettid sys_gettid
|
||||
179 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
180 common mq_open sys_mq_open compat_sys_mq_open
|
||||
181 common mq_unlink sys_mq_unlink
|
||||
182 time32 mq_timedsend sys_mq_timedsend_time32
|
||||
182 64 mq_timedsend sys_mq_timedsend
|
||||
183 time32 mq_timedreceive sys_mq_timedreceive_time32
|
||||
183 64 mq_timedreceive sys_mq_timedreceive
|
||||
184 common mq_notify sys_mq_notify compat_sys_mq_notify
|
||||
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
|
||||
186 common msgget sys_msgget
|
||||
187 common msgctl sys_msgctl compat_sys_msgctl
|
||||
188 common msgrcv sys_msgrcv compat_sys_msgrcv
|
||||
189 common msgsnd sys_msgsnd compat_sys_msgsnd
|
||||
190 common semget sys_semget
|
||||
191 common semctl sys_semctl compat_sys_semctl
|
||||
192 time32 semtimedop sys_semtimedop_time32
|
||||
192 64 semtimedop sys_semtimedop
|
||||
193 common semop sys_semop
|
||||
194 common shmget sys_shmget
|
||||
195 common shmctl sys_shmctl compat_sys_shmctl
|
||||
196 common shmat sys_shmat compat_sys_shmat
|
||||
197 common shmdt sys_shmdt
|
||||
198 common socket sys_socket
|
||||
199 common socketpair sys_socketpair
|
||||
200 common bind sys_bind
|
||||
201 common listen sys_listen
|
||||
202 common accept sys_accept
|
||||
203 common connect sys_connect
|
||||
204 common getsockname sys_getsockname
|
||||
205 common getpeername sys_getpeername
|
||||
206 common sendto sys_sendto
|
||||
207 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
208 common setsockopt sys_setsockopt sys_setsockopt
|
||||
209 common getsockopt sys_getsockopt sys_getsockopt
|
||||
210 common shutdown sys_shutdown
|
||||
211 common sendmsg sys_sendmsg compat_sys_sendmsg
|
||||
212 common recvmsg sys_recvmsg compat_sys_recvmsg
|
||||
213 common readahead sys_readahead compat_sys_readahead
|
||||
214 common brk sys_brk
|
||||
215 common munmap sys_munmap
|
||||
216 common mremap sys_mremap
|
||||
217 common add_key sys_add_key
|
||||
218 common request_key sys_request_key
|
||||
219 common keyctl sys_keyctl compat_sys_keyctl
|
||||
220 common clone sys_clone
|
||||
221 common execve sys_execve compat_sys_execve
|
||||
222 32 mmap2 sys_mmap2
|
||||
222 64 mmap sys_mmap
|
||||
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
223 64 fadvise64 sys_fadvise64_64
|
||||
224 common swapon sys_swapon
|
||||
225 common swapoff sys_swapoff
|
||||
226 common mprotect sys_mprotect
|
||||
227 common msync sys_msync
|
||||
228 common mlock sys_mlock
|
||||
229 common munlock sys_munlock
|
||||
230 common mlockall sys_mlockall
|
||||
231 common munlockall sys_munlockall
|
||||
232 common mincore sys_mincore
|
||||
233 common madvise sys_madvise
|
||||
234 common remap_file_pages sys_remap_file_pages
|
||||
235 common mbind sys_mbind
|
||||
236 common get_mempolicy sys_get_mempolicy
|
||||
237 common set_mempolicy sys_set_mempolicy
|
||||
238 common migrate_pages sys_migrate_pages
|
||||
239 common move_pages sys_move_pages
|
||||
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
241 common perf_event_open sys_perf_event_open
|
||||
242 common accept4 sys_accept4
|
||||
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
|
||||
243 64 recvmmsg sys_recvmmsg
|
||||
# Architectures may provide up to 16 syscalls of their own between 244 and 259
|
||||
244 arc cacheflush sys_cacheflush
|
||||
245 arc arc_settls sys_arc_settls
|
||||
246 arc arc_gettls sys_arc_gettls
|
||||
247 arc sysfs sys_sysfs
|
||||
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
|
||||
|
||||
244 csky set_thread_area sys_set_thread_area
|
||||
245 csky cacheflush sys_cacheflush
|
||||
|
||||
244 nios2 cacheflush sys_cacheflush
|
||||
|
||||
244 or1k or1k_atomic sys_or1k_atomic
|
||||
|
||||
258 riscv riscv_hwprobe sys_riscv_hwprobe
|
||||
259 riscv riscv_flush_icache sys_riscv_flush_icache
|
||||
|
||||
260 time32 wait4 sys_wait4 compat_sys_wait4
|
||||
260 64 wait4 sys_wait4
|
||||
261 common prlimit64 sys_prlimit64
|
||||
262 common fanotify_init sys_fanotify_init
|
||||
263 common fanotify_mark sys_fanotify_mark
|
||||
264 common name_to_handle_at sys_name_to_handle_at
|
||||
265 common open_by_handle_at sys_open_by_handle_at
|
||||
266 time32 clock_adjtime sys_clock_adjtime32
|
||||
266 64 clock_adjtime sys_clock_adjtime
|
||||
267 common syncfs sys_syncfs
|
||||
268 common setns sys_setns
|
||||
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
|
||||
270 common process_vm_readv sys_process_vm_readv
|
||||
271 common process_vm_writev sys_process_vm_writev
|
||||
272 common kcmp sys_kcmp
|
||||
273 common finit_module sys_finit_module
|
||||
274 common sched_setattr sys_sched_setattr
|
||||
275 common sched_getattr sys_sched_getattr
|
||||
276 common renameat2 sys_renameat2
|
||||
277 common seccomp sys_seccomp
|
||||
278 common getrandom sys_getrandom
|
||||
279 common memfd_create sys_memfd_create
|
||||
280 common bpf sys_bpf
|
||||
281 common execveat sys_execveat compat_sys_execveat
|
||||
282 common userfaultfd sys_userfaultfd
|
||||
283 common membarrier sys_membarrier
|
||||
284 common mlock2 sys_mlock2
|
||||
285 common copy_file_range sys_copy_file_range
|
||||
286 common preadv2 sys_preadv2 compat_sys_preadv2
|
||||
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
|
||||
288 common pkey_mprotect sys_pkey_mprotect
|
||||
289 common pkey_alloc sys_pkey_alloc
|
||||
290 common pkey_free sys_pkey_free
|
||||
291 common statx sys_statx
|
||||
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
|
||||
292 64 io_pgetevents sys_io_pgetevents
|
||||
293 common rseq sys_rseq
|
||||
294 common kexec_file_load sys_kexec_file_load
|
||||
# 295 through 402 are unassigned to sync up with generic numbers don't use
|
||||
403 32 clock_gettime64 sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime
|
||||
405 32 clock_adjtime64 sys_clock_adjtime
|
||||
406 32 clock_getres_time64 sys_clock_getres
|
||||
407 32 clock_nanosleep_time64 sys_clock_nanosleep
|
||||
408 32 timer_gettime64 sys_timer_gettime
|
||||
409 32 timer_settime64 sys_timer_settime
|
||||
410 32 timerfd_gettime64 sys_timerfd_gettime
|
||||
411 32 timerfd_settime64 sys_timerfd_settime
|
||||
412 32 utimensat_time64 sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
420 32 semtimedop_time64 sys_semtimedop
|
||||
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
|
||||
422 32 futex_time64 sys_futex
|
||||
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
425 common io_uring_setup sys_io_uring_setup
|
||||
426 common io_uring_enter sys_io_uring_enter
|
||||
427 common io_uring_register sys_io_uring_register
|
||||
428 common open_tree sys_open_tree
|
||||
429 common move_mount sys_move_mount
|
||||
430 common fsopen sys_fsopen
|
||||
431 common fsconfig sys_fsconfig
|
||||
432 common fsmount sys_fsmount
|
||||
433 common fspick sys_fspick
|
||||
434 common pidfd_open sys_pidfd_open
|
||||
435 common clone3 sys_clone3
|
||||
436 common close_range sys_close_range
|
||||
437 common openat2 sys_openat2
|
||||
438 common pidfd_getfd sys_pidfd_getfd
|
||||
439 common faccessat2 sys_faccessat2
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 memfd_secret memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
@ -1,334 +0,0 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_OPENRISC_SYSCALL_NR_H
|
||||
#define LINUX_USER_OPENRISC_SYSCALL_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_or1k_atomic TARGET_NR_arch_specific_syscall
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_io_getevents 4
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl64 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_renameat 38
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs64 43
|
||||
#define TARGET_NR_fstatfs64 44
|
||||
#define TARGET_NR_truncate64 45
|
||||
#define TARGET_NR_ftruncate64 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_llseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile64 71
|
||||
#define TARGET_NR_pselect6 72
|
||||
#define TARGET_NR_ppoll 73
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_fstatat64 79
|
||||
#define TARGET_NR_fstat64 80
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_timerfd_settime 86
|
||||
#define TARGET_NR_timerfd_gettime 87
|
||||
#define TARGET_NR_utimensat 88
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_futex 98
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_nanosleep 101
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_gettime 108
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_settime 110
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_clock_settime 112
|
||||
#define TARGET_NR_clock_gettime 113
|
||||
#define TARGET_NR_clock_getres 114
|
||||
#define TARGET_NR_clock_nanosleep 115
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_sched_rr_get_interval 127
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigtimedwait 137
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrlimit 163
|
||||
#define TARGET_NR_setrlimit 164
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_gettimeofday 169
|
||||
#define TARGET_NR_settimeofday 170
|
||||
#define TARGET_NR_adjtimex 171
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_timedsend 182
|
||||
#define TARGET_NR_mq_timedreceive 183
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semtimedop 192
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap2 222
|
||||
#define TARGET_NR_fadvise64_64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_recvmmsg 243
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_wait4 260
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_clock_adjtime 266
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_io_pgetevents 292
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_clock_gettime64 403
|
||||
#define TARGET_NR_clock_settime64 404
|
||||
#define TARGET_NR_clock_adjtime64 405
|
||||
#define TARGET_NR_clock_getres_time64 406
|
||||
#define TARGET_NR_clock_nanosleep_time64 407
|
||||
#define TARGET_NR_timer_gettime64 408
|
||||
#define TARGET_NR_timer_settime64 409
|
||||
#define TARGET_NR_timerfd_gettime64 410
|
||||
#define TARGET_NR_timerfd_settime64 411
|
||||
#define TARGET_NR_utimensat_time64 412
|
||||
#define TARGET_NR_pselect6_time64 413
|
||||
#define TARGET_NR_ppoll_time64 414
|
||||
#define TARGET_NR_io_pgetevents_time64 416
|
||||
#define TARGET_NR_recvmmsg_time64 417
|
||||
#define TARGET_NR_mq_timedsend_time64 418
|
||||
#define TARGET_NR_mq_timedreceive_time64 419
|
||||
#define TARGET_NR_semtimedop_time64 420
|
||||
#define TARGET_NR_rt_sigtimedwait_time64 421
|
||||
#define TARGET_NR_futex_time64 422
|
||||
#define TARGET_NR_sched_rr_get_interval_time64 423
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_clone3 435
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_syscalls 447
|
||||
|
||||
#endif /* LINUX_USER_OPENRISC_SYSCALL_NR_H */
|
28
linux-user/openrisc/syscallhdr.sh
Normal file
28
linux-user/openrisc/syscallhdr.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=LINUX_USER_OPENRISC_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry ; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define TARGET_NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
@ -110,7 +110,7 @@
|
||||
79 common settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
80 common getgroups sys_getgroups
|
||||
81 common setgroups sys_setgroups
|
||||
82 32 select ppc_select sys_ni_syscall
|
||||
82 32 select sys_old_select compat_sys_old_select
|
||||
82 64 select sys_ni_syscall
|
||||
82 spu select sys_ni_syscall
|
||||
83 common symlink sys_symlink
|
||||
@ -176,11 +176,11 @@
|
||||
131 nospu quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 32 personality sys_personality ppc64_personality
|
||||
136 64 personality ppc64_personality
|
||||
136 spu personality ppc64_personality
|
||||
136 32 personality sys_personality compat_sys_ppc64_personality
|
||||
136 64 personality sys_ppc64_personality
|
||||
136 spu personality sys_ppc64_personality
|
||||
137 common afs_syscall sys_ni_syscall
|
||||
138 common setfsuid sys_setfsuid
|
||||
139 common setfsgid sys_setfsgid
|
||||
@ -228,8 +228,12 @@
|
||||
176 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
177 nospu rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
178 nospu rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
179 common pread64 sys_pread64 compat_sys_pread64
|
||||
180 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
179 32 pread64 sys_ppc_pread64 compat_sys_ppc_pread64
|
||||
179 64 pread64 sys_pread64
|
||||
179 spu pread64 sys_pread64
|
||||
180 32 pwrite64 sys_ppc_pwrite64 compat_sys_ppc_pwrite64
|
||||
180 64 pwrite64 sys_pwrite64
|
||||
180 spu pwrite64 sys_pwrite64
|
||||
181 common chown sys_chown
|
||||
182 common getcwd sys_getcwd
|
||||
183 common capget sys_capget
|
||||
@ -242,10 +246,12 @@
|
||||
188 common putpmsg sys_ni_syscall
|
||||
189 nospu vfork sys_vfork
|
||||
190 common ugetrlimit sys_getrlimit compat_sys_getrlimit
|
||||
191 common readahead sys_readahead compat_sys_readahead
|
||||
191 32 readahead sys_ppc_readahead compat_sys_ppc_readahead
|
||||
191 64 readahead sys_readahead
|
||||
191 spu readahead sys_readahead
|
||||
192 32 mmap2 sys_mmap2 compat_sys_mmap2
|
||||
193 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
194 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
193 32 truncate64 sys_ppc_truncate64 compat_sys_ppc_truncate64
|
||||
194 32 ftruncate64 sys_ppc_ftruncate64 compat_sys_ppc_ftruncate64
|
||||
195 32 stat64 sys_stat64
|
||||
196 32 lstat64 sys_lstat64
|
||||
197 32 fstat64 sys_fstat64
|
||||
@ -288,9 +294,11 @@
|
||||
230 common io_submit sys_io_submit compat_sys_io_submit
|
||||
231 common io_cancel sys_io_cancel
|
||||
232 nospu set_tid_address sys_set_tid_address
|
||||
233 common fadvise64 sys_fadvise64 ppc32_fadvise64
|
||||
233 32 fadvise64 sys_ppc32_fadvise64 compat_sys_ppc32_fadvise64
|
||||
233 64 fadvise64 sys_fadvise64
|
||||
233 spu fadvise64 sys_fadvise64
|
||||
234 nospu exit_group sys_exit_group
|
||||
235 nospu lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
235 nospu lookup_dcookie sys_ni_syscall
|
||||
236 common epoll_create sys_epoll_create
|
||||
237 common epoll_ctl sys_epoll_ctl
|
||||
238 common epoll_wait sys_epoll_wait
|
||||
@ -323,17 +331,17 @@
|
||||
251 spu utimes sys_utimes
|
||||
252 common statfs64 sys_statfs64 compat_sys_statfs64
|
||||
253 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
254 32 fadvise64_64 ppc_fadvise64_64
|
||||
254 32 fadvise64_64 sys_ppc_fadvise64_64
|
||||
254 spu fadvise64_64 sys_ni_syscall
|
||||
255 common rtas sys_rtas
|
||||
256 32 sys_debug_setcontext sys_debug_setcontext sys_ni_syscall
|
||||
256 64 sys_debug_setcontext sys_ni_syscall
|
||||
256 spu sys_debug_setcontext sys_ni_syscall
|
||||
# 257 reserved for vserver
|
||||
258 nospu migrate_pages sys_migrate_pages compat_sys_migrate_pages
|
||||
259 nospu mbind sys_mbind compat_sys_mbind
|
||||
260 nospu get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
261 nospu set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy
|
||||
258 nospu migrate_pages sys_migrate_pages
|
||||
259 nospu mbind sys_mbind
|
||||
260 nospu get_mempolicy sys_get_mempolicy
|
||||
261 nospu set_mempolicy sys_set_mempolicy
|
||||
262 nospu mq_open sys_mq_open compat_sys_mq_open
|
||||
263 nospu mq_unlink sys_mq_unlink
|
||||
264 32 mq_timedsend sys_mq_timedsend_time32
|
||||
@ -381,7 +389,7 @@
|
||||
298 common faccessat sys_faccessat
|
||||
299 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
300 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
301 common move_pages sys_move_pages compat_sys_move_pages
|
||||
301 common move_pages sys_move_pages
|
||||
302 common getcpu sys_getcpu
|
||||
303 nospu epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
304 32 utimensat sys_utimensat_time32
|
||||
@ -390,8 +398,11 @@
|
||||
305 common signalfd sys_signalfd compat_sys_signalfd
|
||||
306 common timerfd_create sys_timerfd_create
|
||||
307 common eventfd sys_eventfd
|
||||
308 common sync_file_range2 sys_sync_file_range2 compat_sys_sync_file_range2
|
||||
309 nospu fallocate sys_fallocate compat_sys_fallocate
|
||||
308 32 sync_file_range2 sys_ppc_sync_file_range2 compat_sys_ppc_sync_file_range2
|
||||
308 64 sync_file_range2 sys_sync_file_range2
|
||||
308 spu sync_file_range2 sys_sync_file_range2
|
||||
309 32 fallocate sys_ppc_fallocate compat_sys_fallocate
|
||||
309 64 fallocate sys_fallocate
|
||||
310 nospu subpage_prot sys_subpage_prot
|
||||
311 32 timerfd_settime sys_timerfd_settime32
|
||||
311 64 timerfd_settime sys_timerfd_settime
|
||||
@ -495,7 +506,7 @@
|
||||
412 32 utimensat_time64 sys_utimensat sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
|
||||
@ -522,7 +533,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 nospu set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_ni_syscall
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -47,7 +47,7 @@ void cpu_loop(CPURISCVState *env)
|
||||
break;
|
||||
case RISCV_EXCP_U_ECALL:
|
||||
env->pc += 4;
|
||||
if (env->gpr[xA7] == TARGET_NR_arch_specific_syscall + 15) {
|
||||
if (env->gpr[xA7] == TARGET_NR_riscv_flush_icache) {
|
||||
/* riscv_flush_icache_syscall is a no-op in QEMU as
|
||||
self-modifying code is automatically detected */
|
||||
ret = 0;
|
||||
|
@ -5,3 +5,9 @@ vdso_64_inc = gen_vdso.process('vdso-64.so',
|
||||
|
||||
linux_user_ss.add(when: 'TARGET_RISCV32', if_true: vdso_32_inc)
|
||||
linux_user_ss.add(when: 'TARGET_RISCV64', if_true: vdso_64_inc)
|
||||
|
||||
syscall_nr_generators += {
|
||||
'riscv': generator(sh,
|
||||
arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
|
||||
output: '@BASENAME@_nr.h')
|
||||
}
|
||||
|
405
linux-user/riscv/syscall.tbl
Normal file
405
linux-user/riscv/syscall.tbl
Normal file
@ -0,0 +1,405 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# This file contains the system call numbers for all of the
|
||||
# more recently added architectures.
|
||||
#
|
||||
# As a basic principle, no duplication of functionality
|
||||
# should be added, e.g. we don't use lseek when llseek
|
||||
# is present. New architectures should use this file
|
||||
# and implement the less feature-full calls in user space.
|
||||
#
|
||||
0 common io_setup sys_io_setup compat_sys_io_setup
|
||||
1 common io_destroy sys_io_destroy
|
||||
2 common io_submit sys_io_submit compat_sys_io_submit
|
||||
3 common io_cancel sys_io_cancel
|
||||
4 time32 io_getevents sys_io_getevents_time32
|
||||
4 64 io_getevents sys_io_getevents
|
||||
5 common setxattr sys_setxattr
|
||||
6 common lsetxattr sys_lsetxattr
|
||||
7 common fsetxattr sys_fsetxattr
|
||||
8 common getxattr sys_getxattr
|
||||
9 common lgetxattr sys_lgetxattr
|
||||
10 common fgetxattr sys_fgetxattr
|
||||
11 common listxattr sys_listxattr
|
||||
12 common llistxattr sys_llistxattr
|
||||
13 common flistxattr sys_flistxattr
|
||||
14 common removexattr sys_removexattr
|
||||
15 common lremovexattr sys_lremovexattr
|
||||
16 common fremovexattr sys_fremovexattr
|
||||
17 common getcwd sys_getcwd
|
||||
18 common lookup_dcookie sys_ni_syscall
|
||||
19 common eventfd2 sys_eventfd2
|
||||
20 common epoll_create1 sys_epoll_create1
|
||||
21 common epoll_ctl sys_epoll_ctl
|
||||
22 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
23 common dup sys_dup
|
||||
24 common dup3 sys_dup3
|
||||
25 32 fcntl64 sys_fcntl64 compat_sys_fcntl64
|
||||
25 64 fcntl sys_fcntl
|
||||
26 common inotify_init1 sys_inotify_init1
|
||||
27 common inotify_add_watch sys_inotify_add_watch
|
||||
28 common inotify_rm_watch sys_inotify_rm_watch
|
||||
29 common ioctl sys_ioctl compat_sys_ioctl
|
||||
30 common ioprio_set sys_ioprio_set
|
||||
31 common ioprio_get sys_ioprio_get
|
||||
32 common flock sys_flock
|
||||
33 common mknodat sys_mknodat
|
||||
34 common mkdirat sys_mkdirat
|
||||
35 common unlinkat sys_unlinkat
|
||||
36 common symlinkat sys_symlinkat
|
||||
37 common linkat sys_linkat
|
||||
# renameat is superseded with flags by renameat2
|
||||
38 renameat renameat sys_renameat
|
||||
39 common umount2 sys_umount
|
||||
40 common mount sys_mount
|
||||
41 common pivot_root sys_pivot_root
|
||||
42 common nfsservctl sys_ni_syscall
|
||||
43 32 statfs64 sys_statfs64 compat_sys_statfs64
|
||||
43 64 statfs sys_statfs
|
||||
44 32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
44 64 fstatfs sys_fstatfs
|
||||
45 32 truncate64 sys_truncate64 compat_sys_truncate64
|
||||
45 64 truncate sys_truncate
|
||||
46 32 ftruncate64 sys_ftruncate64 compat_sys_ftruncate64
|
||||
46 64 ftruncate sys_ftruncate
|
||||
47 common fallocate sys_fallocate compat_sys_fallocate
|
||||
48 common faccessat sys_faccessat
|
||||
49 common chdir sys_chdir
|
||||
50 common fchdir sys_fchdir
|
||||
51 common chroot sys_chroot
|
||||
52 common fchmod sys_fchmod
|
||||
53 common fchmodat sys_fchmodat
|
||||
54 common fchownat sys_fchownat
|
||||
55 common fchown sys_fchown
|
||||
56 common openat sys_openat
|
||||
57 common close sys_close
|
||||
58 common vhangup sys_vhangup
|
||||
59 common pipe2 sys_pipe2
|
||||
60 common quotactl sys_quotactl
|
||||
61 common getdents64 sys_getdents64
|
||||
62 32 llseek sys_llseek
|
||||
62 64 lseek sys_lseek
|
||||
63 common read sys_read
|
||||
64 common write sys_write
|
||||
65 common readv sys_readv sys_readv
|
||||
66 common writev sys_writev sys_writev
|
||||
67 common pread64 sys_pread64 compat_sys_pread64
|
||||
68 common pwrite64 sys_pwrite64 compat_sys_pwrite64
|
||||
69 common preadv sys_preadv compat_sys_preadv
|
||||
70 common pwritev sys_pwritev compat_sys_pwritev
|
||||
71 32 sendfile64 sys_sendfile64
|
||||
71 64 sendfile sys_sendfile64
|
||||
72 time32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32
|
||||
72 64 pselect6 sys_pselect6
|
||||
73 time32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32
|
||||
73 64 ppoll sys_ppoll
|
||||
74 common signalfd4 sys_signalfd4 compat_sys_signalfd4
|
||||
75 common vmsplice sys_vmsplice
|
||||
76 common splice sys_splice
|
||||
77 common tee sys_tee
|
||||
78 common readlinkat sys_readlinkat
|
||||
79 stat64 fstatat64 sys_fstatat64
|
||||
79 64 newfstatat sys_newfstatat
|
||||
80 stat64 fstat64 sys_fstat64
|
||||
80 64 fstat sys_newfstat
|
||||
81 common sync sys_sync
|
||||
82 common fsync sys_fsync
|
||||
83 common fdatasync sys_fdatasync
|
||||
84 common sync_file_range sys_sync_file_range compat_sys_sync_file_range
|
||||
85 common timerfd_create sys_timerfd_create
|
||||
86 time32 timerfd_settime sys_timerfd_settime32
|
||||
86 64 timerfd_settime sys_timerfd_settime
|
||||
87 time32 timerfd_gettime sys_timerfd_gettime32
|
||||
87 64 timerfd_gettime sys_timerfd_gettime
|
||||
88 time32 utimensat sys_utimensat_time32
|
||||
88 64 utimensat sys_utimensat
|
||||
89 common acct sys_acct
|
||||
90 common capget sys_capget
|
||||
91 common capset sys_capset
|
||||
92 common personality sys_personality
|
||||
93 common exit sys_exit
|
||||
94 common exit_group sys_exit_group
|
||||
95 common waitid sys_waitid compat_sys_waitid
|
||||
96 common set_tid_address sys_set_tid_address
|
||||
97 common unshare sys_unshare
|
||||
98 time32 futex sys_futex_time32
|
||||
98 64 futex sys_futex
|
||||
99 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
100 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
101 time32 nanosleep sys_nanosleep_time32
|
||||
101 64 nanosleep sys_nanosleep
|
||||
102 common getitimer sys_getitimer compat_sys_getitimer
|
||||
103 common setitimer sys_setitimer compat_sys_setitimer
|
||||
104 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
105 common init_module sys_init_module
|
||||
106 common delete_module sys_delete_module
|
||||
107 common timer_create sys_timer_create compat_sys_timer_create
|
||||
108 time32 timer_gettime sys_timer_gettime32
|
||||
108 64 timer_gettime sys_timer_gettime
|
||||
109 common timer_getoverrun sys_timer_getoverrun
|
||||
110 time32 timer_settime sys_timer_settime32
|
||||
110 64 timer_settime sys_timer_settime
|
||||
111 common timer_delete sys_timer_delete
|
||||
112 time32 clock_settime sys_clock_settime32
|
||||
112 64 clock_settime sys_clock_settime
|
||||
113 time32 clock_gettime sys_clock_gettime32
|
||||
113 64 clock_gettime sys_clock_gettime
|
||||
114 time32 clock_getres sys_clock_getres_time32
|
||||
114 64 clock_getres sys_clock_getres
|
||||
115 time32 clock_nanosleep sys_clock_nanosleep_time32
|
||||
115 64 clock_nanosleep sys_clock_nanosleep
|
||||
116 common syslog sys_syslog
|
||||
117 common ptrace sys_ptrace compat_sys_ptrace
|
||||
118 common sched_setparam sys_sched_setparam
|
||||
119 common sched_setscheduler sys_sched_setscheduler
|
||||
120 common sched_getscheduler sys_sched_getscheduler
|
||||
121 common sched_getparam sys_sched_getparam
|
||||
122 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
|
||||
123 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
|
||||
124 common sched_yield sys_sched_yield
|
||||
125 common sched_get_priority_max sys_sched_get_priority_max
|
||||
126 common sched_get_priority_min sys_sched_get_priority_min
|
||||
127 time32 sched_rr_get_interval sys_sched_rr_get_interval_time32
|
||||
127 64 sched_rr_get_interval sys_sched_rr_get_interval
|
||||
128 common restart_syscall sys_restart_syscall
|
||||
129 common kill sys_kill
|
||||
130 common tkill sys_tkill
|
||||
131 common tgkill sys_tgkill
|
||||
132 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
|
||||
133 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
134 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
|
||||
135 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask
|
||||
136 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
|
||||
137 time32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32
|
||||
137 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
138 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
139 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn
|
||||
140 common setpriority sys_setpriority
|
||||
141 common getpriority sys_getpriority
|
||||
142 common reboot sys_reboot
|
||||
143 common setregid sys_setregid
|
||||
144 common setgid sys_setgid
|
||||
145 common setreuid sys_setreuid
|
||||
146 common setuid sys_setuid
|
||||
147 common setresuid sys_setresuid
|
||||
148 common getresuid sys_getresuid
|
||||
149 common setresgid sys_setresgid
|
||||
150 common getresgid sys_getresgid
|
||||
151 common setfsuid sys_setfsuid
|
||||
152 common setfsgid sys_setfsgid
|
||||
153 common times sys_times compat_sys_times
|
||||
154 common setpgid sys_setpgid
|
||||
155 common getpgid sys_getpgid
|
||||
156 common getsid sys_getsid
|
||||
157 common setsid sys_setsid
|
||||
158 common getgroups sys_getgroups
|
||||
159 common setgroups sys_setgroups
|
||||
160 common uname sys_newuname
|
||||
161 common sethostname sys_sethostname
|
||||
162 common setdomainname sys_setdomainname
|
||||
# getrlimit and setrlimit are superseded with prlimit64
|
||||
163 rlimit getrlimit sys_getrlimit compat_sys_getrlimit
|
||||
164 rlimit setrlimit sys_setrlimit compat_sys_setrlimit
|
||||
165 common getrusage sys_getrusage compat_sys_getrusage
|
||||
166 common umask sys_umask
|
||||
167 common prctl sys_prctl
|
||||
168 common getcpu sys_getcpu
|
||||
169 time32 gettimeofday sys_gettimeofday compat_sys_gettimeofday
|
||||
169 64 gettimeofday sys_gettimeofday
|
||||
170 time32 settimeofday sys_settimeofday compat_sys_settimeofday
|
||||
170 64 settimeofday sys_settimeofday
|
||||
171 time32 adjtimex sys_adjtimex_time32
|
||||
171 64 adjtimex sys_adjtimex
|
||||
172 common getpid sys_getpid
|
||||
173 common getppid sys_getppid
|
||||
174 common getuid sys_getuid
|
||||
175 common geteuid sys_geteuid
|
||||
176 common getgid sys_getgid
|
||||
177 common getegid sys_getegid
|
||||
178 common gettid sys_gettid
|
||||
179 common sysinfo sys_sysinfo compat_sys_sysinfo
|
||||
180 common mq_open sys_mq_open compat_sys_mq_open
|
||||
181 common mq_unlink sys_mq_unlink
|
||||
182 time32 mq_timedsend sys_mq_timedsend_time32
|
||||
182 64 mq_timedsend sys_mq_timedsend
|
||||
183 time32 mq_timedreceive sys_mq_timedreceive_time32
|
||||
183 64 mq_timedreceive sys_mq_timedreceive
|
||||
184 common mq_notify sys_mq_notify compat_sys_mq_notify
|
||||
185 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
|
||||
186 common msgget sys_msgget
|
||||
187 common msgctl sys_msgctl compat_sys_msgctl
|
||||
188 common msgrcv sys_msgrcv compat_sys_msgrcv
|
||||
189 common msgsnd sys_msgsnd compat_sys_msgsnd
|
||||
190 common semget sys_semget
|
||||
191 common semctl sys_semctl compat_sys_semctl
|
||||
192 time32 semtimedop sys_semtimedop_time32
|
||||
192 64 semtimedop sys_semtimedop
|
||||
193 common semop sys_semop
|
||||
194 common shmget sys_shmget
|
||||
195 common shmctl sys_shmctl compat_sys_shmctl
|
||||
196 common shmat sys_shmat compat_sys_shmat
|
||||
197 common shmdt sys_shmdt
|
||||
198 common socket sys_socket
|
||||
199 common socketpair sys_socketpair
|
||||
200 common bind sys_bind
|
||||
201 common listen sys_listen
|
||||
202 common accept sys_accept
|
||||
203 common connect sys_connect
|
||||
204 common getsockname sys_getsockname
|
||||
205 common getpeername sys_getpeername
|
||||
206 common sendto sys_sendto
|
||||
207 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
208 common setsockopt sys_setsockopt sys_setsockopt
|
||||
209 common getsockopt sys_getsockopt sys_getsockopt
|
||||
210 common shutdown sys_shutdown
|
||||
211 common sendmsg sys_sendmsg compat_sys_sendmsg
|
||||
212 common recvmsg sys_recvmsg compat_sys_recvmsg
|
||||
213 common readahead sys_readahead compat_sys_readahead
|
||||
214 common brk sys_brk
|
||||
215 common munmap sys_munmap
|
||||
216 common mremap sys_mremap
|
||||
217 common add_key sys_add_key
|
||||
218 common request_key sys_request_key
|
||||
219 common keyctl sys_keyctl compat_sys_keyctl
|
||||
220 common clone sys_clone
|
||||
221 common execve sys_execve compat_sys_execve
|
||||
222 32 mmap2 sys_mmap2
|
||||
222 64 mmap sys_mmap
|
||||
223 32 fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
223 64 fadvise64 sys_fadvise64_64
|
||||
224 common swapon sys_swapon
|
||||
225 common swapoff sys_swapoff
|
||||
226 common mprotect sys_mprotect
|
||||
227 common msync sys_msync
|
||||
228 common mlock sys_mlock
|
||||
229 common munlock sys_munlock
|
||||
230 common mlockall sys_mlockall
|
||||
231 common munlockall sys_munlockall
|
||||
232 common mincore sys_mincore
|
||||
233 common madvise sys_madvise
|
||||
234 common remap_file_pages sys_remap_file_pages
|
||||
235 common mbind sys_mbind
|
||||
236 common get_mempolicy sys_get_mempolicy
|
||||
237 common set_mempolicy sys_set_mempolicy
|
||||
238 common migrate_pages sys_migrate_pages
|
||||
239 common move_pages sys_move_pages
|
||||
240 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
241 common perf_event_open sys_perf_event_open
|
||||
242 common accept4 sys_accept4
|
||||
243 time32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32
|
||||
243 64 recvmmsg sys_recvmmsg
|
||||
# Architectures may provide up to 16 syscalls of their own between 244 and 259
|
||||
244 arc cacheflush sys_cacheflush
|
||||
245 arc arc_settls sys_arc_settls
|
||||
246 arc arc_gettls sys_arc_gettls
|
||||
247 arc sysfs sys_sysfs
|
||||
248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg
|
||||
|
||||
244 csky set_thread_area sys_set_thread_area
|
||||
245 csky cacheflush sys_cacheflush
|
||||
|
||||
244 nios2 cacheflush sys_cacheflush
|
||||
|
||||
244 or1k or1k_atomic sys_or1k_atomic
|
||||
|
||||
258 riscv riscv_hwprobe sys_riscv_hwprobe
|
||||
259 riscv riscv_flush_icache sys_riscv_flush_icache
|
||||
|
||||
260 time32 wait4 sys_wait4 compat_sys_wait4
|
||||
260 64 wait4 sys_wait4
|
||||
261 common prlimit64 sys_prlimit64
|
||||
262 common fanotify_init sys_fanotify_init
|
||||
263 common fanotify_mark sys_fanotify_mark
|
||||
264 common name_to_handle_at sys_name_to_handle_at
|
||||
265 common open_by_handle_at sys_open_by_handle_at
|
||||
266 time32 clock_adjtime sys_clock_adjtime32
|
||||
266 64 clock_adjtime sys_clock_adjtime
|
||||
267 common syncfs sys_syncfs
|
||||
268 common setns sys_setns
|
||||
269 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
|
||||
270 common process_vm_readv sys_process_vm_readv
|
||||
271 common process_vm_writev sys_process_vm_writev
|
||||
272 common kcmp sys_kcmp
|
||||
273 common finit_module sys_finit_module
|
||||
274 common sched_setattr sys_sched_setattr
|
||||
275 common sched_getattr sys_sched_getattr
|
||||
276 common renameat2 sys_renameat2
|
||||
277 common seccomp sys_seccomp
|
||||
278 common getrandom sys_getrandom
|
||||
279 common memfd_create sys_memfd_create
|
||||
280 common bpf sys_bpf
|
||||
281 common execveat sys_execveat compat_sys_execveat
|
||||
282 common userfaultfd sys_userfaultfd
|
||||
283 common membarrier sys_membarrier
|
||||
284 common mlock2 sys_mlock2
|
||||
285 common copy_file_range sys_copy_file_range
|
||||
286 common preadv2 sys_preadv2 compat_sys_preadv2
|
||||
287 common pwritev2 sys_pwritev2 compat_sys_pwritev2
|
||||
288 common pkey_mprotect sys_pkey_mprotect
|
||||
289 common pkey_alloc sys_pkey_alloc
|
||||
290 common pkey_free sys_pkey_free
|
||||
291 common statx sys_statx
|
||||
292 time32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents
|
||||
292 64 io_pgetevents sys_io_pgetevents
|
||||
293 common rseq sys_rseq
|
||||
294 common kexec_file_load sys_kexec_file_load
|
||||
# 295 through 402 are unassigned to sync up with generic numbers don't use
|
||||
403 32 clock_gettime64 sys_clock_gettime
|
||||
404 32 clock_settime64 sys_clock_settime
|
||||
405 32 clock_adjtime64 sys_clock_adjtime
|
||||
406 32 clock_getres_time64 sys_clock_getres
|
||||
407 32 clock_nanosleep_time64 sys_clock_nanosleep
|
||||
408 32 timer_gettime64 sys_timer_gettime
|
||||
409 32 timer_settime64 sys_timer_settime
|
||||
410 32 timerfd_gettime64 sys_timerfd_gettime
|
||||
411 32 timerfd_settime64 sys_timerfd_settime
|
||||
412 32 utimensat_time64 sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive
|
||||
420 32 semtimedop_time64 sys_semtimedop
|
||||
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
|
||||
422 32 futex_time64 sys_futex
|
||||
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
425 common io_uring_setup sys_io_uring_setup
|
||||
426 common io_uring_enter sys_io_uring_enter
|
||||
427 common io_uring_register sys_io_uring_register
|
||||
428 common open_tree sys_open_tree
|
||||
429 common move_mount sys_move_mount
|
||||
430 common fsopen sys_fsopen
|
||||
431 common fsconfig sys_fsconfig
|
||||
432 common fsmount sys_fsmount
|
||||
433 common fspick sys_fspick
|
||||
434 common pidfd_open sys_pidfd_open
|
||||
435 common clone3 sys_clone3
|
||||
436 common close_range sys_close_range
|
||||
437 common openat2 sys_openat2
|
||||
438 common pidfd_getfd sys_pidfd_getfd
|
||||
439 common faccessat2 sys_faccessat2
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 memfd_secret memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
@ -1,308 +0,0 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_RISCV_SYSCALL32_NR_H
|
||||
#define LINUX_USER_RISCV_SYSCALL32_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl64 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs64 43
|
||||
#define TARGET_NR_fstatfs64 44
|
||||
#define TARGET_NR_truncate64 45
|
||||
#define TARGET_NR_ftruncate64 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_llseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile64 71
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_fstatat64 79
|
||||
#define TARGET_NR_fstat64 80
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrlimit 163
|
||||
#define TARGET_NR_setrlimit 164
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap2 222
|
||||
#define TARGET_NR_fadvise64_64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_riscv_flush_icache (TARGET_NR_arch_specific_syscall + 15)
|
||||
#define TARGET_NR_riscv_hwprobe (TARGET_NR_arch_specific_syscall + 14)
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_clock_gettime64 403
|
||||
#define TARGET_NR_clock_settime64 404
|
||||
#define TARGET_NR_clock_adjtime64 405
|
||||
#define TARGET_NR_clock_getres_time64 406
|
||||
#define TARGET_NR_clock_nanosleep_time64 407
|
||||
#define TARGET_NR_timer_gettime64 408
|
||||
#define TARGET_NR_timer_settime64 409
|
||||
#define TARGET_NR_timerfd_gettime64 410
|
||||
#define TARGET_NR_timerfd_settime64 411
|
||||
#define TARGET_NR_utimensat_time64 412
|
||||
#define TARGET_NR_pselect6_time64 413
|
||||
#define TARGET_NR_ppoll_time64 414
|
||||
#define TARGET_NR_io_pgetevents_time64 416
|
||||
#define TARGET_NR_recvmmsg_time64 417
|
||||
#define TARGET_NR_mq_timedsend_time64 418
|
||||
#define TARGET_NR_mq_timedreceive_time64 419
|
||||
#define TARGET_NR_semtimedop_time64 420
|
||||
#define TARGET_NR_rt_sigtimedwait_time64 421
|
||||
#define TARGET_NR_futex_time64 422
|
||||
#define TARGET_NR_sched_rr_get_interval_time64 423
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_clone3 435
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_syscalls 447
|
||||
|
||||
#endif /* LINUX_USER_RISCV_SYSCALL32_NR_H */
|
@ -1,314 +0,0 @@
|
||||
/*
|
||||
* This file contains the system call numbers.
|
||||
* Do not modify.
|
||||
* This file is generated by scripts/gensyscalls.sh
|
||||
*/
|
||||
#ifndef LINUX_USER_RISCV_SYSCALL64_NR_H
|
||||
#define LINUX_USER_RISCV_SYSCALL64_NR_H
|
||||
|
||||
#define TARGET_NR_io_setup 0
|
||||
#define TARGET_NR_io_destroy 1
|
||||
#define TARGET_NR_io_submit 2
|
||||
#define TARGET_NR_io_cancel 3
|
||||
#define TARGET_NR_io_getevents 4
|
||||
#define TARGET_NR_setxattr 5
|
||||
#define TARGET_NR_lsetxattr 6
|
||||
#define TARGET_NR_fsetxattr 7
|
||||
#define TARGET_NR_getxattr 8
|
||||
#define TARGET_NR_lgetxattr 9
|
||||
#define TARGET_NR_fgetxattr 10
|
||||
#define TARGET_NR_listxattr 11
|
||||
#define TARGET_NR_llistxattr 12
|
||||
#define TARGET_NR_flistxattr 13
|
||||
#define TARGET_NR_removexattr 14
|
||||
#define TARGET_NR_lremovexattr 15
|
||||
#define TARGET_NR_fremovexattr 16
|
||||
#define TARGET_NR_getcwd 17
|
||||
#define TARGET_NR_lookup_dcookie 18
|
||||
#define TARGET_NR_eventfd2 19
|
||||
#define TARGET_NR_epoll_create1 20
|
||||
#define TARGET_NR_epoll_ctl 21
|
||||
#define TARGET_NR_epoll_pwait 22
|
||||
#define TARGET_NR_dup 23
|
||||
#define TARGET_NR_dup3 24
|
||||
#define TARGET_NR_fcntl 25
|
||||
#define TARGET_NR_inotify_init1 26
|
||||
#define TARGET_NR_inotify_add_watch 27
|
||||
#define TARGET_NR_inotify_rm_watch 28
|
||||
#define TARGET_NR_ioctl 29
|
||||
#define TARGET_NR_ioprio_set 30
|
||||
#define TARGET_NR_ioprio_get 31
|
||||
#define TARGET_NR_flock 32
|
||||
#define TARGET_NR_mknodat 33
|
||||
#define TARGET_NR_mkdirat 34
|
||||
#define TARGET_NR_unlinkat 35
|
||||
#define TARGET_NR_symlinkat 36
|
||||
#define TARGET_NR_linkat 37
|
||||
#define TARGET_NR_umount2 39
|
||||
#define TARGET_NR_mount 40
|
||||
#define TARGET_NR_pivot_root 41
|
||||
#define TARGET_NR_nfsservctl 42
|
||||
#define TARGET_NR_statfs 43
|
||||
#define TARGET_NR_fstatfs 44
|
||||
#define TARGET_NR_truncate 45
|
||||
#define TARGET_NR_ftruncate 46
|
||||
#define TARGET_NR_fallocate 47
|
||||
#define TARGET_NR_faccessat 48
|
||||
#define TARGET_NR_chdir 49
|
||||
#define TARGET_NR_fchdir 50
|
||||
#define TARGET_NR_chroot 51
|
||||
#define TARGET_NR_fchmod 52
|
||||
#define TARGET_NR_fchmodat 53
|
||||
#define TARGET_NR_fchownat 54
|
||||
#define TARGET_NR_fchown 55
|
||||
#define TARGET_NR_openat 56
|
||||
#define TARGET_NR_close 57
|
||||
#define TARGET_NR_vhangup 58
|
||||
#define TARGET_NR_pipe2 59
|
||||
#define TARGET_NR_quotactl 60
|
||||
#define TARGET_NR_getdents64 61
|
||||
#define TARGET_NR_lseek 62
|
||||
#define TARGET_NR_read 63
|
||||
#define TARGET_NR_write 64
|
||||
#define TARGET_NR_readv 65
|
||||
#define TARGET_NR_writev 66
|
||||
#define TARGET_NR_pread64 67
|
||||
#define TARGET_NR_pwrite64 68
|
||||
#define TARGET_NR_preadv 69
|
||||
#define TARGET_NR_pwritev 70
|
||||
#define TARGET_NR_sendfile 71
|
||||
#define TARGET_NR_pselect6 72
|
||||
#define TARGET_NR_ppoll 73
|
||||
#define TARGET_NR_signalfd4 74
|
||||
#define TARGET_NR_vmsplice 75
|
||||
#define TARGET_NR_splice 76
|
||||
#define TARGET_NR_tee 77
|
||||
#define TARGET_NR_readlinkat 78
|
||||
#define TARGET_NR_newfstatat 79
|
||||
#define TARGET_NR_fstat 80
|
||||
#define TARGET_NR_sync 81
|
||||
#define TARGET_NR_fsync 82
|
||||
#define TARGET_NR_fdatasync 83
|
||||
#define TARGET_NR_sync_file_range 84
|
||||
#define TARGET_NR_timerfd_create 85
|
||||
#define TARGET_NR_timerfd_settime 86
|
||||
#define TARGET_NR_timerfd_gettime 87
|
||||
#define TARGET_NR_utimensat 88
|
||||
#define TARGET_NR_acct 89
|
||||
#define TARGET_NR_capget 90
|
||||
#define TARGET_NR_capset 91
|
||||
#define TARGET_NR_personality 92
|
||||
#define TARGET_NR_exit 93
|
||||
#define TARGET_NR_exit_group 94
|
||||
#define TARGET_NR_waitid 95
|
||||
#define TARGET_NR_set_tid_address 96
|
||||
#define TARGET_NR_unshare 97
|
||||
#define TARGET_NR_futex 98
|
||||
#define TARGET_NR_set_robust_list 99
|
||||
#define TARGET_NR_get_robust_list 100
|
||||
#define TARGET_NR_nanosleep 101
|
||||
#define TARGET_NR_getitimer 102
|
||||
#define TARGET_NR_setitimer 103
|
||||
#define TARGET_NR_kexec_load 104
|
||||
#define TARGET_NR_init_module 105
|
||||
#define TARGET_NR_delete_module 106
|
||||
#define TARGET_NR_timer_create 107
|
||||
#define TARGET_NR_timer_gettime 108
|
||||
#define TARGET_NR_timer_getoverrun 109
|
||||
#define TARGET_NR_timer_settime 110
|
||||
#define TARGET_NR_timer_delete 111
|
||||
#define TARGET_NR_clock_settime 112
|
||||
#define TARGET_NR_clock_gettime 113
|
||||
#define TARGET_NR_clock_getres 114
|
||||
#define TARGET_NR_clock_nanosleep 115
|
||||
#define TARGET_NR_syslog 116
|
||||
#define TARGET_NR_ptrace 117
|
||||
#define TARGET_NR_sched_setparam 118
|
||||
#define TARGET_NR_sched_setscheduler 119
|
||||
#define TARGET_NR_sched_getscheduler 120
|
||||
#define TARGET_NR_sched_getparam 121
|
||||
#define TARGET_NR_sched_setaffinity 122
|
||||
#define TARGET_NR_sched_getaffinity 123
|
||||
#define TARGET_NR_sched_yield 124
|
||||
#define TARGET_NR_sched_get_priority_max 125
|
||||
#define TARGET_NR_sched_get_priority_min 126
|
||||
#define TARGET_NR_sched_rr_get_interval 127
|
||||
#define TARGET_NR_restart_syscall 128
|
||||
#define TARGET_NR_kill 129
|
||||
#define TARGET_NR_tkill 130
|
||||
#define TARGET_NR_tgkill 131
|
||||
#define TARGET_NR_sigaltstack 132
|
||||
#define TARGET_NR_rt_sigsuspend 133
|
||||
#define TARGET_NR_rt_sigaction 134
|
||||
#define TARGET_NR_rt_sigprocmask 135
|
||||
#define TARGET_NR_rt_sigpending 136
|
||||
#define TARGET_NR_rt_sigtimedwait 137
|
||||
#define TARGET_NR_rt_sigqueueinfo 138
|
||||
#define TARGET_NR_rt_sigreturn 139
|
||||
#define TARGET_NR_setpriority 140
|
||||
#define TARGET_NR_getpriority 141
|
||||
#define TARGET_NR_reboot 142
|
||||
#define TARGET_NR_setregid 143
|
||||
#define TARGET_NR_setgid 144
|
||||
#define TARGET_NR_setreuid 145
|
||||
#define TARGET_NR_setuid 146
|
||||
#define TARGET_NR_setresuid 147
|
||||
#define TARGET_NR_getresuid 148
|
||||
#define TARGET_NR_setresgid 149
|
||||
#define TARGET_NR_getresgid 150
|
||||
#define TARGET_NR_setfsuid 151
|
||||
#define TARGET_NR_setfsgid 152
|
||||
#define TARGET_NR_times 153
|
||||
#define TARGET_NR_setpgid 154
|
||||
#define TARGET_NR_getpgid 155
|
||||
#define TARGET_NR_getsid 156
|
||||
#define TARGET_NR_setsid 157
|
||||
#define TARGET_NR_getgroups 158
|
||||
#define TARGET_NR_setgroups 159
|
||||
#define TARGET_NR_uname 160
|
||||
#define TARGET_NR_sethostname 161
|
||||
#define TARGET_NR_setdomainname 162
|
||||
#define TARGET_NR_getrlimit 163
|
||||
#define TARGET_NR_setrlimit 164
|
||||
#define TARGET_NR_getrusage 165
|
||||
#define TARGET_NR_umask 166
|
||||
#define TARGET_NR_prctl 167
|
||||
#define TARGET_NR_getcpu 168
|
||||
#define TARGET_NR_gettimeofday 169
|
||||
#define TARGET_NR_settimeofday 170
|
||||
#define TARGET_NR_adjtimex 171
|
||||
#define TARGET_NR_getpid 172
|
||||
#define TARGET_NR_getppid 173
|
||||
#define TARGET_NR_getuid 174
|
||||
#define TARGET_NR_geteuid 175
|
||||
#define TARGET_NR_getgid 176
|
||||
#define TARGET_NR_getegid 177
|
||||
#define TARGET_NR_gettid 178
|
||||
#define TARGET_NR_sysinfo 179
|
||||
#define TARGET_NR_mq_open 180
|
||||
#define TARGET_NR_mq_unlink 181
|
||||
#define TARGET_NR_mq_timedsend 182
|
||||
#define TARGET_NR_mq_timedreceive 183
|
||||
#define TARGET_NR_mq_notify 184
|
||||
#define TARGET_NR_mq_getsetattr 185
|
||||
#define TARGET_NR_msgget 186
|
||||
#define TARGET_NR_msgctl 187
|
||||
#define TARGET_NR_msgrcv 188
|
||||
#define TARGET_NR_msgsnd 189
|
||||
#define TARGET_NR_semget 190
|
||||
#define TARGET_NR_semctl 191
|
||||
#define TARGET_NR_semtimedop 192
|
||||
#define TARGET_NR_semop 193
|
||||
#define TARGET_NR_shmget 194
|
||||
#define TARGET_NR_shmctl 195
|
||||
#define TARGET_NR_shmat 196
|
||||
#define TARGET_NR_shmdt 197
|
||||
#define TARGET_NR_socket 198
|
||||
#define TARGET_NR_socketpair 199
|
||||
#define TARGET_NR_bind 200
|
||||
#define TARGET_NR_listen 201
|
||||
#define TARGET_NR_accept 202
|
||||
#define TARGET_NR_connect 203
|
||||
#define TARGET_NR_getsockname 204
|
||||
#define TARGET_NR_getpeername 205
|
||||
#define TARGET_NR_sendto 206
|
||||
#define TARGET_NR_recvfrom 207
|
||||
#define TARGET_NR_setsockopt 208
|
||||
#define TARGET_NR_getsockopt 209
|
||||
#define TARGET_NR_shutdown 210
|
||||
#define TARGET_NR_sendmsg 211
|
||||
#define TARGET_NR_recvmsg 212
|
||||
#define TARGET_NR_readahead 213
|
||||
#define TARGET_NR_brk 214
|
||||
#define TARGET_NR_munmap 215
|
||||
#define TARGET_NR_mremap 216
|
||||
#define TARGET_NR_add_key 217
|
||||
#define TARGET_NR_request_key 218
|
||||
#define TARGET_NR_keyctl 219
|
||||
#define TARGET_NR_clone 220
|
||||
#define TARGET_NR_execve 221
|
||||
#define TARGET_NR_mmap 222
|
||||
#define TARGET_NR_fadvise64 223
|
||||
#define TARGET_NR_swapon 224
|
||||
#define TARGET_NR_swapoff 225
|
||||
#define TARGET_NR_mprotect 226
|
||||
#define TARGET_NR_msync 227
|
||||
#define TARGET_NR_mlock 228
|
||||
#define TARGET_NR_munlock 229
|
||||
#define TARGET_NR_mlockall 230
|
||||
#define TARGET_NR_munlockall 231
|
||||
#define TARGET_NR_mincore 232
|
||||
#define TARGET_NR_madvise 233
|
||||
#define TARGET_NR_remap_file_pages 234
|
||||
#define TARGET_NR_mbind 235
|
||||
#define TARGET_NR_get_mempolicy 236
|
||||
#define TARGET_NR_set_mempolicy 237
|
||||
#define TARGET_NR_migrate_pages 238
|
||||
#define TARGET_NR_move_pages 239
|
||||
#define TARGET_NR_rt_tgsigqueueinfo 240
|
||||
#define TARGET_NR_perf_event_open 241
|
||||
#define TARGET_NR_accept4 242
|
||||
#define TARGET_NR_recvmmsg 243
|
||||
#define TARGET_NR_arch_specific_syscall 244
|
||||
#define TARGET_NR_riscv_flush_icache (TARGET_NR_arch_specific_syscall + 15)
|
||||
#define TARGET_NR_riscv_hwprobe (TARGET_NR_arch_specific_syscall + 14)
|
||||
#define TARGET_NR_wait4 260
|
||||
#define TARGET_NR_prlimit64 261
|
||||
#define TARGET_NR_fanotify_init 262
|
||||
#define TARGET_NR_fanotify_mark 263
|
||||
#define TARGET_NR_name_to_handle_at 264
|
||||
#define TARGET_NR_open_by_handle_at 265
|
||||
#define TARGET_NR_clock_adjtime 266
|
||||
#define TARGET_NR_syncfs 267
|
||||
#define TARGET_NR_setns 268
|
||||
#define TARGET_NR_sendmmsg 269
|
||||
#define TARGET_NR_process_vm_readv 270
|
||||
#define TARGET_NR_process_vm_writev 271
|
||||
#define TARGET_NR_kcmp 272
|
||||
#define TARGET_NR_finit_module 273
|
||||
#define TARGET_NR_sched_setattr 274
|
||||
#define TARGET_NR_sched_getattr 275
|
||||
#define TARGET_NR_renameat2 276
|
||||
#define TARGET_NR_seccomp 277
|
||||
#define TARGET_NR_getrandom 278
|
||||
#define TARGET_NR_memfd_create 279
|
||||
#define TARGET_NR_bpf 280
|
||||
#define TARGET_NR_execveat 281
|
||||
#define TARGET_NR_userfaultfd 282
|
||||
#define TARGET_NR_membarrier 283
|
||||
#define TARGET_NR_mlock2 284
|
||||
#define TARGET_NR_copy_file_range 285
|
||||
#define TARGET_NR_preadv2 286
|
||||
#define TARGET_NR_pwritev2 287
|
||||
#define TARGET_NR_pkey_mprotect 288
|
||||
#define TARGET_NR_pkey_alloc 289
|
||||
#define TARGET_NR_pkey_free 290
|
||||
#define TARGET_NR_statx 291
|
||||
#define TARGET_NR_io_pgetevents 292
|
||||
#define TARGET_NR_rseq 293
|
||||
#define TARGET_NR_kexec_file_load 294
|
||||
#define TARGET_NR_pidfd_send_signal 424
|
||||
#define TARGET_NR_io_uring_setup 425
|
||||
#define TARGET_NR_io_uring_enter 426
|
||||
#define TARGET_NR_io_uring_register 427
|
||||
#define TARGET_NR_open_tree 428
|
||||
#define TARGET_NR_move_mount 429
|
||||
#define TARGET_NR_fsopen 430
|
||||
#define TARGET_NR_fsconfig 431
|
||||
#define TARGET_NR_fsmount 432
|
||||
#define TARGET_NR_fspick 433
|
||||
#define TARGET_NR_pidfd_open 434
|
||||
#define TARGET_NR_clone3 435
|
||||
#define TARGET_NR_close_range 436
|
||||
#define TARGET_NR_openat2 437
|
||||
#define TARGET_NR_pidfd_getfd 438
|
||||
#define TARGET_NR_faccessat2 439
|
||||
#define TARGET_NR_process_madvise 440
|
||||
#define TARGET_NR_epoll_pwait2 441
|
||||
#define TARGET_NR_mount_setattr 442
|
||||
#define TARGET_NR_landlock_create_ruleset 444
|
||||
#define TARGET_NR_landlock_add_rule 445
|
||||
#define TARGET_NR_landlock_restrict_self 446
|
||||
#define TARGET_NR_syscalls 447
|
||||
|
||||
#endif /* LINUX_USER_RISCV_SYSCALL64_NR_H */
|
@ -1,15 +0,0 @@
|
||||
/*
|
||||
* Syscall numbers from asm-generic, common for most
|
||||
* of recently-added arches including RISC-V.
|
||||
*/
|
||||
|
||||
#ifndef LINUX_USER_RISCV_SYSCALL_NR_H
|
||||
#define LINUX_USER_RISCV_SYSCALL_NR_H
|
||||
|
||||
#ifdef TARGET_RISCV32
|
||||
# include "syscall32_nr.h"
|
||||
#else
|
||||
# include "syscall64_nr.h"
|
||||
#endif
|
||||
|
||||
#endif
|
28
linux-user/riscv/syscallhdr.sh
Normal file
28
linux-user/riscv/syscallhdr.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=LINUX_USER_X86_64_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry compat ; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define TARGET_NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
@ -100,7 +100,7 @@
|
||||
106 common stat sys_newstat compat_sys_newstat
|
||||
107 common lstat sys_newlstat compat_sys_newlstat
|
||||
108 common fstat sys_newfstat compat_sys_newfstat
|
||||
110 common lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
110 common lookup_dcookie - -
|
||||
111 common vhangup sys_vhangup sys_vhangup
|
||||
112 common idle - -
|
||||
114 common wait4 sys_wait4 compat_sys_wait4
|
||||
@ -122,7 +122,7 @@
|
||||
131 common quotactl sys_quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall sys_ni_syscall
|
||||
135 common sysfs sys_sysfs sys_sysfs
|
||||
136 common personality sys_s390_personality sys_s390_personality
|
||||
137 common afs_syscall - -
|
||||
@ -274,9 +274,9 @@
|
||||
265 common statfs64 sys_statfs64 compat_sys_statfs64
|
||||
266 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
|
||||
267 common remap_file_pages sys_remap_file_pages sys_remap_file_pages
|
||||
268 common mbind sys_mbind compat_sys_mbind
|
||||
269 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
270 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy
|
||||
268 common mbind sys_mbind sys_mbind
|
||||
269 common get_mempolicy sys_get_mempolicy sys_get_mempolicy
|
||||
270 common set_mempolicy sys_set_mempolicy sys_set_mempolicy
|
||||
271 common mq_open sys_mq_open compat_sys_mq_open
|
||||
272 common mq_unlink sys_mq_unlink sys_mq_unlink
|
||||
273 common mq_timedsend sys_mq_timedsend sys_mq_timedsend_time32
|
||||
@ -293,7 +293,7 @@
|
||||
284 common inotify_init sys_inotify_init sys_inotify_init
|
||||
285 common inotify_add_watch sys_inotify_add_watch sys_inotify_add_watch
|
||||
286 common inotify_rm_watch sys_inotify_rm_watch sys_inotify_rm_watch
|
||||
287 common migrate_pages sys_migrate_pages compat_sys_migrate_pages
|
||||
287 common migrate_pages sys_migrate_pages sys_migrate_pages
|
||||
288 common openat sys_openat compat_sys_openat
|
||||
289 common mkdirat sys_mkdirat sys_mkdirat
|
||||
290 common mknodat sys_mknodat sys_mknodat
|
||||
@ -317,7 +317,7 @@
|
||||
307 common sync_file_range sys_sync_file_range compat_sys_s390_sync_file_range
|
||||
308 common tee sys_tee sys_tee
|
||||
309 common vmsplice sys_vmsplice sys_vmsplice
|
||||
310 common move_pages sys_move_pages compat_sys_move_pages
|
||||
310 common move_pages sys_move_pages sys_move_pages
|
||||
311 common getcpu sys_getcpu sys_getcpu
|
||||
312 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
313 common utimes sys_utimes sys_utimes_time32
|
||||
@ -418,7 +418,7 @@
|
||||
412 32 utimensat_time64 - sys_utimensat
|
||||
413 32 pselect6_time64 - compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 - compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 - sys_io_pgetevents
|
||||
416 32 io_pgetevents_time64 - compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 - compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 - sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 - sys_mq_timedreceive
|
||||
@ -445,7 +445,23 @@
|
||||
440 common process_madvise sys_process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self sys_landlock_restrict_self
|
||||
447 common memfd_secret sys_memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount sys_statmount
|
||||
458 common listmount sys_listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal sys_mseal
|
||||
|
@ -141,7 +141,7 @@
|
||||
131 common quotactl sys_quotactl
|
||||
132 common getpgid sys_getpgid
|
||||
133 common fchdir sys_fchdir
|
||||
134 common bdflush sys_bdflush
|
||||
134 common bdflush sys_ni_syscall
|
||||
135 common sysfs sys_sysfs
|
||||
136 common personality sys_personality
|
||||
# 137 was afs_syscall
|
||||
@ -260,7 +260,7 @@
|
||||
250 common fadvise64 sys_fadvise64
|
||||
# 251 is unused
|
||||
252 common exit_group sys_exit_group
|
||||
253 common lookup_dcookie sys_lookup_dcookie
|
||||
253 common lookup_dcookie sys_ni_syscall
|
||||
254 common epoll_create sys_epoll_create
|
||||
255 common epoll_ctl sys_epoll_ctl
|
||||
256 common epoll_wait sys_epoll_wait
|
||||
@ -321,7 +321,7 @@
|
||||
311 common set_robust_list sys_set_robust_list
|
||||
312 common get_robust_list sys_get_robust_list
|
||||
313 common splice sys_splice
|
||||
314 common sync_file_range sys_sync_file_range
|
||||
314 common sync_file_range sys_sh_sync_file_range6
|
||||
315 common tee sys_tee
|
||||
316 common vmsplice sys_vmsplice
|
||||
317 common move_pages sys_move_pages
|
||||
@ -395,6 +395,7 @@
|
||||
385 common pkey_alloc sys_pkey_alloc
|
||||
386 common pkey_free sys_pkey_free
|
||||
387 common rseq sys_rseq
|
||||
388 common sync_file_range2 sys_sync_file_range2
|
||||
# room for arch specific syscalls
|
||||
393 common semget sys_semget
|
||||
394 common semctl sys_semctl
|
||||
@ -445,7 +446,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -117,7 +117,7 @@
|
||||
90 common dup2 sys_dup2
|
||||
91 32 setfsuid32 sys_setfsuid
|
||||
92 common fcntl sys_fcntl compat_sys_fcntl
|
||||
93 common select sys_select
|
||||
93 common select sys_select compat_sys_select
|
||||
94 32 setfsgid32 sys_setfsgid
|
||||
95 common fsync sys_fsync
|
||||
96 common setpriority sys_setpriority
|
||||
@ -155,7 +155,7 @@
|
||||
123 32 fchown sys_fchown16
|
||||
123 64 fchown sys_fchown
|
||||
124 common fchmod sys_fchmod
|
||||
125 common recvfrom sys_recvfrom
|
||||
125 common recvfrom sys_recvfrom compat_sys_recvfrom
|
||||
126 32 setreuid sys_setreuid16
|
||||
126 64 setreuid sys_setreuid
|
||||
127 32 setregid sys_setregid16
|
||||
@ -247,9 +247,9 @@
|
||||
204 32 readdir sys_old_readdir compat_sys_old_readdir
|
||||
204 64 readdir sys_nis_syscall
|
||||
205 common readahead sys_readahead compat_sys_readahead
|
||||
206 common socketcall sys_socketcall sys32_socketcall
|
||||
206 common socketcall sys_socketcall compat_sys_socketcall
|
||||
207 common syslog sys_syslog
|
||||
208 common lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
208 common lookup_dcookie sys_ni_syscall
|
||||
209 common fadvise64 sys_fadvise64 compat_sys_fadvise64
|
||||
210 common fadvise64_64 sys_fadvise64_64 compat_sys_fadvise64_64
|
||||
211 common tgkill sys_tgkill
|
||||
@ -270,7 +270,7 @@
|
||||
222 common delete_module sys_delete_module
|
||||
223 common get_kernel_syms sys_ni_syscall
|
||||
224 common getpgid sys_getpgid
|
||||
225 common bdflush sys_bdflush
|
||||
225 common bdflush sys_ni_syscall
|
||||
226 common sysfs sys_sysfs
|
||||
227 common afs_syscall sys_nis_syscall
|
||||
228 common setfsuid sys_setfsuid16
|
||||
@ -365,12 +365,12 @@
|
||||
299 common unshare sys_unshare
|
||||
300 common set_robust_list sys_set_robust_list compat_sys_set_robust_list
|
||||
301 common get_robust_list sys_get_robust_list compat_sys_get_robust_list
|
||||
302 common migrate_pages sys_migrate_pages compat_sys_migrate_pages
|
||||
303 common mbind sys_mbind compat_sys_mbind
|
||||
304 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
|
||||
305 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy
|
||||
302 common migrate_pages sys_migrate_pages
|
||||
303 common mbind sys_mbind
|
||||
304 common get_mempolicy sys_get_mempolicy
|
||||
305 common set_mempolicy sys_set_mempolicy
|
||||
306 common kexec_load sys_kexec_load compat_sys_kexec_load
|
||||
307 common move_pages sys_move_pages compat_sys_move_pages
|
||||
307 common move_pages sys_move_pages
|
||||
308 common getcpu sys_getcpu
|
||||
309 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
|
||||
310 32 utimensat sys_utimensat_time32
|
||||
@ -461,7 +461,7 @@
|
||||
412 32 utimensat_time64 sys_utimensat sys_utimensat
|
||||
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
|
||||
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
|
||||
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
|
||||
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
|
||||
418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
|
||||
419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
|
||||
@ -488,7 +488,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -1975,7 +1975,7 @@ struct target_stat64 {
|
||||
};
|
||||
|
||||
#elif defined(TARGET_OPENRISC) \
|
||||
|| defined(TARGET_RISCV) || defined(TARGET_HEXAGON)
|
||||
|| defined(TARGET_RISCV) || defined(TARGET_HEXAGON) || defined(TARGET_LOONGARCH)
|
||||
|
||||
/* These are the asm-generic versions of the stat and stat64 structures */
|
||||
|
||||
@ -2085,11 +2085,6 @@ struct target_stat64 {
|
||||
abi_uint target_st_ctime_nsec;
|
||||
abi_ullong st_ino;
|
||||
};
|
||||
|
||||
#elif defined(TARGET_LOONGARCH64)
|
||||
|
||||
/* LoongArch no newfstatat/fstat syscall. */
|
||||
|
||||
#else
|
||||
#error unsupported CPU
|
||||
#endif
|
||||
|
@ -1,8 +1,9 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
#
|
||||
# 64-bit system call numbers and entry vectors
|
||||
#
|
||||
# The format is:
|
||||
# <number> <abi> <name> <entry point>
|
||||
# <number> <abi> <name> <entry point> [<compat entry point> [noreturn]]
|
||||
#
|
||||
# The __x64_sys_*() stubs are created on-the-fly for sys_*() system calls
|
||||
#
|
||||
@ -68,7 +69,7 @@
|
||||
57 common fork sys_fork
|
||||
58 common vfork sys_vfork
|
||||
59 64 execve sys_execve
|
||||
60 common exit sys_exit
|
||||
60 common exit sys_exit - noreturn
|
||||
61 common wait4 sys_wait4
|
||||
62 common kill sys_kill
|
||||
63 common uname sys_newuname
|
||||
@ -220,7 +221,7 @@
|
||||
209 64 io_submit sys_io_submit
|
||||
210 common io_cancel sys_io_cancel
|
||||
211 64 get_thread_area
|
||||
212 common lookup_dcookie sys_lookup_dcookie
|
||||
212 common lookup_dcookie
|
||||
213 common epoll_create sys_epoll_create
|
||||
214 64 epoll_ctl_old
|
||||
215 64 epoll_wait_old
|
||||
@ -239,7 +240,7 @@
|
||||
228 common clock_gettime sys_clock_gettime
|
||||
229 common clock_getres sys_clock_getres
|
||||
230 common clock_nanosleep sys_clock_nanosleep
|
||||
231 common exit_group sys_exit_group
|
||||
231 common exit_group sys_exit_group - noreturn
|
||||
232 common epoll_wait sys_epoll_wait
|
||||
233 common epoll_ctl sys_epoll_ctl
|
||||
234 common tgkill sys_tgkill
|
||||
@ -343,6 +344,7 @@
|
||||
332 common statx sys_statx
|
||||
333 common io_pgetevents sys_io_pgetevents
|
||||
334 common rseq sys_rseq
|
||||
335 common uretprobe sys_uretprobe
|
||||
# don't use numbers 387 through 423, add new calls after the last
|
||||
# 'common' entry
|
||||
424 common pidfd_send_signal sys_pidfd_send_signal
|
||||
@ -364,10 +366,26 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
447 common memfd_secret sys_memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
||||
#
|
||||
# Due to a historical design error, certain syscalls are numbered differently
|
||||
@ -396,7 +414,7 @@
|
||||
530 x32 set_robust_list compat_sys_set_robust_list
|
||||
531 x32 get_robust_list compat_sys_get_robust_list
|
||||
532 x32 vmsplice sys_vmsplice
|
||||
533 x32 move_pages compat_sys_move_pages
|
||||
533 x32 move_pages sys_move_pages
|
||||
534 x32 preadv compat_sys_preadv64
|
||||
535 x32 pwritev compat_sys_pwritev64
|
||||
536 x32 rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
|
||||
|
@ -223,7 +223,7 @@
|
||||
# 205 was old nfsservctl
|
||||
205 common nfsservctl sys_ni_syscall
|
||||
206 common _sysctl sys_ni_syscall
|
||||
207 common bdflush sys_bdflush
|
||||
207 common bdflush sys_ni_syscall
|
||||
208 common uname sys_newuname
|
||||
209 common sysinfo sys_sysinfo
|
||||
210 common init_module sys_init_module
|
||||
@ -273,7 +273,7 @@
|
||||
252 common timer_getoverrun sys_timer_getoverrun
|
||||
# System
|
||||
253 common reserved253 sys_ni_syscall
|
||||
254 common lookup_dcookie sys_lookup_dcookie
|
||||
254 common lookup_dcookie sys_ni_syscall
|
||||
255 common available255 sys_ni_syscall
|
||||
256 common add_key sys_add_key
|
||||
257 common request_key sys_request_key
|
||||
@ -413,7 +413,23 @@
|
||||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
# 443 reserved for quotactl_path
|
||||
443 common quotactl_fd sys_quotactl_fd
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
# 447 reserved for memfd_secret
|
||||
448 common process_mrelease sys_process_mrelease
|
||||
449 common futex_waitv sys_futex_waitv
|
||||
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
|
||||
451 common cachestat sys_cachestat
|
||||
452 common fchmodat2 sys_fchmodat2
|
||||
453 common map_shadow_stack sys_map_shadow_stack
|
||||
454 common futex_wake sys_futex_wake
|
||||
455 common futex_wait sys_futex_wait
|
||||
456 common futex_requeue sys_futex_requeue
|
||||
457 common statmount sys_statmount
|
||||
458 common listmount sys_listmount
|
||||
459 common lsm_get_self_attr sys_lsm_get_self_attr
|
||||
460 common lsm_set_self_attr sys_lsm_set_self_attr
|
||||
461 common lsm_list_modules sys_lsm_list_modules
|
||||
462 common mseal sys_mseal
|
||||
|
@ -1,103 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Update syscall_nr.h files from linux headers asm-generic/unistd.h
|
||||
#
|
||||
# This code is licensed under the GPL version 2 or later. See
|
||||
# the COPYING file in the top-level directory.
|
||||
#
|
||||
|
||||
linux="$1"
|
||||
output="$2"
|
||||
|
||||
TMP=$(mktemp -d)
|
||||
|
||||
if [ "$linux" = "" ] ; then
|
||||
echo "Needs path to linux source tree" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$output" = "" ] ; then
|
||||
output="$PWD"
|
||||
fi
|
||||
|
||||
upper()
|
||||
{
|
||||
echo "$1" | tr "[:lower:]" "[:upper:]" | tr "[:punct:]" "_"
|
||||
}
|
||||
|
||||
qemu_arch()
|
||||
{
|
||||
case "$1" in
|
||||
arm64)
|
||||
echo "aarch64"
|
||||
;;
|
||||
*)
|
||||
echo "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
read_includes()
|
||||
{
|
||||
arch=$1
|
||||
bits=$2
|
||||
|
||||
cpp -P -nostdinc -fdirectives-only \
|
||||
-D_UAPI_ASM_$(upper ${arch})_BITSPERLONG_H \
|
||||
-D__ASM_$(upper ${arch})_BITSPERLONG_H \
|
||||
-D__BITS_PER_LONG=${bits} \
|
||||
-I${linux}/arch/${arch}/include/uapi/ \
|
||||
-I${linux}/include/uapi \
|
||||
-I${TMP} \
|
||||
"${linux}/arch/${arch}/include/uapi/asm/unistd.h"
|
||||
}
|
||||
|
||||
filter_defines()
|
||||
{
|
||||
grep -e "#define __NR_" -e "#define __NR3264"
|
||||
}
|
||||
|
||||
rename_defines()
|
||||
{
|
||||
sed "s/ __NR_/ TARGET_NR_/g;s/(__NR_/(TARGET_NR_/g"
|
||||
}
|
||||
|
||||
evaluate_values()
|
||||
{
|
||||
sed "s/#define TARGET_NR_/QEMU TARGET_NR_/" | \
|
||||
cpp -P -nostdinc | \
|
||||
sed "s/^QEMU /#define /"
|
||||
}
|
||||
|
||||
generate_syscall_nr()
|
||||
{
|
||||
arch=$1
|
||||
bits=$2
|
||||
file="$3"
|
||||
guard="$(upper LINUX_USER_$(qemu_arch $arch)_$(basename "$file"))"
|
||||
|
||||
(echo "/*"
|
||||
echo " * This file contains the system call numbers."
|
||||
echo " * Do not modify."
|
||||
echo " * This file is generated by scripts/gensyscalls.sh"
|
||||
echo " */"
|
||||
echo "#ifndef ${guard}"
|
||||
echo "#define ${guard}"
|
||||
echo
|
||||
read_includes $arch $bits | filter_defines | rename_defines | \
|
||||
evaluate_values | sort -n -k 3
|
||||
echo
|
||||
echo "#endif /* ${guard} */") > "$file"
|
||||
}
|
||||
|
||||
mkdir "$TMP/asm"
|
||||
> "$TMP/asm/bitsperlong.h"
|
||||
|
||||
generate_syscall_nr arm64 64 "$output/linux-user/aarch64/syscall_nr.h"
|
||||
generate_syscall_nr openrisc 32 "$output/linux-user/openrisc/syscall_nr.h"
|
||||
|
||||
generate_syscall_nr riscv 32 "$output/linux-user/riscv/syscall32_nr.h"
|
||||
generate_syscall_nr riscv 64 "$output/linux-user/riscv/syscall64_nr.h"
|
||||
generate_syscall_nr hexagon 32 "$output/linux-user/hexagon/syscall_nr.h"
|
||||
generate_syscall_nr loongarch 64 "$output/linux-user/loongarch64/syscall_nr.h"
|
||||
rm -fr "$TMP"
|
@ -1,13 +1,18 @@
|
||||
TBL_LIST="\
|
||||
arch/alpha/kernel/syscalls/syscall.tbl,linux-user/alpha/syscall.tbl \
|
||||
arch/arm/tools/syscall.tbl,linux-user/arm/syscall.tbl \
|
||||
scripts/syscall.tbl,linux-user/aarch64/syscall_64.tbl \
|
||||
scripts/syscall.tbl,linux-user/hexagon/syscall.tbl \
|
||||
scripts/syscall.tbl,linux-user/loongarch64/syscall.tbl \
|
||||
arch/m68k/kernel/syscalls/syscall.tbl,linux-user/m68k/syscall.tbl \
|
||||
arch/microblaze/kernel/syscalls/syscall.tbl,linux-user/microblaze/syscall.tbl \
|
||||
arch/mips/kernel/syscalls/syscall_n32.tbl,linux-user/mips64/syscall_n32.tbl \
|
||||
arch/mips/kernel/syscalls/syscall_n64.tbl,linux-user/mips64/syscall_n64.tbl \
|
||||
arch/mips/kernel/syscalls/syscall_o32.tbl,linux-user/mips/syscall_o32.tbl \
|
||||
scripts/syscall.tbl,linux-user/openrisc/syscall.tbl \
|
||||
arch/parisc/kernel/syscalls/syscall.tbl,linux-user/hppa/syscall.tbl \
|
||||
arch/powerpc/kernel/syscalls/syscall.tbl,linux-user/ppc/syscall.tbl \
|
||||
scripts/syscall.tbl,linux-user/riscv/syscall.tbl \
|
||||
arch/s390/kernel/syscalls/syscall.tbl,linux-user/s390x/syscall.tbl \
|
||||
arch/sh/kernel/syscalls/syscall.tbl,linux-user/sh4/syscall.tbl \
|
||||
arch/sparc/kernel/syscalls/syscall.tbl,linux-user/sparc64/syscall.tbl \
|
||||
|
@ -2244,7 +2244,7 @@ static bool do_lstxv_PLS_D(DisasContext *ctx, arg_PLS_D *a,
|
||||
|
||||
static bool do_lstxv_X(DisasContext *ctx, arg_X *a, bool store, bool paired)
|
||||
{
|
||||
if (paired || a->rt >= 32) {
|
||||
if (paired || a->rt < 32) {
|
||||
REQUIRE_VSX(ctx);
|
||||
} else {
|
||||
REQUIRE_VECTOR(ctx);
|
||||
|
@ -50,6 +50,7 @@ C_N1_I2(r, r, r)
|
||||
C_N1_I2(r, r, rW)
|
||||
C_O1_I3(x, 0, x, x)
|
||||
C_O1_I3(x, x, x, x)
|
||||
C_O1_I4(x, x, x, xO, x)
|
||||
C_O1_I4(r, r, reT, r, 0)
|
||||
C_O1_I4(r, r, r, ri, ri)
|
||||
C_O2_I1(r, r, L)
|
||||
|
@ -28,6 +28,7 @@ REGS('s', ALL_BYTEL_REGS & ~SOFTMMU_RESERVE_REGS) /* qemu_st8_i32 data */
|
||||
*/
|
||||
CONST('e', TCG_CT_CONST_S32)
|
||||
CONST('I', TCG_CT_CONST_I32)
|
||||
CONST('O', TCG_CT_CONST_ZERO)
|
||||
CONST('T', TCG_CT_CONST_TST)
|
||||
CONST('W', TCG_CT_CONST_WSZ)
|
||||
CONST('Z', TCG_CT_CONST_U32)
|
||||
|
@ -133,6 +133,7 @@ static TCGReg tcg_target_call_oarg_reg(TCGCallReturnKind kind, int slot)
|
||||
#define TCG_CT_CONST_I32 0x400
|
||||
#define TCG_CT_CONST_WSZ 0x800
|
||||
#define TCG_CT_CONST_TST 0x1000
|
||||
#define TCG_CT_CONST_ZERO 0x2000
|
||||
|
||||
/* Registers used with L constraint, which are the first argument
|
||||
registers on x86_64, and two random call clobbered registers on
|
||||
@ -226,6 +227,9 @@ static bool tcg_target_const_match(int64_t val, int ct,
|
||||
if ((ct & TCG_CT_CONST_WSZ) && val == (type == TCG_TYPE_I32 ? 32 : 64)) {
|
||||
return 1;
|
||||
}
|
||||
if ((ct & TCG_CT_CONST_ZERO) && val == 0) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -409,6 +413,18 @@ static bool tcg_target_const_match(int64_t val, int ct,
|
||||
#define OPC_UD2 (0x0b | P_EXT)
|
||||
#define OPC_VPBLENDD (0x02 | P_EXT3A | P_DATA16)
|
||||
#define OPC_VPBLENDVB (0x4c | P_EXT3A | P_DATA16)
|
||||
#define OPC_VPBLENDMB (0x66 | P_EXT38 | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPBLENDMW (0x66 | P_EXT38 | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPBLENDMD (0x64 | P_EXT38 | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPBLENDMQ (0x64 | P_EXT38 | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPCMPB (0x3f | P_EXT3A | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPCMPUB (0x3e | P_EXT3A | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPCMPW (0x3f | P_EXT3A | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPCMPUW (0x3e | P_EXT3A | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPCMPD (0x1f | P_EXT3A | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPCMPUD (0x1e | P_EXT3A | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPCMPQ (0x1f | P_EXT3A | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPCMPUQ (0x1e | P_EXT3A | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPINSRB (0x20 | P_EXT3A | P_DATA16)
|
||||
#define OPC_VPINSRW (0xc4 | P_EXT | P_DATA16)
|
||||
#define OPC_VBROADCASTSS (0x18 | P_EXT38 | P_DATA16)
|
||||
@ -417,6 +433,10 @@ static bool tcg_target_const_match(int64_t val, int ct,
|
||||
#define OPC_VPBROADCASTW (0x79 | P_EXT38 | P_DATA16)
|
||||
#define OPC_VPBROADCASTD (0x58 | P_EXT38 | P_DATA16)
|
||||
#define OPC_VPBROADCASTQ (0x59 | P_EXT38 | P_DATA16)
|
||||
#define OPC_VPMOVM2B (0x28 | P_EXT38 | P_SIMDF3 | P_EVEX)
|
||||
#define OPC_VPMOVM2W (0x28 | P_EXT38 | P_SIMDF3 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPMOVM2D (0x38 | P_EXT38 | P_SIMDF3 | P_EVEX)
|
||||
#define OPC_VPMOVM2Q (0x38 | P_EXT38 | P_SIMDF3 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPERMQ (0x00 | P_EXT3A | P_DATA16 | P_VEXW)
|
||||
#define OPC_VPERM2I128 (0x46 | P_EXT3A | P_DATA16 | P_VEXL)
|
||||
#define OPC_VPROLVD (0x15 | P_EXT38 | P_DATA16 | P_EVEX)
|
||||
@ -442,6 +462,14 @@ static bool tcg_target_const_match(int64_t val, int ct,
|
||||
#define OPC_VPSRLVD (0x45 | P_EXT38 | P_DATA16)
|
||||
#define OPC_VPSRLVQ (0x45 | P_EXT38 | P_DATA16 | P_VEXW)
|
||||
#define OPC_VPTERNLOGQ (0x25 | P_EXT3A | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPTESTMB (0x26 | P_EXT38 | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPTESTMW (0x26 | P_EXT38 | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPTESTMD (0x27 | P_EXT38 | P_DATA16 | P_EVEX)
|
||||
#define OPC_VPTESTMQ (0x27 | P_EXT38 | P_DATA16 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPTESTNMB (0x26 | P_EXT38 | P_SIMDF3 | P_EVEX)
|
||||
#define OPC_VPTESTNMW (0x26 | P_EXT38 | P_SIMDF3 | P_VEXW | P_EVEX)
|
||||
#define OPC_VPTESTNMD (0x27 | P_EXT38 | P_SIMDF3 | P_EVEX)
|
||||
#define OPC_VPTESTNMQ (0x27 | P_EXT38 | P_SIMDF3 | P_VEXW | P_EVEX)
|
||||
#define OPC_VZEROUPPER (0x77 | P_EXT)
|
||||
#define OPC_XCHG_ax_r32 (0x90)
|
||||
#define OPC_XCHG_EvGv (0x87)
|
||||
@ -658,7 +686,7 @@ static void tcg_out_vex_opc(TCGContext *s, int opc, int r, int v,
|
||||
}
|
||||
|
||||
static void tcg_out_evex_opc(TCGContext *s, int opc, int r, int v,
|
||||
int rm, int index)
|
||||
int rm, int index, int aaa, bool z)
|
||||
{
|
||||
/* The entire 4-byte evex prefix; with R' and V' set. */
|
||||
uint32_t p = 0x08041062;
|
||||
@ -695,7 +723,9 @@ static void tcg_out_evex_opc(TCGContext *s, int opc, int r, int v,
|
||||
p = deposit32(p, 16, 2, pp);
|
||||
p = deposit32(p, 19, 4, ~v);
|
||||
p = deposit32(p, 23, 1, (opc & P_VEXW) != 0);
|
||||
p = deposit32(p, 24, 3, aaa);
|
||||
p = deposit32(p, 29, 2, (opc & P_VEXL) != 0);
|
||||
p = deposit32(p, 31, 1, z);
|
||||
|
||||
tcg_out32(s, p);
|
||||
tcg_out8(s, opc);
|
||||
@ -704,13 +734,32 @@ static void tcg_out_evex_opc(TCGContext *s, int opc, int r, int v,
|
||||
static void tcg_out_vex_modrm(TCGContext *s, int opc, int r, int v, int rm)
|
||||
{
|
||||
if (opc & P_EVEX) {
|
||||
tcg_out_evex_opc(s, opc, r, v, rm, 0);
|
||||
tcg_out_evex_opc(s, opc, r, v, rm, 0, 0, false);
|
||||
} else {
|
||||
tcg_out_vex_opc(s, opc, r, v, rm, 0);
|
||||
}
|
||||
tcg_out8(s, 0xc0 | (LOWREGMASK(r) << 3) | LOWREGMASK(rm));
|
||||
}
|
||||
|
||||
static void tcg_out_vex_modrm_type(TCGContext *s, int opc,
|
||||
int r, int v, int rm, TCGType type)
|
||||
{
|
||||
if (type == TCG_TYPE_V256) {
|
||||
opc |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, opc, r, v, rm);
|
||||
}
|
||||
|
||||
static void tcg_out_evex_modrm_type(TCGContext *s, int opc, int r, int v,
|
||||
int rm, int aaa, bool z, TCGType type)
|
||||
{
|
||||
if (type == TCG_TYPE_V256) {
|
||||
opc |= P_VEXL;
|
||||
}
|
||||
tcg_out_evex_opc(s, opc, r, v, rm, 0, aaa, z);
|
||||
tcg_out8(s, 0xc0 | (LOWREGMASK(r) << 3) | LOWREGMASK(rm));
|
||||
}
|
||||
|
||||
/* Output an opcode with a full "rm + (index<<shift) + offset" address mode.
|
||||
We handle either RM and INDEX missing with a negative value. In 64-bit
|
||||
mode for absolute addresses, ~RM is the size of the immediate operand
|
||||
@ -904,8 +953,7 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg r, TCGReg a)
|
||||
{
|
||||
if (have_avx2) {
|
||||
int vex_l = (type == TCG_TYPE_V256 ? P_VEXL : 0);
|
||||
tcg_out_vex_modrm(s, avx2_dup_insn[vece] + vex_l, r, 0, a);
|
||||
tcg_out_vex_modrm_type(s, avx2_dup_insn[vece], r, 0, a, type);
|
||||
} else {
|
||||
switch (vece) {
|
||||
case MO_8:
|
||||
@ -3021,6 +3069,214 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
|
||||
#undef OP_32_64
|
||||
}
|
||||
|
||||
static int const umin_insn[4] = {
|
||||
OPC_PMINUB, OPC_PMINUW, OPC_PMINUD, OPC_VPMINUQ
|
||||
};
|
||||
|
||||
static int const umax_insn[4] = {
|
||||
OPC_PMAXUB, OPC_PMAXUW, OPC_PMAXUD, OPC_VPMAXUQ
|
||||
};
|
||||
|
||||
static bool tcg_out_cmp_vec_noinv(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg v0, TCGReg v1, TCGReg v2, TCGCond cond)
|
||||
{
|
||||
static int const cmpeq_insn[4] = {
|
||||
OPC_PCMPEQB, OPC_PCMPEQW, OPC_PCMPEQD, OPC_PCMPEQQ
|
||||
};
|
||||
static int const cmpgt_insn[4] = {
|
||||
OPC_PCMPGTB, OPC_PCMPGTW, OPC_PCMPGTD, OPC_PCMPGTQ
|
||||
};
|
||||
|
||||
enum {
|
||||
NEED_INV = 1,
|
||||
NEED_SWAP = 2,
|
||||
NEED_UMIN = 4,
|
||||
NEED_UMAX = 8,
|
||||
INVALID = 16,
|
||||
};
|
||||
static const uint8_t cond_fixup[16] = {
|
||||
[0 ... 15] = INVALID,
|
||||
[TCG_COND_EQ] = 0,
|
||||
[TCG_COND_GT] = 0,
|
||||
[TCG_COND_NE] = NEED_INV,
|
||||
[TCG_COND_LE] = NEED_INV,
|
||||
[TCG_COND_LT] = NEED_SWAP,
|
||||
[TCG_COND_GE] = NEED_SWAP | NEED_INV,
|
||||
[TCG_COND_LEU] = NEED_UMIN,
|
||||
[TCG_COND_GTU] = NEED_UMIN | NEED_INV,
|
||||
[TCG_COND_GEU] = NEED_UMAX,
|
||||
[TCG_COND_LTU] = NEED_UMAX | NEED_INV,
|
||||
};
|
||||
int fixup = cond_fixup[cond];
|
||||
|
||||
assert(!(fixup & INVALID));
|
||||
|
||||
if (fixup & NEED_INV) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
|
||||
if (fixup & NEED_SWAP) {
|
||||
TCGReg swap = v1;
|
||||
v1 = v2;
|
||||
v2 = swap;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
if (fixup & (NEED_UMIN | NEED_UMAX)) {
|
||||
int op = (fixup & NEED_UMIN ? umin_insn[vece] : umax_insn[vece]);
|
||||
|
||||
/* avx2 does not have 64-bit min/max; adjusted during expand. */
|
||||
assert(vece <= MO_32);
|
||||
|
||||
tcg_out_vex_modrm_type(s, op, TCG_TMP_VEC, v1, v2, type);
|
||||
v2 = TCG_TMP_VEC;
|
||||
cond = TCG_COND_EQ;
|
||||
}
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
tcg_out_vex_modrm_type(s, cmpeq_insn[vece], v0, v1, v2, type);
|
||||
break;
|
||||
case TCG_COND_GT:
|
||||
tcg_out_vex_modrm_type(s, cmpgt_insn[vece], v0, v1, v2, type);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
return fixup & NEED_INV;
|
||||
}
|
||||
|
||||
static void tcg_out_cmp_vec_k1(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg v1, TCGReg v2, TCGCond cond)
|
||||
{
|
||||
static const int cmpm_insn[2][4] = {
|
||||
{ OPC_VPCMPB, OPC_VPCMPW, OPC_VPCMPD, OPC_VPCMPQ },
|
||||
{ OPC_VPCMPUB, OPC_VPCMPUW, OPC_VPCMPUD, OPC_VPCMPUQ }
|
||||
};
|
||||
static const int testm_insn[4] = {
|
||||
OPC_VPTESTMB, OPC_VPTESTMW, OPC_VPTESTMD, OPC_VPTESTMQ
|
||||
};
|
||||
static const int testnm_insn[4] = {
|
||||
OPC_VPTESTNMB, OPC_VPTESTNMW, OPC_VPTESTNMD, OPC_VPTESTNMQ
|
||||
};
|
||||
|
||||
static const int cond_ext[16] = {
|
||||
[TCG_COND_EQ] = 0,
|
||||
[TCG_COND_NE] = 4,
|
||||
[TCG_COND_LT] = 1,
|
||||
[TCG_COND_LTU] = 1,
|
||||
[TCG_COND_LE] = 2,
|
||||
[TCG_COND_LEU] = 2,
|
||||
[TCG_COND_NEVER] = 3,
|
||||
[TCG_COND_GE] = 5,
|
||||
[TCG_COND_GEU] = 5,
|
||||
[TCG_COND_GT] = 6,
|
||||
[TCG_COND_GTU] = 6,
|
||||
[TCG_COND_ALWAYS] = 7,
|
||||
};
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_TSTNE:
|
||||
tcg_out_vex_modrm_type(s, testm_insn[vece], /* k1 */ 1, v1, v2, type);
|
||||
break;
|
||||
case TCG_COND_TSTEQ:
|
||||
tcg_out_vex_modrm_type(s, testnm_insn[vece], /* k1 */ 1, v1, v2, type);
|
||||
break;
|
||||
default:
|
||||
tcg_out_vex_modrm_type(s, cmpm_insn[is_unsigned_cond(cond)][vece],
|
||||
/* k1 */ 1, v1, v2, type);
|
||||
tcg_out8(s, cond_ext[cond]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_k1_to_vec(TCGContext *s, TCGType type,
|
||||
unsigned vece, TCGReg dest)
|
||||
{
|
||||
static const int movm_insn[] = {
|
||||
OPC_VPMOVM2B, OPC_VPMOVM2W, OPC_VPMOVM2D, OPC_VPMOVM2Q
|
||||
};
|
||||
tcg_out_vex_modrm_type(s, movm_insn[vece], dest, 0, /* k1 */ 1, type);
|
||||
}
|
||||
|
||||
static void tcg_out_cmp_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg v0, TCGReg v1, TCGReg v2, TCGCond cond)
|
||||
{
|
||||
/*
|
||||
* With avx512, we have a complete set of comparisons into mask.
|
||||
* Unless there's a single insn expansion for the comparision,
|
||||
* expand via a mask in k1.
|
||||
*/
|
||||
if ((vece <= MO_16 ? have_avx512bw : have_avx512dq)
|
||||
&& cond != TCG_COND_EQ
|
||||
&& cond != TCG_COND_LT
|
||||
&& cond != TCG_COND_GT) {
|
||||
tcg_out_cmp_vec_k1(s, type, vece, v1, v2, cond);
|
||||
tcg_out_k1_to_vec(s, type, vece, v0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tcg_out_cmp_vec_noinv(s, type, vece, v0, v1, v2, cond)) {
|
||||
tcg_out_dupi_vec(s, type, vece, TCG_TMP_VEC, -1);
|
||||
tcg_out_vex_modrm_type(s, OPC_PXOR, v0, v0, TCG_TMP_VEC, type);
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_cmpsel_vec_k1(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg v0, TCGReg c1, TCGReg c2,
|
||||
TCGReg v3, TCGReg v4, TCGCond cond)
|
||||
{
|
||||
static const int vpblendm_insn[] = {
|
||||
OPC_VPBLENDMB, OPC_VPBLENDMW, OPC_VPBLENDMD, OPC_VPBLENDMQ
|
||||
};
|
||||
bool z = false;
|
||||
|
||||
/* Swap to place constant in V4 to take advantage of zero-masking. */
|
||||
if (!v3) {
|
||||
z = true;
|
||||
v3 = v4;
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
|
||||
tcg_out_cmp_vec_k1(s, type, vece, c1, c2, cond);
|
||||
tcg_out_evex_modrm_type(s, vpblendm_insn[vece], v0, v4, v3,
|
||||
/* k1 */1, z, type);
|
||||
}
|
||||
|
||||
static void tcg_out_cmpsel_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg v0, TCGReg c1, TCGReg c2,
|
||||
TCGReg v3, TCGReg v4, TCGCond cond)
|
||||
{
|
||||
bool inv;
|
||||
|
||||
if (vece <= MO_16 ? have_avx512bw : have_avx512vl) {
|
||||
tcg_out_cmpsel_vec_k1(s, type, vece, v0, c1, c2, v3, v4, cond);
|
||||
return;
|
||||
}
|
||||
|
||||
inv = tcg_out_cmp_vec_noinv(s, type, vece, TCG_TMP_VEC, c1, c2, cond);
|
||||
|
||||
/*
|
||||
* Since XMM0 is 16, the only way we get 0 into V3
|
||||
* is via the constant zero constraint.
|
||||
*/
|
||||
if (!v3) {
|
||||
if (inv) {
|
||||
tcg_out_vex_modrm_type(s, OPC_PAND, v0, TCG_TMP_VEC, v4, type);
|
||||
} else {
|
||||
tcg_out_vex_modrm_type(s, OPC_PANDN, v0, TCG_TMP_VEC, v4, type);
|
||||
}
|
||||
} else {
|
||||
if (inv) {
|
||||
TCGReg swap = v3;
|
||||
v3 = v4;
|
||||
v4 = swap;
|
||||
}
|
||||
tcg_out_vex_modrm_type(s, OPC_VPBLENDVB, v0, v4, v3, type);
|
||||
tcg_out8(s, (TCG_TMP_VEC - TCG_REG_XMM0) << 4);
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
unsigned vecl, unsigned vece,
|
||||
const TCGArg args[TCG_MAX_OP_ARGS],
|
||||
@ -3050,12 +3306,6 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
static int const shift_imm_insn[4] = {
|
||||
OPC_UD2, OPC_PSHIFTW_Ib, OPC_PSHIFTD_Ib, OPC_PSHIFTQ_Ib
|
||||
};
|
||||
static int const cmpeq_insn[4] = {
|
||||
OPC_PCMPEQB, OPC_PCMPEQW, OPC_PCMPEQD, OPC_PCMPEQQ
|
||||
};
|
||||
static int const cmpgt_insn[4] = {
|
||||
OPC_PCMPGTB, OPC_PCMPGTW, OPC_PCMPGTD, OPC_PCMPGTQ
|
||||
};
|
||||
static int const punpckl_insn[4] = {
|
||||
OPC_PUNPCKLBW, OPC_PUNPCKLWD, OPC_PUNPCKLDQ, OPC_PUNPCKLQDQ
|
||||
};
|
||||
@ -3074,12 +3324,6 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
static int const smax_insn[4] = {
|
||||
OPC_PMAXSB, OPC_PMAXSW, OPC_PMAXSD, OPC_VPMAXSQ
|
||||
};
|
||||
static int const umin_insn[4] = {
|
||||
OPC_PMINUB, OPC_PMINUW, OPC_PMINUD, OPC_VPMINUQ
|
||||
};
|
||||
static int const umax_insn[4] = {
|
||||
OPC_PMAXUB, OPC_PMAXUW, OPC_PMAXUD, OPC_VPMAXUQ
|
||||
};
|
||||
static int const rotlv_insn[4] = {
|
||||
OPC_UD2, OPC_UD2, OPC_VPROLVD, OPC_VPROLVQ
|
||||
};
|
||||
@ -3231,29 +3475,21 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
goto gen_simd;
|
||||
gen_simd:
|
||||
tcg_debug_assert(insn != OPC_UD2);
|
||||
if (type == TCG_TYPE_V256) {
|
||||
insn |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, insn, a0, a1, a2);
|
||||
tcg_out_vex_modrm_type(s, insn, a0, a1, a2, type);
|
||||
break;
|
||||
|
||||
case INDEX_op_cmp_vec:
|
||||
sub = args[3];
|
||||
if (sub == TCG_COND_EQ) {
|
||||
insn = cmpeq_insn[vece];
|
||||
} else if (sub == TCG_COND_GT) {
|
||||
insn = cmpgt_insn[vece];
|
||||
} else {
|
||||
g_assert_not_reached();
|
||||
}
|
||||
goto gen_simd;
|
||||
tcg_out_cmp_vec(s, type, vece, a0, a1, a2, args[3]);
|
||||
break;
|
||||
|
||||
case INDEX_op_cmpsel_vec:
|
||||
tcg_out_cmpsel_vec(s, type, vece, a0, a1, a2,
|
||||
args[3], args[4], args[5]);
|
||||
break;
|
||||
|
||||
case INDEX_op_andc_vec:
|
||||
insn = OPC_PANDN;
|
||||
if (type == TCG_TYPE_V256) {
|
||||
insn |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, insn, a0, a2, a1);
|
||||
tcg_out_vex_modrm_type(s, insn, a0, a2, a1, type);
|
||||
break;
|
||||
|
||||
case INDEX_op_shli_vec:
|
||||
@ -3281,10 +3517,7 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
goto gen_shift;
|
||||
gen_shift:
|
||||
tcg_debug_assert(vece != MO_8);
|
||||
if (type == TCG_TYPE_V256) {
|
||||
insn |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, insn, sub, a0, a1);
|
||||
tcg_out_vex_modrm_type(s, insn, sub, a0, a1, type);
|
||||
tcg_out8(s, a2);
|
||||
break;
|
||||
|
||||
@ -3361,22 +3594,10 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
|
||||
gen_simd_imm8:
|
||||
tcg_debug_assert(insn != OPC_UD2);
|
||||
if (type == TCG_TYPE_V256) {
|
||||
insn |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, insn, a0, a1, a2);
|
||||
tcg_out_vex_modrm_type(s, insn, a0, a1, a2, type);
|
||||
tcg_out8(s, sub);
|
||||
break;
|
||||
|
||||
case INDEX_op_x86_vpblendvb_vec:
|
||||
insn = OPC_VPBLENDVB;
|
||||
if (type == TCG_TYPE_V256) {
|
||||
insn |= P_VEXL;
|
||||
}
|
||||
tcg_out_vex_modrm(s, insn, a0, a1, a2);
|
||||
tcg_out8(s, args[3] << 4);
|
||||
break;
|
||||
|
||||
case INDEX_op_x86_psrldq_vec:
|
||||
tcg_out_vex_modrm(s, OPC_GRP14, 3, a0, a1);
|
||||
tcg_out8(s, a2);
|
||||
@ -3642,8 +3863,9 @@ static TCGConstraintSetIndex tcg_target_op_def(TCGOpcode op)
|
||||
return C_O1_I3(x, 0, x, x);
|
||||
|
||||
case INDEX_op_bitsel_vec:
|
||||
case INDEX_op_x86_vpblendvb_vec:
|
||||
return C_O1_I3(x, x, x, x);
|
||||
case INDEX_op_cmpsel_vec:
|
||||
return C_O1_I4(x, x, x, xO, x);
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
@ -3979,145 +4201,59 @@ static void expand_vec_mul(TCGType type, unsigned vece,
|
||||
}
|
||||
}
|
||||
|
||||
static bool expand_vec_cmp_noinv(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGCond cond)
|
||||
static TCGCond expand_vec_cond(TCGType type, unsigned vece,
|
||||
TCGArg *a1, TCGArg *a2, TCGCond cond)
|
||||
{
|
||||
enum {
|
||||
NEED_INV = 1,
|
||||
NEED_SWAP = 2,
|
||||
NEED_BIAS = 4,
|
||||
NEED_UMIN = 8,
|
||||
NEED_UMAX = 16,
|
||||
};
|
||||
TCGv_vec t1, t2, t3;
|
||||
uint8_t fixup;
|
||||
/*
|
||||
* Without AVX512, there are no 64-bit unsigned comparisons.
|
||||
* We must bias the inputs so that they become signed.
|
||||
* All other swapping and inversion are handled during code generation.
|
||||
*/
|
||||
if (vece == MO_64 && !have_avx512dq && is_unsigned_cond(cond)) {
|
||||
TCGv_vec v1 = temp_tcgv_vec(arg_temp(*a1));
|
||||
TCGv_vec v2 = temp_tcgv_vec(arg_temp(*a2));
|
||||
TCGv_vec t1 = tcg_temp_new_vec(type);
|
||||
TCGv_vec t2 = tcg_temp_new_vec(type);
|
||||
TCGv_vec t3 = tcg_constant_vec(type, vece, 1ull << ((8 << vece) - 1));
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
case TCG_COND_GT:
|
||||
fixup = 0;
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
case TCG_COND_LE:
|
||||
fixup = NEED_INV;
|
||||
break;
|
||||
case TCG_COND_LT:
|
||||
fixup = NEED_SWAP;
|
||||
break;
|
||||
case TCG_COND_GE:
|
||||
fixup = NEED_SWAP | NEED_INV;
|
||||
break;
|
||||
case TCG_COND_LEU:
|
||||
if (tcg_can_emit_vec_op(INDEX_op_umin_vec, type, vece)) {
|
||||
fixup = NEED_UMIN;
|
||||
} else {
|
||||
fixup = NEED_BIAS | NEED_INV;
|
||||
}
|
||||
break;
|
||||
case TCG_COND_GTU:
|
||||
if (tcg_can_emit_vec_op(INDEX_op_umin_vec, type, vece)) {
|
||||
fixup = NEED_UMIN | NEED_INV;
|
||||
} else {
|
||||
fixup = NEED_BIAS;
|
||||
}
|
||||
break;
|
||||
case TCG_COND_GEU:
|
||||
if (tcg_can_emit_vec_op(INDEX_op_umax_vec, type, vece)) {
|
||||
fixup = NEED_UMAX;
|
||||
} else {
|
||||
fixup = NEED_BIAS | NEED_SWAP | NEED_INV;
|
||||
}
|
||||
break;
|
||||
case TCG_COND_LTU:
|
||||
if (tcg_can_emit_vec_op(INDEX_op_umax_vec, type, vece)) {
|
||||
fixup = NEED_UMAX | NEED_INV;
|
||||
} else {
|
||||
fixup = NEED_BIAS | NEED_SWAP;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
if (fixup & NEED_INV) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
if (fixup & NEED_SWAP) {
|
||||
t1 = v1, v1 = v2, v2 = t1;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
t1 = t2 = NULL;
|
||||
if (fixup & (NEED_UMIN | NEED_UMAX)) {
|
||||
t1 = tcg_temp_new_vec(type);
|
||||
if (fixup & NEED_UMIN) {
|
||||
tcg_gen_umin_vec(vece, t1, v1, v2);
|
||||
} else {
|
||||
tcg_gen_umax_vec(vece, t1, v1, v2);
|
||||
}
|
||||
v2 = t1;
|
||||
cond = TCG_COND_EQ;
|
||||
} else if (fixup & NEED_BIAS) {
|
||||
t1 = tcg_temp_new_vec(type);
|
||||
t2 = tcg_temp_new_vec(type);
|
||||
t3 = tcg_constant_vec(type, vece, 1ull << ((8 << vece) - 1));
|
||||
tcg_gen_sub_vec(vece, t1, v1, t3);
|
||||
tcg_gen_sub_vec(vece, t2, v2, t3);
|
||||
v1 = t1;
|
||||
v2 = t2;
|
||||
*a1 = tcgv_vec_arg(t1);
|
||||
*a2 = tcgv_vec_arg(t2);
|
||||
cond = tcg_signed_cond(cond);
|
||||
}
|
||||
return cond;
|
||||
}
|
||||
|
||||
tcg_debug_assert(cond == TCG_COND_EQ || cond == TCG_COND_GT);
|
||||
static void expand_vec_cmp(TCGType type, unsigned vece, TCGArg a0,
|
||||
TCGArg a1, TCGArg a2, TCGCond cond)
|
||||
{
|
||||
cond = expand_vec_cond(type, vece, &a1, &a2, cond);
|
||||
/* Expand directly; do not recurse. */
|
||||
vec_gen_4(INDEX_op_cmp_vec, type, vece,
|
||||
tcgv_vec_arg(v0), tcgv_vec_arg(v1), tcgv_vec_arg(v2), cond);
|
||||
|
||||
if (t1) {
|
||||
tcg_temp_free_vec(t1);
|
||||
if (t2) {
|
||||
tcg_temp_free_vec(t2);
|
||||
}
|
||||
}
|
||||
return fixup & NEED_INV;
|
||||
vec_gen_4(INDEX_op_cmp_vec, type, vece, a0, a1, a2, cond);
|
||||
}
|
||||
|
||||
static void expand_vec_cmp(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGCond cond)
|
||||
static void expand_vec_cmpsel(TCGType type, unsigned vece, TCGArg a0,
|
||||
TCGArg a1, TCGArg a2,
|
||||
TCGArg a3, TCGArg a4, TCGCond cond)
|
||||
{
|
||||
if (expand_vec_cmp_noinv(type, vece, v0, v1, v2, cond)) {
|
||||
tcg_gen_not_vec(vece, v0, v0);
|
||||
}
|
||||
}
|
||||
|
||||
static void expand_vec_cmpsel(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec c1, TCGv_vec c2,
|
||||
TCGv_vec v3, TCGv_vec v4, TCGCond cond)
|
||||
{
|
||||
TCGv_vec t = tcg_temp_new_vec(type);
|
||||
|
||||
if (expand_vec_cmp_noinv(type, vece, t, c1, c2, cond)) {
|
||||
/* Invert the sense of the compare by swapping arguments. */
|
||||
TCGv_vec x;
|
||||
x = v3, v3 = v4, v4 = x;
|
||||
}
|
||||
vec_gen_4(INDEX_op_x86_vpblendvb_vec, type, vece,
|
||||
tcgv_vec_arg(v0), tcgv_vec_arg(v4),
|
||||
tcgv_vec_arg(v3), tcgv_vec_arg(t));
|
||||
tcg_temp_free_vec(t);
|
||||
cond = expand_vec_cond(type, vece, &a1, &a2, cond);
|
||||
/* Expand directly; do not recurse. */
|
||||
vec_gen_6(INDEX_op_cmpsel_vec, type, vece, a0, a1, a2, a3, a4, cond);
|
||||
}
|
||||
|
||||
void tcg_expand_vec_op(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
TCGArg a0, ...)
|
||||
{
|
||||
va_list va;
|
||||
TCGArg a2;
|
||||
TCGv_vec v0, v1, v2, v3, v4;
|
||||
TCGArg a1, a2, a3, a4, a5;
|
||||
TCGv_vec v0, v1, v2;
|
||||
|
||||
va_start(va, a0);
|
||||
v0 = temp_tcgv_vec(arg_temp(a0));
|
||||
v1 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
a1 = va_arg(va, TCGArg);
|
||||
a2 = va_arg(va, TCGArg);
|
||||
v0 = temp_tcgv_vec(arg_temp(a0));
|
||||
v1 = temp_tcgv_vec(arg_temp(a1));
|
||||
|
||||
switch (opc) {
|
||||
case INDEX_op_shli_vec:
|
||||
@ -4153,15 +4289,15 @@ void tcg_expand_vec_op(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
break;
|
||||
|
||||
case INDEX_op_cmp_vec:
|
||||
v2 = temp_tcgv_vec(arg_temp(a2));
|
||||
expand_vec_cmp(type, vece, v0, v1, v2, va_arg(va, TCGArg));
|
||||
a3 = va_arg(va, TCGArg);
|
||||
expand_vec_cmp(type, vece, a0, a1, a2, a3);
|
||||
break;
|
||||
|
||||
case INDEX_op_cmpsel_vec:
|
||||
v2 = temp_tcgv_vec(arg_temp(a2));
|
||||
v3 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
v4 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
expand_vec_cmpsel(type, vece, v0, v1, v2, v3, v4, va_arg(va, TCGArg));
|
||||
a3 = va_arg(va, TCGArg);
|
||||
a4 = va_arg(va, TCGArg);
|
||||
a5 = va_arg(va, TCGArg);
|
||||
expand_vec_cmpsel(type, vece, a0, a1, a2, a3, a4, a5);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -223,8 +223,8 @@ typedef enum {
|
||||
#define TCG_TARGET_HAS_sat_vec 1
|
||||
#define TCG_TARGET_HAS_minmax_vec 1
|
||||
#define TCG_TARGET_HAS_bitsel_vec have_avx512vl
|
||||
#define TCG_TARGET_HAS_cmpsel_vec -1
|
||||
#define TCG_TARGET_HAS_tst_vec 0
|
||||
#define TCG_TARGET_HAS_cmpsel_vec 1
|
||||
#define TCG_TARGET_HAS_tst_vec have_avx512bw
|
||||
|
||||
#define TCG_TARGET_deposit_i32_valid(ofs, len) \
|
||||
(((ofs) == 0 && ((len) == 8 || (len) == 16)) || \
|
||||
|
@ -25,7 +25,6 @@
|
||||
*/
|
||||
|
||||
DEF(x86_shufps_vec, 1, 2, 1, IMPLVEC)
|
||||
DEF(x86_vpblendvb_vec, 1, 3, 0, IMPLVEC)
|
||||
DEF(x86_blend_vec, 1, 2, 1, IMPLVEC)
|
||||
DEF(x86_packss_vec, 1, 2, 0, IMPLVEC)
|
||||
DEF(x86_packus_vec, 1, 2, 0, IMPLVEC)
|
||||
|
@ -1851,6 +1851,11 @@ static bool fold_movcond(OptContext *ctx, TCGOp *op)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* If true and false values are the same, eliminate the cmp. */
|
||||
if (args_are_copies(op->args[3], op->args[4])) {
|
||||
return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[3]);
|
||||
}
|
||||
|
||||
/*
|
||||
* Canonicalize the "false" input reg to match the destination reg so
|
||||
* that the tcg backend can implement a "move if true" operation.
|
||||
@ -2417,6 +2422,36 @@ static bool fold_setcond2(OptContext *ctx, TCGOp *op)
|
||||
return tcg_opt_gen_movi(ctx, op, op->args[0], i);
|
||||
}
|
||||
|
||||
static bool fold_cmp_vec(OptContext *ctx, TCGOp *op)
|
||||
{
|
||||
/* Canonicalize the comparison to put immediate second. */
|
||||
if (swap_commutative(NO_DEST, &op->args[1], &op->args[2])) {
|
||||
op->args[3] = tcg_swap_cond(op->args[3]);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool fold_cmpsel_vec(OptContext *ctx, TCGOp *op)
|
||||
{
|
||||
/* If true and false values are the same, eliminate the cmp. */
|
||||
if (args_are_copies(op->args[3], op->args[4])) {
|
||||
return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[3]);
|
||||
}
|
||||
|
||||
/* Canonicalize the comparison to put immediate second. */
|
||||
if (swap_commutative(NO_DEST, &op->args[1], &op->args[2])) {
|
||||
op->args[5] = tcg_swap_cond(op->args[5]);
|
||||
}
|
||||
/*
|
||||
* Canonicalize the "false" input reg to match the destination,
|
||||
* so that the tcg backend can implement "move if true".
|
||||
*/
|
||||
if (swap_commutative(op->args[0], &op->args[4], &op->args[3])) {
|
||||
op->args[5] = tcg_invert_cond(op->args[5]);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool fold_sextract(OptContext *ctx, TCGOp *op)
|
||||
{
|
||||
uint64_t z_mask, s_mask, s_mask_old;
|
||||
@ -2702,6 +2737,61 @@ static bool fold_xor(OptContext *ctx, TCGOp *op)
|
||||
return fold_masks(ctx, op);
|
||||
}
|
||||
|
||||
static bool fold_bitsel_vec(OptContext *ctx, TCGOp *op)
|
||||
{
|
||||
/* If true and false values are the same, eliminate the cmp. */
|
||||
if (args_are_copies(op->args[2], op->args[3])) {
|
||||
return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[2]);
|
||||
}
|
||||
|
||||
if (arg_is_const(op->args[2]) && arg_is_const(op->args[3])) {
|
||||
uint64_t tv = arg_info(op->args[2])->val;
|
||||
uint64_t fv = arg_info(op->args[3])->val;
|
||||
|
||||
if (tv == -1 && fv == 0) {
|
||||
return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[1]);
|
||||
}
|
||||
if (tv == 0 && fv == -1) {
|
||||
if (TCG_TARGET_HAS_not_vec) {
|
||||
op->opc = INDEX_op_not_vec;
|
||||
return fold_not(ctx, op);
|
||||
} else {
|
||||
op->opc = INDEX_op_xor_vec;
|
||||
op->args[2] = arg_new_constant(ctx, -1);
|
||||
return fold_xor(ctx, op);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (arg_is_const(op->args[2])) {
|
||||
uint64_t tv = arg_info(op->args[2])->val;
|
||||
if (tv == -1) {
|
||||
op->opc = INDEX_op_or_vec;
|
||||
op->args[2] = op->args[3];
|
||||
return fold_or(ctx, op);
|
||||
}
|
||||
if (tv == 0 && TCG_TARGET_HAS_andc_vec) {
|
||||
op->opc = INDEX_op_andc_vec;
|
||||
op->args[2] = op->args[1];
|
||||
op->args[1] = op->args[3];
|
||||
return fold_andc(ctx, op);
|
||||
}
|
||||
}
|
||||
if (arg_is_const(op->args[3])) {
|
||||
uint64_t fv = arg_info(op->args[3])->val;
|
||||
if (fv == 0) {
|
||||
op->opc = INDEX_op_and_vec;
|
||||
return fold_and(ctx, op);
|
||||
}
|
||||
if (fv == -1 && TCG_TARGET_HAS_orc_vec) {
|
||||
op->opc = INDEX_op_orc_vec;
|
||||
op->args[2] = op->args[1];
|
||||
op->args[1] = op->args[3];
|
||||
return fold_orc(ctx, op);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Propagate constants and copies, fold constant expressions. */
|
||||
void tcg_optimize(TCGContext *s)
|
||||
{
|
||||
@ -2923,6 +3013,15 @@ void tcg_optimize(TCGContext *s)
|
||||
case INDEX_op_setcond2_i32:
|
||||
done = fold_setcond2(&ctx, op);
|
||||
break;
|
||||
case INDEX_op_cmp_vec:
|
||||
done = fold_cmp_vec(&ctx, op);
|
||||
break;
|
||||
case INDEX_op_cmpsel_vec:
|
||||
done = fold_cmpsel_vec(&ctx, op);
|
||||
break;
|
||||
case INDEX_op_bitsel_vec:
|
||||
done = fold_bitsel_vec(&ctx, op);
|
||||
break;
|
||||
CASE_OP_32_64(sextract):
|
||||
done = fold_sextract(&ctx, op);
|
||||
break;
|
||||
|
@ -33,6 +33,7 @@ C_O1_I2(r, r, rU)
|
||||
C_O1_I2(r, r, rZW)
|
||||
C_O1_I2(v, v, v)
|
||||
C_O1_I3(v, v, v, v)
|
||||
C_O1_I4(v, v, v, vZM, v)
|
||||
C_O1_I4(r, r, rC, rZ, rZ)
|
||||
C_O1_I4(r, r, r, ri, ri)
|
||||
C_O2_I1(r, r, r)
|
||||
|
@ -3567,12 +3567,14 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)
|
||||
case INDEX_op_usadd_vec:
|
||||
case INDEX_op_ussub_vec:
|
||||
return vece <= MO_32;
|
||||
case INDEX_op_cmp_vec:
|
||||
case INDEX_op_shli_vec:
|
||||
case INDEX_op_shri_vec:
|
||||
case INDEX_op_sari_vec:
|
||||
case INDEX_op_rotli_vec:
|
||||
return vece <= MO_32 || have_isa_2_07 ? -1 : 0;
|
||||
case INDEX_op_cmp_vec:
|
||||
case INDEX_op_cmpsel_vec:
|
||||
return vece <= MO_32 || have_isa_2_07 ? 1 : 0;
|
||||
case INDEX_op_neg_vec:
|
||||
return vece >= MO_32 && have_isa_3_00;
|
||||
case INDEX_op_mul_vec:
|
||||
@ -3713,6 +3715,149 @@ static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
return true;
|
||||
}
|
||||
|
||||
static void tcg_out_not_vec(TCGContext *s, TCGReg a0, TCGReg a1)
|
||||
{
|
||||
tcg_out32(s, VNOR | VRT(a0) | VRA(a1) | VRB(a1));
|
||||
}
|
||||
|
||||
static void tcg_out_or_vec(TCGContext *s, TCGReg a0, TCGReg a1, TCGReg a2)
|
||||
{
|
||||
tcg_out32(s, VOR | VRT(a0) | VRA(a1) | VRB(a2));
|
||||
}
|
||||
|
||||
static void tcg_out_orc_vec(TCGContext *s, TCGReg a0, TCGReg a1, TCGReg a2)
|
||||
{
|
||||
tcg_out32(s, VORC | VRT(a0) | VRA(a1) | VRB(a2));
|
||||
}
|
||||
|
||||
static void tcg_out_and_vec(TCGContext *s, TCGReg a0, TCGReg a1, TCGReg a2)
|
||||
{
|
||||
tcg_out32(s, VAND | VRT(a0) | VRA(a1) | VRB(a2));
|
||||
}
|
||||
|
||||
static void tcg_out_andc_vec(TCGContext *s, TCGReg a0, TCGReg a1, TCGReg a2)
|
||||
{
|
||||
tcg_out32(s, VANDC | VRT(a0) | VRA(a1) | VRB(a2));
|
||||
}
|
||||
|
||||
static void tcg_out_bitsel_vec(TCGContext *s, TCGReg d,
|
||||
TCGReg c, TCGReg t, TCGReg f)
|
||||
{
|
||||
if (TCG_TARGET_HAS_bitsel_vec) {
|
||||
tcg_out32(s, XXSEL | VRT(d) | VRC(c) | VRB(t) | VRA(f));
|
||||
} else {
|
||||
tcg_out_and_vec(s, TCG_VEC_TMP2, t, c);
|
||||
tcg_out_andc_vec(s, d, f, c);
|
||||
tcg_out_or_vec(s, d, d, TCG_VEC_TMP2);
|
||||
}
|
||||
}
|
||||
|
||||
static bool tcg_out_cmp_vec_noinv(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg a1, TCGReg a2, TCGCond cond)
|
||||
{
|
||||
static const uint32_t
|
||||
eq_op[4] = { VCMPEQUB, VCMPEQUH, VCMPEQUW, VCMPEQUD },
|
||||
ne_op[4] = { VCMPNEB, VCMPNEH, VCMPNEW, 0 },
|
||||
gts_op[4] = { VCMPGTSB, VCMPGTSH, VCMPGTSW, VCMPGTSD },
|
||||
gtu_op[4] = { VCMPGTUB, VCMPGTUH, VCMPGTUW, VCMPGTUD };
|
||||
uint32_t insn;
|
||||
|
||||
bool need_swap = false, need_inv = false;
|
||||
|
||||
tcg_debug_assert(vece <= MO_32 || have_isa_2_07);
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
case TCG_COND_GT:
|
||||
case TCG_COND_GTU:
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
if (have_isa_3_00 && vece <= MO_32) {
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
case TCG_COND_LE:
|
||||
case TCG_COND_LEU:
|
||||
need_inv = true;
|
||||
break;
|
||||
case TCG_COND_LT:
|
||||
case TCG_COND_LTU:
|
||||
need_swap = true;
|
||||
break;
|
||||
case TCG_COND_GE:
|
||||
case TCG_COND_GEU:
|
||||
need_swap = need_inv = true;
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
if (need_inv) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
if (need_swap) {
|
||||
TCGReg swap = a1;
|
||||
a1 = a2;
|
||||
a2 = swap;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
insn = eq_op[vece];
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
insn = ne_op[vece];
|
||||
break;
|
||||
case TCG_COND_GT:
|
||||
insn = gts_op[vece];
|
||||
break;
|
||||
case TCG_COND_GTU:
|
||||
insn = gtu_op[vece];
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
tcg_out32(s, insn | VRT(a0) | VRA(a1) | VRB(a2));
|
||||
|
||||
return need_inv;
|
||||
}
|
||||
|
||||
static void tcg_out_cmp_vec(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg a1, TCGReg a2, TCGCond cond)
|
||||
{
|
||||
if (tcg_out_cmp_vec_noinv(s, vece, a0, a1, a2, cond)) {
|
||||
tcg_out_not_vec(s, a0, a0);
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_cmpsel_vec(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg c1, TCGReg c2, TCGArg v3, int const_v3,
|
||||
TCGReg v4, TCGCond cond)
|
||||
{
|
||||
bool inv = tcg_out_cmp_vec_noinv(s, vece, TCG_VEC_TMP1, c1, c2, cond);
|
||||
|
||||
if (!const_v3) {
|
||||
if (inv) {
|
||||
tcg_out_bitsel_vec(s, a0, TCG_VEC_TMP1, v4, v3);
|
||||
} else {
|
||||
tcg_out_bitsel_vec(s, a0, TCG_VEC_TMP1, v3, v4);
|
||||
}
|
||||
} else if (v3) {
|
||||
if (inv) {
|
||||
tcg_out_orc_vec(s, a0, v4, TCG_VEC_TMP1);
|
||||
} else {
|
||||
tcg_out_or_vec(s, a0, v4, TCG_VEC_TMP1);
|
||||
}
|
||||
} else {
|
||||
if (inv) {
|
||||
tcg_out_and_vec(s, a0, v4, TCG_VEC_TMP1);
|
||||
} else {
|
||||
tcg_out_andc_vec(s, a0, v4, TCG_VEC_TMP1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
unsigned vecl, unsigned vece,
|
||||
const TCGArg args[TCG_MAX_OP_ARGS],
|
||||
@ -3723,10 +3868,6 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
sub_op[4] = { VSUBUBM, VSUBUHM, VSUBUWM, VSUBUDM },
|
||||
mul_op[4] = { 0, 0, VMULUWM, VMULLD },
|
||||
neg_op[4] = { 0, 0, VNEGW, VNEGD },
|
||||
eq_op[4] = { VCMPEQUB, VCMPEQUH, VCMPEQUW, VCMPEQUD },
|
||||
ne_op[4] = { VCMPNEB, VCMPNEH, VCMPNEW, 0 },
|
||||
gts_op[4] = { VCMPGTSB, VCMPGTSH, VCMPGTSW, VCMPGTSD },
|
||||
gtu_op[4] = { VCMPGTUB, VCMPGTUH, VCMPGTUW, VCMPGTUD },
|
||||
ssadd_op[4] = { VADDSBS, VADDSHS, VADDSWS, 0 },
|
||||
usadd_op[4] = { VADDUBS, VADDUHS, VADDUWS, 0 },
|
||||
sssub_op[4] = { VSUBSBS, VSUBSHS, VSUBSWS, 0 },
|
||||
@ -3808,24 +3949,23 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
insn = sarv_op[vece];
|
||||
break;
|
||||
case INDEX_op_and_vec:
|
||||
insn = VAND;
|
||||
break;
|
||||
tcg_out_and_vec(s, a0, a1, a2);
|
||||
return;
|
||||
case INDEX_op_or_vec:
|
||||
insn = VOR;
|
||||
break;
|
||||
tcg_out_or_vec(s, a0, a1, a2);
|
||||
return;
|
||||
case INDEX_op_xor_vec:
|
||||
insn = VXOR;
|
||||
break;
|
||||
case INDEX_op_andc_vec:
|
||||
insn = VANDC;
|
||||
break;
|
||||
tcg_out_andc_vec(s, a0, a1, a2);
|
||||
return;
|
||||
case INDEX_op_not_vec:
|
||||
insn = VNOR;
|
||||
a2 = a1;
|
||||
break;
|
||||
tcg_out_not_vec(s, a0, a1);
|
||||
return;
|
||||
case INDEX_op_orc_vec:
|
||||
insn = VORC;
|
||||
break;
|
||||
tcg_out_orc_vec(s, a0, a1, a2);
|
||||
return;
|
||||
case INDEX_op_nand_vec:
|
||||
insn = VNAND;
|
||||
break;
|
||||
@ -3837,26 +3977,14 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
break;
|
||||
|
||||
case INDEX_op_cmp_vec:
|
||||
switch (args[3]) {
|
||||
case TCG_COND_EQ:
|
||||
insn = eq_op[vece];
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
insn = ne_op[vece];
|
||||
break;
|
||||
case TCG_COND_GT:
|
||||
insn = gts_op[vece];
|
||||
break;
|
||||
case TCG_COND_GTU:
|
||||
insn = gtu_op[vece];
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
break;
|
||||
|
||||
tcg_out_cmp_vec(s, vece, a0, a1, a2, args[3]);
|
||||
return;
|
||||
case INDEX_op_cmpsel_vec:
|
||||
tcg_out_cmpsel_vec(s, vece, a0, a1, a2,
|
||||
args[3], const_args[3], args[4], args[5]);
|
||||
return;
|
||||
case INDEX_op_bitsel_vec:
|
||||
tcg_out32(s, XXSEL | VRT(a0) | VRC(a1) | VRB(a2) | VRA(args[3]));
|
||||
tcg_out_bitsel_vec(s, a0, a1, a2, args[3]);
|
||||
return;
|
||||
|
||||
case INDEX_op_dup2_vec:
|
||||
@ -3921,56 +4049,6 @@ static void expand_vec_shi(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
tcgv_vec_arg(v1), tcgv_vec_arg(t1));
|
||||
}
|
||||
|
||||
static void expand_vec_cmp(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGCond cond)
|
||||
{
|
||||
bool need_swap = false, need_inv = false;
|
||||
|
||||
tcg_debug_assert(vece <= MO_32 || have_isa_2_07);
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
case TCG_COND_GT:
|
||||
case TCG_COND_GTU:
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
if (have_isa_3_00 && vece <= MO_32) {
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
case TCG_COND_LE:
|
||||
case TCG_COND_LEU:
|
||||
need_inv = true;
|
||||
break;
|
||||
case TCG_COND_LT:
|
||||
case TCG_COND_LTU:
|
||||
need_swap = true;
|
||||
break;
|
||||
case TCG_COND_GE:
|
||||
case TCG_COND_GEU:
|
||||
need_swap = need_inv = true;
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
if (need_inv) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
if (need_swap) {
|
||||
TCGv_vec t1;
|
||||
t1 = v1, v1 = v2, v2 = t1;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
vec_gen_4(INDEX_op_cmp_vec, type, vece, tcgv_vec_arg(v0),
|
||||
tcgv_vec_arg(v1), tcgv_vec_arg(v2), cond);
|
||||
|
||||
if (need_inv) {
|
||||
tcg_gen_not_vec(vece, v0, v0);
|
||||
}
|
||||
}
|
||||
|
||||
static void expand_vec_mul(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2)
|
||||
{
|
||||
@ -4045,10 +4123,6 @@ void tcg_expand_vec_op(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
case INDEX_op_rotli_vec:
|
||||
expand_vec_shi(type, vece, v0, v1, a2, INDEX_op_rotlv_vec);
|
||||
break;
|
||||
case INDEX_op_cmp_vec:
|
||||
v2 = temp_tcgv_vec(arg_temp(a2));
|
||||
expand_vec_cmp(type, vece, v0, v1, v2, va_arg(va, TCGArg));
|
||||
break;
|
||||
case INDEX_op_mul_vec:
|
||||
v2 = temp_tcgv_vec(arg_temp(a2));
|
||||
expand_vec_mul(type, vece, v0, v1, v2);
|
||||
@ -4276,6 +4350,8 @@ static TCGConstraintSetIndex tcg_target_op_def(TCGOpcode op)
|
||||
case INDEX_op_bitsel_vec:
|
||||
case INDEX_op_ppc_msum_vec:
|
||||
return C_O1_I3(v, v, v, v);
|
||||
case INDEX_op_cmpsel_vec:
|
||||
return C_O1_I4(v, v, v, vZM, v);
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
|
@ -172,7 +172,7 @@ typedef enum {
|
||||
#define TCG_TARGET_HAS_sat_vec 1
|
||||
#define TCG_TARGET_HAS_minmax_vec 1
|
||||
#define TCG_TARGET_HAS_bitsel_vec have_vsx
|
||||
#define TCG_TARGET_HAS_cmpsel_vec 0
|
||||
#define TCG_TARGET_HAS_cmpsel_vec 1
|
||||
#define TCG_TARGET_HAS_tst_vec 0
|
||||
|
||||
#define TCG_TARGET_DEFAULT_MO (0)
|
||||
|
@ -38,6 +38,8 @@ C_O1_I2(r, rZ, r)
|
||||
C_O1_I2(v, v, r)
|
||||
C_O1_I2(v, v, v)
|
||||
C_O1_I3(v, v, v, v)
|
||||
C_O1_I4(v, v, v, vZ, v)
|
||||
C_O1_I4(v, v, v, vZM, v)
|
||||
C_O1_I4(r, r, ri, rI, r)
|
||||
C_O1_I4(r, r, rC, rI, r)
|
||||
C_O2_I1(o, m, r)
|
||||
|
@ -20,6 +20,7 @@ CONST('C', TCG_CT_CONST_CMP)
|
||||
CONST('I', TCG_CT_CONST_S16)
|
||||
CONST('J', TCG_CT_CONST_S32)
|
||||
CONST('K', TCG_CT_CONST_P32)
|
||||
CONST('M', TCG_CT_CONST_M1)
|
||||
CONST('N', TCG_CT_CONST_INV)
|
||||
CONST('R', TCG_CT_CONST_INVRISBG)
|
||||
CONST('U', TCG_CT_CONST_U32)
|
||||
|
@ -36,6 +36,7 @@
|
||||
#define TCG_CT_CONST_INV (1 << 13)
|
||||
#define TCG_CT_CONST_INVRISBG (1 << 14)
|
||||
#define TCG_CT_CONST_CMP (1 << 15)
|
||||
#define TCG_CT_CONST_M1 (1 << 16)
|
||||
|
||||
#define ALL_GENERAL_REGS MAKE_64BIT_MASK(0, 16)
|
||||
#define ALL_VECTOR_REGS MAKE_64BIT_MASK(32, 32)
|
||||
@ -46,6 +47,7 @@
|
||||
|
||||
/* A scratch register that may be be used throughout the backend. */
|
||||
#define TCG_TMP0 TCG_REG_R1
|
||||
#define TCG_VEC_TMP0 TCG_REG_V31
|
||||
|
||||
#define TCG_GUEST_BASE_REG TCG_REG_R13
|
||||
|
||||
@ -606,6 +608,9 @@ static bool tcg_target_const_match(int64_t val, int ct,
|
||||
if ((ct & TCG_CT_CONST_ZERO) && val == 0) {
|
||||
return true;
|
||||
}
|
||||
if ((ct & TCG_CT_CONST_M1) && val == -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (ct & TCG_CT_CONST_INV) {
|
||||
val = ~val;
|
||||
@ -2841,6 +2846,94 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
tcg_out_insn(s, VRX, VLREP, dst, TCG_TMP0, TCG_REG_NONE, 0, MO_64);
|
||||
}
|
||||
|
||||
static bool tcg_out_cmp_vec_noinv(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg a1, TCGReg a2, TCGCond cond)
|
||||
{
|
||||
bool need_swap = false, need_inv = false;
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
case TCG_COND_GT:
|
||||
case TCG_COND_GTU:
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
case TCG_COND_LE:
|
||||
case TCG_COND_LEU:
|
||||
need_inv = true;
|
||||
break;
|
||||
case TCG_COND_LT:
|
||||
case TCG_COND_LTU:
|
||||
need_swap = true;
|
||||
break;
|
||||
case TCG_COND_GE:
|
||||
case TCG_COND_GEU:
|
||||
need_swap = need_inv = true;
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
if (need_inv) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
if (need_swap) {
|
||||
TCGReg swap = a1;
|
||||
a1 = a2;
|
||||
a2 = swap;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
tcg_out_insn(s, VRRc, VCEQ, a0, a1, a2, vece);
|
||||
break;
|
||||
case TCG_COND_GT:
|
||||
tcg_out_insn(s, VRRc, VCH, a0, a1, a2, vece);
|
||||
break;
|
||||
case TCG_COND_GTU:
|
||||
tcg_out_insn(s, VRRc, VCHL, a0, a1, a2, vece);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
return need_inv;
|
||||
}
|
||||
|
||||
static void tcg_out_cmp_vec(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg a1, TCGReg a2, TCGCond cond)
|
||||
{
|
||||
if (tcg_out_cmp_vec_noinv(s, vece, a0, a1, a2, cond)) {
|
||||
tcg_out_insn(s, VRRc, VNO, a0, a0, a0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_cmpsel_vec(TCGContext *s, unsigned vece, TCGReg a0,
|
||||
TCGReg c1, TCGReg c2, TCGArg v3,
|
||||
int const_v3, TCGReg v4, TCGCond cond)
|
||||
{
|
||||
bool inv = tcg_out_cmp_vec_noinv(s, vece, TCG_VEC_TMP0, c1, c2, cond);
|
||||
|
||||
if (!const_v3) {
|
||||
if (inv) {
|
||||
tcg_out_insn(s, VRRe, VSEL, a0, v4, v3, TCG_VEC_TMP0);
|
||||
} else {
|
||||
tcg_out_insn(s, VRRe, VSEL, a0, v3, v4, TCG_VEC_TMP0);
|
||||
}
|
||||
} else if (v3) {
|
||||
if (inv) {
|
||||
tcg_out_insn(s, VRRc, VOC, a0, v4, TCG_VEC_TMP0, 0);
|
||||
} else {
|
||||
tcg_out_insn(s, VRRc, VO, a0, v4, TCG_VEC_TMP0, 0);
|
||||
}
|
||||
} else {
|
||||
if (inv) {
|
||||
tcg_out_insn(s, VRRc, VN, a0, v4, TCG_VEC_TMP0, 0);
|
||||
} else {
|
||||
tcg_out_insn(s, VRRc, VNC, a0, v4, TCG_VEC_TMP0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
unsigned vecl, unsigned vece,
|
||||
const TCGArg args[TCG_MAX_OP_ARGS],
|
||||
@ -2959,19 +3052,11 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
||||
break;
|
||||
|
||||
case INDEX_op_cmp_vec:
|
||||
switch ((TCGCond)args[3]) {
|
||||
case TCG_COND_EQ:
|
||||
tcg_out_insn(s, VRRc, VCEQ, a0, a1, a2, vece);
|
||||
break;
|
||||
case TCG_COND_GT:
|
||||
tcg_out_insn(s, VRRc, VCH, a0, a1, a2, vece);
|
||||
break;
|
||||
case TCG_COND_GTU:
|
||||
tcg_out_insn(s, VRRc, VCHL, a0, a1, a2, vece);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
tcg_out_cmp_vec(s, vece, a0, a1, a2, args[3]);
|
||||
break;
|
||||
case INDEX_op_cmpsel_vec:
|
||||
tcg_out_cmpsel_vec(s, vece, a0, a1, a2, args[3], const_args[3],
|
||||
args[4], args[5]);
|
||||
break;
|
||||
|
||||
case INDEX_op_s390_vuph_vec:
|
||||
@ -3024,9 +3109,9 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)
|
||||
case INDEX_op_umax_vec:
|
||||
case INDEX_op_umin_vec:
|
||||
case INDEX_op_xor_vec:
|
||||
return 1;
|
||||
case INDEX_op_cmp_vec:
|
||||
case INDEX_op_cmpsel_vec:
|
||||
return 1;
|
||||
case INDEX_op_rotrv_vec:
|
||||
return -1;
|
||||
case INDEX_op_mul_vec:
|
||||
@ -3039,71 +3124,6 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)
|
||||
}
|
||||
}
|
||||
|
||||
static bool expand_vec_cmp_noinv(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGCond cond)
|
||||
{
|
||||
bool need_swap = false, need_inv = false;
|
||||
|
||||
switch (cond) {
|
||||
case TCG_COND_EQ:
|
||||
case TCG_COND_GT:
|
||||
case TCG_COND_GTU:
|
||||
break;
|
||||
case TCG_COND_NE:
|
||||
case TCG_COND_LE:
|
||||
case TCG_COND_LEU:
|
||||
need_inv = true;
|
||||
break;
|
||||
case TCG_COND_LT:
|
||||
case TCG_COND_LTU:
|
||||
need_swap = true;
|
||||
break;
|
||||
case TCG_COND_GE:
|
||||
case TCG_COND_GEU:
|
||||
need_swap = need_inv = true;
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
if (need_inv) {
|
||||
cond = tcg_invert_cond(cond);
|
||||
}
|
||||
if (need_swap) {
|
||||
TCGv_vec t1;
|
||||
t1 = v1, v1 = v2, v2 = t1;
|
||||
cond = tcg_swap_cond(cond);
|
||||
}
|
||||
|
||||
vec_gen_4(INDEX_op_cmp_vec, type, vece, tcgv_vec_arg(v0),
|
||||
tcgv_vec_arg(v1), tcgv_vec_arg(v2), cond);
|
||||
|
||||
return need_inv;
|
||||
}
|
||||
|
||||
static void expand_vec_cmp(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGCond cond)
|
||||
{
|
||||
if (expand_vec_cmp_noinv(type, vece, v0, v1, v2, cond)) {
|
||||
tcg_gen_not_vec(vece, v0, v0);
|
||||
}
|
||||
}
|
||||
|
||||
static void expand_vec_cmpsel(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec c1, TCGv_vec c2,
|
||||
TCGv_vec v3, TCGv_vec v4, TCGCond cond)
|
||||
{
|
||||
TCGv_vec t = tcg_temp_new_vec(type);
|
||||
|
||||
if (expand_vec_cmp_noinv(type, vece, t, c1, c2, cond)) {
|
||||
/* Invert the sense of the compare by swapping arguments. */
|
||||
tcg_gen_bitsel_vec(vece, v0, t, v4, v3);
|
||||
} else {
|
||||
tcg_gen_bitsel_vec(vece, v0, t, v3, v4);
|
||||
}
|
||||
tcg_temp_free_vec(t);
|
||||
}
|
||||
|
||||
static void expand_vec_sat(TCGType type, unsigned vece, TCGv_vec v0,
|
||||
TCGv_vec v1, TCGv_vec v2, TCGOpcode add_sub_opc)
|
||||
{
|
||||
@ -3145,7 +3165,7 @@ void tcg_expand_vec_op(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
TCGArg a0, ...)
|
||||
{
|
||||
va_list va;
|
||||
TCGv_vec v0, v1, v2, v3, v4, t0;
|
||||
TCGv_vec v0, v1, v2, t0;
|
||||
|
||||
va_start(va, a0);
|
||||
v0 = temp_tcgv_vec(arg_temp(a0));
|
||||
@ -3153,16 +3173,6 @@ void tcg_expand_vec_op(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
v2 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
|
||||
switch (opc) {
|
||||
case INDEX_op_cmp_vec:
|
||||
expand_vec_cmp(type, vece, v0, v1, v2, va_arg(va, TCGArg));
|
||||
break;
|
||||
|
||||
case INDEX_op_cmpsel_vec:
|
||||
v3 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
v4 = temp_tcgv_vec(arg_temp(va_arg(va, TCGArg)));
|
||||
expand_vec_cmpsel(type, vece, v0, v1, v2, v3, v4, va_arg(va, TCGArg));
|
||||
break;
|
||||
|
||||
case INDEX_op_rotrv_vec:
|
||||
t0 = tcg_temp_new_vec(type);
|
||||
tcg_gen_neg_vec(vece, t0, v2);
|
||||
@ -3397,6 +3407,10 @@ static TCGConstraintSetIndex tcg_target_op_def(TCGOpcode op)
|
||||
return C_O1_I2(v, v, r);
|
||||
case INDEX_op_bitsel_vec:
|
||||
return C_O1_I3(v, v, v, v);
|
||||
case INDEX_op_cmpsel_vec:
|
||||
return (TCG_TARGET_HAS_orc_vec
|
||||
? C_O1_I4(v, v, v, vZM, v)
|
||||
: C_O1_I4(v, v, v, vZ, v));
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
@ -3521,6 +3535,7 @@ static void tcg_target_init(TCGContext *s)
|
||||
|
||||
s->reserved_regs = 0;
|
||||
tcg_regset_set_reg(s->reserved_regs, TCG_TMP0);
|
||||
tcg_regset_set_reg(s->reserved_regs, TCG_VEC_TMP0);
|
||||
/* XXX many insns can't be used with R0, so we better avoid it for now */
|
||||
tcg_regset_set_reg(s->reserved_regs, TCG_REG_R0);
|
||||
tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);
|
||||
|
@ -162,7 +162,7 @@ extern uint64_t s390_facilities[3];
|
||||
#define TCG_TARGET_HAS_sat_vec 0
|
||||
#define TCG_TARGET_HAS_minmax_vec 1
|
||||
#define TCG_TARGET_HAS_bitsel_vec 1
|
||||
#define TCG_TARGET_HAS_cmpsel_vec 0
|
||||
#define TCG_TARGET_HAS_cmpsel_vec 1
|
||||
#define TCG_TARGET_HAS_tst_vec 0
|
||||
|
||||
/* used for function call generation */
|
||||
|
@ -92,15 +92,17 @@ TCGTemp *tcg_temp_new_internal(TCGType type, TCGTempKind kind);
|
||||
*/
|
||||
TCGTemp *tcg_constant_internal(TCGType type, int64_t val);
|
||||
|
||||
void tcg_gen_op1(TCGOpcode, TCGArg);
|
||||
void tcg_gen_op2(TCGOpcode, TCGArg, TCGArg);
|
||||
void tcg_gen_op3(TCGOpcode, TCGArg, TCGArg, TCGArg);
|
||||
void tcg_gen_op4(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
void tcg_gen_op5(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
void tcg_gen_op6(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
TCGOp *tcg_gen_op1(TCGOpcode, TCGArg);
|
||||
TCGOp *tcg_gen_op2(TCGOpcode, TCGArg, TCGArg);
|
||||
TCGOp *tcg_gen_op3(TCGOpcode, TCGArg, TCGArg, TCGArg);
|
||||
TCGOp *tcg_gen_op4(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
TCGOp *tcg_gen_op5(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
TCGOp *tcg_gen_op6(TCGOpcode, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
|
||||
void vec_gen_2(TCGOpcode, TCGType, unsigned, TCGArg, TCGArg);
|
||||
void vec_gen_3(TCGOpcode, TCGType, unsigned, TCGArg, TCGArg, TCGArg);
|
||||
void vec_gen_4(TCGOpcode, TCGType, unsigned, TCGArg, TCGArg, TCGArg, TCGArg);
|
||||
void vec_gen_6(TCGOpcode opc, TCGType type, unsigned vece, TCGArg r,
|
||||
TCGArg a, TCGArg b, TCGArg c, TCGArg d, TCGArg e);
|
||||
|
||||
#endif /* TCG_INTERNAL_H */
|
||||
|
@ -3939,7 +3939,7 @@ void tcg_gen_gvec_cmps(TCGCond cond, unsigned vece, uint32_t dofs,
|
||||
uint32_t i;
|
||||
|
||||
tcg_gen_extrl_i64_i32(t1, c);
|
||||
for (i = 0; i < oprsz; i += 8) {
|
||||
for (i = 0; i < oprsz; i += 4) {
|
||||
tcg_gen_ld_i32(t0, tcg_env, aofs + i);
|
||||
tcg_gen_negsetcond_i32(cond, t0, t0, t1);
|
||||
tcg_gen_st_i32(t0, tcg_env, dofs + i);
|
||||
|
@ -172,8 +172,8 @@ void vec_gen_4(TCGOpcode opc, TCGType type, unsigned vece,
|
||||
op->args[3] = c;
|
||||
}
|
||||
|
||||
static void vec_gen_6(TCGOpcode opc, TCGType type, unsigned vece, TCGArg r,
|
||||
TCGArg a, TCGArg b, TCGArg c, TCGArg d, TCGArg e)
|
||||
void vec_gen_6(TCGOpcode opc, TCGType type, unsigned vece, TCGArg r,
|
||||
TCGArg a, TCGArg b, TCGArg c, TCGArg d, TCGArg e)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 6);
|
||||
TCGOP_VECL(op) = type - TCG_TYPE_V64;
|
||||
|
86
tcg/tcg-op.c
86
tcg/tcg-op.c
@ -37,38 +37,43 @@
|
||||
*/
|
||||
#define NI __attribute__((noinline))
|
||||
|
||||
void NI tcg_gen_op1(TCGOpcode opc, TCGArg a1)
|
||||
TCGOp * NI tcg_gen_op1(TCGOpcode opc, TCGArg a1)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 1);
|
||||
op->args[0] = a1;
|
||||
return op;
|
||||
}
|
||||
|
||||
void NI tcg_gen_op2(TCGOpcode opc, TCGArg a1, TCGArg a2)
|
||||
TCGOp * NI tcg_gen_op2(TCGOpcode opc, TCGArg a1, TCGArg a2)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 2);
|
||||
op->args[0] = a1;
|
||||
op->args[1] = a2;
|
||||
return op;
|
||||
}
|
||||
|
||||
void NI tcg_gen_op3(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3)
|
||||
TCGOp * NI tcg_gen_op3(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 3);
|
||||
op->args[0] = a1;
|
||||
op->args[1] = a2;
|
||||
op->args[2] = a3;
|
||||
return op;
|
||||
}
|
||||
|
||||
void NI tcg_gen_op4(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3, TCGArg a4)
|
||||
TCGOp * NI tcg_gen_op4(TCGOpcode opc, TCGArg a1, TCGArg a2,
|
||||
TCGArg a3, TCGArg a4)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 4);
|
||||
op->args[0] = a1;
|
||||
op->args[1] = a2;
|
||||
op->args[2] = a3;
|
||||
op->args[3] = a4;
|
||||
return op;
|
||||
}
|
||||
|
||||
void NI tcg_gen_op5(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3,
|
||||
TCGArg a4, TCGArg a5)
|
||||
TCGOp * NI tcg_gen_op5(TCGOpcode opc, TCGArg a1, TCGArg a2,
|
||||
TCGArg a3, TCGArg a4, TCGArg a5)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 5);
|
||||
op->args[0] = a1;
|
||||
@ -76,10 +81,11 @@ void NI tcg_gen_op5(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3,
|
||||
op->args[2] = a3;
|
||||
op->args[3] = a4;
|
||||
op->args[4] = a5;
|
||||
return op;
|
||||
}
|
||||
|
||||
void NI tcg_gen_op6(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3,
|
||||
TCGArg a4, TCGArg a5, TCGArg a6)
|
||||
TCGOp * NI tcg_gen_op6(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3,
|
||||
TCGArg a4, TCGArg a5, TCGArg a6)
|
||||
{
|
||||
TCGOp *op = tcg_emit_op(opc, 6);
|
||||
op->args[0] = a1;
|
||||
@ -88,6 +94,7 @@ void NI tcg_gen_op6(TCGOpcode opc, TCGArg a1, TCGArg a2, TCGArg a3,
|
||||
op->args[3] = a4;
|
||||
op->args[4] = a5;
|
||||
op->args[5] = a6;
|
||||
return op;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -110,9 +117,9 @@ static void DNI tcg_gen_op1_i64(TCGOpcode opc, TCGv_i64 a1)
|
||||
tcg_gen_op1(opc, tcgv_i64_arg(a1));
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op1i(TCGOpcode opc, TCGArg a1)
|
||||
static TCGOp * DNI tcg_gen_op1i(TCGOpcode opc, TCGArg a1)
|
||||
{
|
||||
tcg_gen_op1(opc, a1);
|
||||
return tcg_gen_op1(opc, a1);
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op2_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2)
|
||||
@ -189,16 +196,16 @@ static void DNI tcg_gen_op4i_i64(TCGOpcode opc, TCGv_i64 a1, TCGv_i64 a2,
|
||||
tcgv_i64_arg(a3), a4);
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op4ii_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2,
|
||||
TCGArg a3, TCGArg a4)
|
||||
static TCGOp * DNI tcg_gen_op4ii_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2,
|
||||
TCGArg a3, TCGArg a4)
|
||||
{
|
||||
tcg_gen_op4(opc, tcgv_i32_arg(a1), tcgv_i32_arg(a2), a3, a4);
|
||||
return tcg_gen_op4(opc, tcgv_i32_arg(a1), tcgv_i32_arg(a2), a3, a4);
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op4ii_i64(TCGOpcode opc, TCGv_i64 a1, TCGv_i64 a2,
|
||||
TCGArg a3, TCGArg a4)
|
||||
static TCGOp * DNI tcg_gen_op4ii_i64(TCGOpcode opc, TCGv_i64 a1, TCGv_i64 a2,
|
||||
TCGArg a3, TCGArg a4)
|
||||
{
|
||||
tcg_gen_op4(opc, tcgv_i64_arg(a1), tcgv_i64_arg(a2), a3, a4);
|
||||
return tcg_gen_op4(opc, tcgv_i64_arg(a1), tcgv_i64_arg(a2), a3, a4);
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op5_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2,
|
||||
@ -263,12 +270,12 @@ static void DNI tcg_gen_op6i_i64(TCGOpcode opc, TCGv_i64 a1, TCGv_i64 a2,
|
||||
tcgv_i64_arg(a3), tcgv_i64_arg(a4), tcgv_i64_arg(a5), a6);
|
||||
}
|
||||
|
||||
static void DNI tcg_gen_op6ii_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2,
|
||||
TCGv_i32 a3, TCGv_i32 a4,
|
||||
TCGArg a5, TCGArg a6)
|
||||
static TCGOp * DNI tcg_gen_op6ii_i32(TCGOpcode opc, TCGv_i32 a1, TCGv_i32 a2,
|
||||
TCGv_i32 a3, TCGv_i32 a4,
|
||||
TCGArg a5, TCGArg a6)
|
||||
{
|
||||
tcg_gen_op6(opc, tcgv_i32_arg(a1), tcgv_i32_arg(a2),
|
||||
tcgv_i32_arg(a3), tcgv_i32_arg(a4), a5, a6);
|
||||
return tcg_gen_op6(opc, tcgv_i32_arg(a1), tcgv_i32_arg(a2),
|
||||
tcgv_i32_arg(a3), tcgv_i32_arg(a4), a5, a6);
|
||||
}
|
||||
|
||||
/* Generic ops. */
|
||||
@ -279,18 +286,17 @@ void gen_set_label(TCGLabel *l)
|
||||
tcg_gen_op1(INDEX_op_set_label, label_arg(l));
|
||||
}
|
||||
|
||||
static void add_last_as_label_use(TCGLabel *l)
|
||||
static void add_as_label_use(TCGLabel *l, TCGOp *op)
|
||||
{
|
||||
TCGLabelUse *u = tcg_malloc(sizeof(TCGLabelUse));
|
||||
|
||||
u->op = tcg_last_op();
|
||||
u->op = op;
|
||||
QSIMPLEQ_INSERT_TAIL(&l->branches, u, next);
|
||||
}
|
||||
|
||||
void tcg_gen_br(TCGLabel *l)
|
||||
{
|
||||
tcg_gen_op1(INDEX_op_br, label_arg(l));
|
||||
add_last_as_label_use(l);
|
||||
add_as_label_use(l, tcg_gen_op1(INDEX_op_br, label_arg(l)));
|
||||
}
|
||||
|
||||
void tcg_gen_mb(TCGBar mb_type)
|
||||
@ -507,8 +513,9 @@ void tcg_gen_brcond_i32(TCGCond cond, TCGv_i32 arg1, TCGv_i32 arg2, TCGLabel *l)
|
||||
if (cond == TCG_COND_ALWAYS) {
|
||||
tcg_gen_br(l);
|
||||
} else if (cond != TCG_COND_NEVER) {
|
||||
tcg_gen_op4ii_i32(INDEX_op_brcond_i32, arg1, arg2, cond, label_arg(l));
|
||||
add_last_as_label_use(l);
|
||||
TCGOp *op = tcg_gen_op4ii_i32(INDEX_op_brcond_i32,
|
||||
arg1, arg2, cond, label_arg(l));
|
||||
add_as_label_use(l, op);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1927,15 +1934,16 @@ void tcg_gen_brcond_i64(TCGCond cond, TCGv_i64 arg1, TCGv_i64 arg2, TCGLabel *l)
|
||||
if (cond == TCG_COND_ALWAYS) {
|
||||
tcg_gen_br(l);
|
||||
} else if (cond != TCG_COND_NEVER) {
|
||||
TCGOp *op;
|
||||
if (TCG_TARGET_REG_BITS == 32) {
|
||||
tcg_gen_op6ii_i32(INDEX_op_brcond2_i32, TCGV_LOW(arg1),
|
||||
TCGV_HIGH(arg1), TCGV_LOW(arg2),
|
||||
TCGV_HIGH(arg2), cond, label_arg(l));
|
||||
op = tcg_gen_op6ii_i32(INDEX_op_brcond2_i32, TCGV_LOW(arg1),
|
||||
TCGV_HIGH(arg1), TCGV_LOW(arg2),
|
||||
TCGV_HIGH(arg2), cond, label_arg(l));
|
||||
} else {
|
||||
tcg_gen_op4ii_i64(INDEX_op_brcond_i64, arg1, arg2, cond,
|
||||
label_arg(l));
|
||||
op = tcg_gen_op4ii_i64(INDEX_op_brcond_i64, arg1, arg2, cond,
|
||||
label_arg(l));
|
||||
}
|
||||
add_last_as_label_use(l);
|
||||
add_as_label_use(l, op);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1946,12 +1954,12 @@ void tcg_gen_brcondi_i64(TCGCond cond, TCGv_i64 arg1, int64_t arg2, TCGLabel *l)
|
||||
} else if (cond == TCG_COND_ALWAYS) {
|
||||
tcg_gen_br(l);
|
||||
} else if (cond != TCG_COND_NEVER) {
|
||||
tcg_gen_op6ii_i32(INDEX_op_brcond2_i32,
|
||||
TCGV_LOW(arg1), TCGV_HIGH(arg1),
|
||||
tcg_constant_i32(arg2),
|
||||
tcg_constant_i32(arg2 >> 32),
|
||||
cond, label_arg(l));
|
||||
add_last_as_label_use(l);
|
||||
TCGOp *op = tcg_gen_op6ii_i32(INDEX_op_brcond2_i32,
|
||||
TCGV_LOW(arg1), TCGV_HIGH(arg1),
|
||||
tcg_constant_i32(arg2),
|
||||
tcg_constant_i32(arg2 >> 32),
|
||||
cond, label_arg(l));
|
||||
add_as_label_use(l, op);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user