linux-user, xtensa: add syscall table generation support

Copy syscall.tbl and syscallhdr.sh from linux/arch/xtensa/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20200310103403.3284090-6-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2020-03-10 11:33:47 +01:00
parent 5b85cae955
commit a4a9359253
6 changed files with 448 additions and 470 deletions

3
configure vendored
View File

@ -1889,7 +1889,7 @@ rm -f */config-devices.mak.d
# Remove syscall_nr.h to be sure they will be regenerated in the build # Remove syscall_nr.h to be sure they will be regenerated in the build
# directory, not in the source directory # directory, not in the source directory
for arch in alpha hppa m68k ; do for arch in alpha hppa m68k xtensa ; do
# remove the file if it has been generated in the source directory # remove the file if it has been generated in the source directory
rm -f "${source_path}/linux-user/${arch}/syscall_nr.h" rm -f "${source_path}/linux-user/${arch}/syscall_nr.h"
# remove the dependency files # remove the dependency files
@ -7916,6 +7916,7 @@ case "$target_name" in
;; ;;
xtensa|xtensaeb) xtensa|xtensaeb)
TARGET_ARCH=xtensa TARGET_ARCH=xtensa
TARGET_SYSTBL_ABI=common
bflt="yes" bflt="yes"
mttcg="yes" mttcg="yes"
;; ;;

View File

@ -12,3 +12,4 @@ obj-$(TARGET_AARCH64) += arm/semihost.o
obj-$(TARGET_ALPHA) += alpha/ obj-$(TARGET_ALPHA) += alpha/
obj-$(TARGET_HPPA) += hppa/ obj-$(TARGET_HPPA) += hppa/
obj-$(TARGET_M68K) += m68k/ obj-$(TARGET_M68K) += m68k/
obj-$(TARGET_XTENSA) += xtensa/

View File

@ -0,0 +1,5 @@
generated-files-y += linux-user/xtensa/syscall_nr.h
syshdr := $(SRC_PATH)/linux-user/xtensa/syscallhdr.sh
%/syscall_nr.h: $(SRC_PATH)/linux-user/xtensa/syscall.tbl $(syshdr)
$(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")

View File

@ -0,0 +1,408 @@
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
#
# system call numbers and entry vectors for xtensa
#
# The format is:
# <number> <abi> <name> <entry point>
#
# The <abi> is always "common" for this file
#
0 common spill sys_ni_syscall
1 common xtensa sys_ni_syscall
2 common available4 sys_ni_syscall
3 common available5 sys_ni_syscall
4 common available6 sys_ni_syscall
5 common available7 sys_ni_syscall
6 common available8 sys_ni_syscall
7 common available9 sys_ni_syscall
# File Operations
8 common open sys_open
9 common close sys_close
10 common dup sys_dup
11 common dup2 sys_dup2
12 common read sys_read
13 common write sys_write
14 common select sys_select
15 common lseek sys_lseek
16 common poll sys_poll
17 common _llseek sys_llseek
18 common epoll_wait sys_epoll_wait
19 common epoll_ctl sys_epoll_ctl
20 common epoll_create sys_epoll_create
21 common creat sys_creat
22 common truncate sys_truncate
23 common ftruncate sys_ftruncate
24 common readv sys_readv
25 common writev sys_writev
26 common fsync sys_fsync
27 common fdatasync sys_fdatasync
28 common truncate64 sys_truncate64
29 common ftruncate64 sys_ftruncate64
30 common pread64 sys_pread64
31 common pwrite64 sys_pwrite64
32 common link sys_link
33 common rename sys_rename
34 common symlink sys_symlink
35 common readlink sys_readlink
36 common mknod sys_mknod
37 common pipe sys_pipe
38 common unlink sys_unlink
39 common rmdir sys_rmdir
40 common mkdir sys_mkdir
41 common chdir sys_chdir
42 common fchdir sys_fchdir
43 common getcwd sys_getcwd
44 common chmod sys_chmod
45 common chown sys_chown
46 common stat sys_newstat
47 common stat64 sys_stat64
48 common lchown sys_lchown
49 common lstat sys_newlstat
50 common lstat64 sys_lstat64
51 common available51 sys_ni_syscall
52 common fchmod sys_fchmod
53 common fchown sys_fchown
54 common fstat sys_newfstat
55 common fstat64 sys_fstat64
56 common flock sys_flock
57 common access sys_access
58 common umask sys_umask
59 common getdents sys_getdents
60 common getdents64 sys_getdents64
61 common fcntl64 sys_fcntl64
62 common fallocate sys_fallocate
63 common fadvise64_64 xtensa_fadvise64_64
64 common utime sys_utime32
65 common utimes sys_utimes_time32
66 common ioctl sys_ioctl
67 common fcntl sys_fcntl
68 common setxattr sys_setxattr
69 common getxattr sys_getxattr
70 common listxattr sys_listxattr
71 common removexattr sys_removexattr
72 common lsetxattr sys_lsetxattr
73 common lgetxattr sys_lgetxattr
74 common llistxattr sys_llistxattr
75 common lremovexattr sys_lremovexattr
76 common fsetxattr sys_fsetxattr
77 common fgetxattr sys_fgetxattr
78 common flistxattr sys_flistxattr
79 common fremovexattr sys_fremovexattr
# File Map / Shared Memory Operations
80 common mmap2 sys_mmap_pgoff
81 common munmap sys_munmap
82 common mprotect sys_mprotect
83 common brk sys_brk
84 common mlock sys_mlock
85 common munlock sys_munlock
86 common mlockall sys_mlockall
87 common munlockall sys_munlockall
88 common mremap sys_mremap
89 common msync sys_msync
90 common mincore sys_mincore
91 common madvise sys_madvise
92 common shmget sys_shmget
93 common shmat xtensa_shmat
94 common shmctl sys_old_shmctl
95 common shmdt sys_shmdt
# Socket Operations
96 common socket sys_socket
97 common setsockopt sys_setsockopt
98 common getsockopt sys_getsockopt
99 common shutdown sys_shutdown
100 common bind sys_bind
101 common connect sys_connect
102 common listen sys_listen
103 common accept sys_accept
104 common getsockname sys_getsockname
105 common getpeername sys_getpeername
106 common sendmsg sys_sendmsg
107 common recvmsg sys_recvmsg
108 common send sys_send
109 common recv sys_recv
110 common sendto sys_sendto
111 common recvfrom sys_recvfrom
112 common socketpair sys_socketpair
113 common sendfile sys_sendfile
114 common sendfile64 sys_sendfile64
115 common sendmmsg sys_sendmmsg
# Process Operations
116 common clone sys_clone
117 common execve sys_execve
118 common exit sys_exit
119 common exit_group sys_exit_group
120 common getpid sys_getpid
121 common wait4 sys_wait4
122 common waitid sys_waitid
123 common kill sys_kill
124 common tkill sys_tkill
125 common tgkill sys_tgkill
126 common set_tid_address sys_set_tid_address
127 common gettid sys_gettid
128 common setsid sys_setsid
129 common getsid sys_getsid
130 common prctl sys_prctl
131 common personality sys_personality
132 common getpriority sys_getpriority
133 common setpriority sys_setpriority
134 common setitimer sys_setitimer
135 common getitimer sys_getitimer
136 common setuid sys_setuid
137 common getuid sys_getuid
138 common setgid sys_setgid
139 common getgid sys_getgid
140 common geteuid sys_geteuid
141 common getegid sys_getegid
142 common setreuid sys_setreuid
143 common setregid sys_setregid
144 common setresuid sys_setresuid
145 common getresuid sys_getresuid
146 common setresgid sys_setresgid
147 common getresgid sys_getresgid
148 common setpgid sys_setpgid
149 common getpgid sys_getpgid
150 common getppid sys_getppid
151 common getpgrp sys_getpgrp
# 152 was set_thread_area
152 common reserved152 sys_ni_syscall
# 153 was get_thread_area
153 common reserved153 sys_ni_syscall
154 common times sys_times
155 common acct sys_acct
156 common sched_setaffinity sys_sched_setaffinity
157 common sched_getaffinity sys_sched_getaffinity
158 common capget sys_capget
159 common capset sys_capset
160 common ptrace sys_ptrace
161 common semtimedop sys_semtimedop_time32
162 common semget sys_semget
163 common semop sys_semop
164 common semctl sys_old_semctl
165 common available165 sys_ni_syscall
166 common msgget sys_msgget
167 common msgsnd sys_msgsnd
168 common msgrcv sys_msgrcv
169 common msgctl sys_old_msgctl
170 common available170 sys_ni_syscall
# File System
171 common umount2 sys_umount
172 common mount sys_mount
173 common swapon sys_swapon
174 common chroot sys_chroot
175 common pivot_root sys_pivot_root
176 common umount sys_oldumount
177 common swapoff sys_swapoff
178 common sync sys_sync
179 common syncfs sys_syncfs
180 common setfsuid sys_setfsuid
181 common setfsgid sys_setfsgid
182 common sysfs sys_sysfs
183 common ustat sys_ustat
184 common statfs sys_statfs
185 common fstatfs sys_fstatfs
186 common statfs64 sys_statfs64
187 common fstatfs64 sys_fstatfs64
# System
188 common setrlimit sys_setrlimit
189 common getrlimit sys_getrlimit
190 common getrusage sys_getrusage
191 common futex sys_futex_time32
192 common gettimeofday sys_gettimeofday
193 common settimeofday sys_settimeofday
194 common adjtimex sys_adjtimex_time32
195 common nanosleep sys_nanosleep_time32
196 common getgroups sys_getgroups
197 common setgroups sys_setgroups
198 common sethostname sys_sethostname
199 common setdomainname sys_setdomainname
200 common syslog sys_syslog
201 common vhangup sys_vhangup
202 common uselib sys_uselib
203 common reboot sys_reboot
204 common quotactl sys_quotactl
# 205 was old nfsservctl
205 common nfsservctl sys_ni_syscall
206 common _sysctl sys_sysctl
207 common bdflush sys_bdflush
208 common uname sys_newuname
209 common sysinfo sys_sysinfo
210 common init_module sys_init_module
211 common delete_module sys_delete_module
212 common sched_setparam sys_sched_setparam
213 common sched_getparam sys_sched_getparam
214 common sched_setscheduler sys_sched_setscheduler
215 common sched_getscheduler sys_sched_getscheduler
216 common sched_get_priority_max sys_sched_get_priority_max
217 common sched_get_priority_min sys_sched_get_priority_min
218 common sched_rr_get_interval sys_sched_rr_get_interval_time32
219 common sched_yield sys_sched_yield
222 common available222 sys_ni_syscall
# Signal Handling
223 common restart_syscall sys_restart_syscall
224 common sigaltstack sys_sigaltstack
225 common rt_sigreturn xtensa_rt_sigreturn
226 common rt_sigaction sys_rt_sigaction
227 common rt_sigprocmask sys_rt_sigprocmask
228 common rt_sigpending sys_rt_sigpending
229 common rt_sigtimedwait sys_rt_sigtimedwait_time32
230 common rt_sigqueueinfo sys_rt_sigqueueinfo
231 common rt_sigsuspend sys_rt_sigsuspend
# Message
232 common mq_open sys_mq_open
233 common mq_unlink sys_mq_unlink
234 common mq_timedsend sys_mq_timedsend_time32
235 common mq_timedreceive sys_mq_timedreceive_time32
236 common mq_notify sys_mq_notify
237 common mq_getsetattr sys_mq_getsetattr
238 common available238 sys_ni_syscall
239 common io_setup sys_io_setup
# IO
240 common io_destroy sys_io_destroy
241 common io_submit sys_io_submit
242 common io_getevents sys_io_getevents_time32
243 common io_cancel sys_io_cancel
244 common clock_settime sys_clock_settime32
245 common clock_gettime sys_clock_gettime32
246 common clock_getres sys_clock_getres_time32
247 common clock_nanosleep sys_clock_nanosleep_time32
# Timer
248 common timer_create sys_timer_create
249 common timer_delete sys_timer_delete
250 common timer_settime sys_timer_settime32
251 common timer_gettime sys_timer_gettime32
252 common timer_getoverrun sys_timer_getoverrun
# System
253 common reserved253 sys_ni_syscall
254 common lookup_dcookie sys_lookup_dcookie
255 common available255 sys_ni_syscall
256 common add_key sys_add_key
257 common request_key sys_request_key
258 common keyctl sys_keyctl
259 common available259 sys_ni_syscall
260 common readahead sys_readahead
261 common remap_file_pages sys_remap_file_pages
262 common migrate_pages sys_migrate_pages
263 common mbind sys_mbind
264 common get_mempolicy sys_get_mempolicy
265 common set_mempolicy sys_set_mempolicy
266 common unshare sys_unshare
267 common move_pages sys_move_pages
268 common splice sys_splice
269 common tee sys_tee
270 common vmsplice sys_vmsplice
271 common available271 sys_ni_syscall
272 common pselect6 sys_pselect6_time32
273 common ppoll sys_ppoll_time32
274 common epoll_pwait sys_epoll_pwait
275 common epoll_create1 sys_epoll_create1
276 common inotify_init sys_inotify_init
277 common inotify_add_watch sys_inotify_add_watch
278 common inotify_rm_watch sys_inotify_rm_watch
279 common inotify_init1 sys_inotify_init1
280 common getcpu sys_getcpu
281 common kexec_load sys_ni_syscall
282 common ioprio_set sys_ioprio_set
283 common ioprio_get sys_ioprio_get
284 common set_robust_list sys_set_robust_list
285 common get_robust_list sys_get_robust_list
286 common available286 sys_ni_syscall
287 common available287 sys_ni_syscall
# Relative File Operations
288 common openat sys_openat
289 common mkdirat sys_mkdirat
290 common mknodat sys_mknodat
291 common unlinkat sys_unlinkat
292 common renameat sys_renameat
293 common linkat sys_linkat
294 common symlinkat sys_symlinkat
295 common readlinkat sys_readlinkat
296 common utimensat sys_utimensat_time32
297 common fchownat sys_fchownat
298 common futimesat sys_futimesat_time32
299 common fstatat64 sys_fstatat64
300 common fchmodat sys_fchmodat
301 common faccessat sys_faccessat
302 common available302 sys_ni_syscall
303 common available303 sys_ni_syscall
304 common signalfd sys_signalfd
# 305 was timerfd
306 common eventfd sys_eventfd
307 common recvmmsg sys_recvmmsg_time32
308 common setns sys_setns
309 common signalfd4 sys_signalfd4
310 common dup3 sys_dup3
311 common pipe2 sys_pipe2
312 common timerfd_create sys_timerfd_create
313 common timerfd_settime sys_timerfd_settime32
314 common timerfd_gettime sys_timerfd_gettime32
315 common available315 sys_ni_syscall
316 common eventfd2 sys_eventfd2
317 common preadv sys_preadv
318 common pwritev sys_pwritev
319 common available319 sys_ni_syscall
320 common fanotify_init sys_fanotify_init
321 common fanotify_mark sys_fanotify_mark
322 common process_vm_readv sys_process_vm_readv
323 common process_vm_writev sys_process_vm_writev
324 common name_to_handle_at sys_name_to_handle_at
325 common open_by_handle_at sys_open_by_handle_at
326 common sync_file_range2 sys_sync_file_range2
327 common perf_event_open sys_perf_event_open
328 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo
329 common clock_adjtime sys_clock_adjtime32
330 common prlimit64 sys_prlimit64
331 common kcmp sys_kcmp
332 common finit_module sys_finit_module
333 common accept4 sys_accept4
334 common sched_setattr sys_sched_setattr
335 common sched_getattr sys_sched_getattr
336 common renameat2 sys_renameat2
337 common seccomp sys_seccomp
338 common getrandom sys_getrandom
339 common memfd_create sys_memfd_create
340 common bpf sys_bpf
341 common execveat sys_execveat
342 common userfaultfd sys_userfaultfd
343 common membarrier sys_membarrier
344 common mlock2 sys_mlock2
345 common copy_file_range sys_copy_file_range
346 common preadv2 sys_preadv2
347 common pwritev2 sys_pwritev2
348 common pkey_mprotect sys_pkey_mprotect
349 common pkey_alloc sys_pkey_alloc
350 common pkey_free sys_pkey_free
351 common statx sys_statx
352 common rseq sys_rseq
# 353 through 402 are unassigned to sync up with generic numbers
403 common clock_gettime64 sys_clock_gettime
404 common clock_settime64 sys_clock_settime
405 common clock_adjtime64 sys_clock_adjtime
406 common clock_getres_time64 sys_clock_getres
407 common clock_nanosleep_time64 sys_clock_nanosleep
408 common timer_gettime64 sys_timer_gettime
409 common timer_settime64 sys_timer_settime
410 common timerfd_gettime64 sys_timerfd_gettime
411 common timerfd_settime64 sys_timerfd_settime
412 common utimensat_time64 sys_utimensat
413 common pselect6_time64 sys_pselect6
414 common ppoll_time64 sys_ppoll
416 common io_pgetevents_time64 sys_io_pgetevents
417 common recvmmsg_time64 sys_recvmmsg
418 common mq_timedsend_time64 sys_mq_timedsend
419 common mq_timedreceive_time64 sys_mq_timedreceive
420 common semtimedop_time64 sys_semtimedop
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common 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

View File

@ -1,469 +0,0 @@
/*
* include/asm-xtensa/unistd.h
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2001 - 2009 Tensilica Inc.
*/
#ifndef XTENSA_SYSCALL_NR_H
#define XTENSA_SYSCALL_NR_H
#define TARGET_NR_spill 0
#define TARGET_NR_xtensa 1
#define TARGET_NR_available4 2
#define TARGET_NR_available5 3
#define TARGET_NR_available6 4
#define TARGET_NR_available7 5
#define TARGET_NR_available8 6
#define TARGET_NR_available9 7
/* File Operations */
#define TARGET_NR_open 8
#define TARGET_NR_close 9
#define TARGET_NR_dup 10
#define TARGET_NR_dup2 11
#define TARGET_NR_read 12
#define TARGET_NR_write 13
#define TARGET_NR_select 14
#define TARGET_NR_lseek 15
#define TARGET_NR_poll 16
#define TARGET_NR__llseek 17
#define TARGET_NR_epoll_wait 18
#define TARGET_NR_epoll_ctl 19
#define TARGET_NR_epoll_create 20
#define TARGET_NR_creat 21
#define TARGET_NR_truncate 22
#define TARGET_NR_ftruncate 23
#define TARGET_NR_readv 24
#define TARGET_NR_writev 25
#define TARGET_NR_fsync 26
#define TARGET_NR_fdatasync 27
#define TARGET_NR_truncate64 28
#define TARGET_NR_ftruncate64 29
#define TARGET_NR_pread64 30
#define TARGET_NR_pwrite64 31
#define TARGET_NR_link 32
#define TARGET_NR_rename 33
#define TARGET_NR_symlink 34
#define TARGET_NR_readlink 35
#define TARGET_NR_mknod 36
#define TARGET_NR_pipe 37
#define TARGET_NR_unlink 38
#define TARGET_NR_rmdir 39
#define TARGET_NR_mkdir 40
#define TARGET_NR_chdir 41
#define TARGET_NR_fchdir 42
#define TARGET_NR_getcwd 43
#define TARGET_NR_chmod 44
#define TARGET_NR_chown 45
#define TARGET_NR_stat 46
#define TARGET_NR_stat64 47
#define TARGET_NR_lchown 48
#define TARGET_NR_lstat 49
#define TARGET_NR_lstat64 50
#define TARGET_NR_available51 51
#define TARGET_NR_fchmod 52
#define TARGET_NR_fchown 53
#define TARGET_NR_fstat 54
#define TARGET_NR_fstat64 55
#define TARGET_NR_flock 56
#define TARGET_NR_access 57
#define TARGET_NR_umask 58
#define TARGET_NR_getdents 59
#define TARGET_NR_getdents64 60
#define TARGET_NR_fcntl64 61
#define TARGET_NR_fallocate 62
#define TARGET_NR_fadvise64_64 63
#define TARGET_NR_utime 64 /* glibc 2.3.3 ?? */
#define TARGET_NR_utimes 65
#define TARGET_NR_ioctl 66
#define TARGET_NR_fcntl 67
#define TARGET_NR_setxattr 68
#define TARGET_NR_getxattr 69
#define TARGET_NR_listxattr 70
#define TARGET_NR_removexattr 71
#define TARGET_NR_lsetxattr 72
#define TARGET_NR_lgetxattr 73
#define TARGET_NR_llistxattr 74
#define TARGET_NR_lremovexattr 75
#define TARGET_NR_fsetxattr 76
#define TARGET_NR_fgetxattr 77
#define TARGET_NR_flistxattr 78
#define TARGET_NR_fremovexattr 79
/* File Map / Shared Memory Operations */
#define TARGET_NR_mmap2 80
#define TARGET_NR_munmap 81
#define TARGET_NR_mprotect 82
#define TARGET_NR_brk 83
#define TARGET_NR_mlock 84
#define TARGET_NR_munlock 85
#define TARGET_NR_mlockall 86
#define TARGET_NR_munlockall 87
#define TARGET_NR_mremap 88
#define TARGET_NR_msync 89
#define TARGET_NR_mincore 90
#define TARGET_NR_madvise 91
#define TARGET_NR_shmget 92
#define TARGET_NR_shmat 93
#define TARGET_NR_shmctl 94
#define TARGET_NR_shmdt 95
/* Socket Operations */
#define TARGET_NR_socket 96
#define TARGET_NR_setsockopt 97
#define TARGET_NR_getsockopt 98
#define TARGET_NR_shutdown 99
#define TARGET_NR_bind 100
#define TARGET_NR_connect 101
#define TARGET_NR_listen 102
#define TARGET_NR_accept 103
#define TARGET_NR_getsockname 104
#define TARGET_NR_getpeername 105
#define TARGET_NR_sendmsg 106
#define TARGET_NR_recvmsg 107
#define TARGET_NR_send 108
#define TARGET_NR_recv 109
#define TARGET_NR_sendto 110
#define TARGET_NR_recvfrom 111
#define TARGET_NR_socketpair 112
#define TARGET_NR_sendfile 113
#define TARGET_NR_sendfile64 114
#define TARGET_NR_sendmmsg 115
/* Process Operations */
#define TARGET_NR_clone 116
#define TARGET_NR_execve 117
#define TARGET_NR_exit 118
#define TARGET_NR_exit_group 119
#define TARGET_NR_getpid 120
#define TARGET_NR_wait4 121
#define TARGET_NR_waitid 122
#define TARGET_NR_kill 123
#define TARGET_NR_tkill 124
#define TARGET_NR_tgkill 125
#define TARGET_NR_set_tid_address 126
#define TARGET_NR_gettid 127
#define TARGET_NR_setsid 128
#define TARGET_NR_getsid 129
#define TARGET_NR_prctl 130
#define TARGET_NR_personality 131
#define TARGET_NR_getpriority 132
#define TARGET_NR_setpriority 133
#define TARGET_NR_setitimer 134
#define TARGET_NR_getitimer 135
#define TARGET_NR_setuid 136
#define TARGET_NR_getuid 137
#define TARGET_NR_setgid 138
#define TARGET_NR_getgid 139
#define TARGET_NR_geteuid 140
#define TARGET_NR_getegid 141
#define TARGET_NR_setreuid 142
#define TARGET_NR_setregid 143
#define TARGET_NR_setresuid 144
#define TARGET_NR_getresuid 145
#define TARGET_NR_setresgid 146
#define TARGET_NR_getresgid 147
#define TARGET_NR_setpgid 148
#define TARGET_NR_getpgid 149
#define TARGET_NR_getppid 150
#define TARGET_NR_getpgrp 151
#define TARGET_NR_reserved152 152 /* set_thread_area */
#define TARGET_NR_reserved153 153 /* get_thread_area */
#define TARGET_NR_times 154
#define TARGET_NR_acct 155
#define TARGET_NR_sched_setaffinity 156
#define TARGET_NR_sched_getaffinity 157
#define TARGET_NR_capget 158
#define TARGET_NR_capset 159
#define TARGET_NR_ptrace 160
#define TARGET_NR_semtimedop 161
#define TARGET_NR_semget 162
#define TARGET_NR_semop 163
#define TARGET_NR_semctl 164
#define TARGET_NR_available165 165
#define TARGET_NR_msgget 166
#define TARGET_NR_msgsnd 167
#define TARGET_NR_msgrcv 168
#define TARGET_NR_msgctl 169
#define TARGET_NR_available170 170
/* File System */
#define TARGET_NR_umount2 171
#define TARGET_NR_mount 172
#define TARGET_NR_swapon 173
#define TARGET_NR_chroot 174
#define TARGET_NR_pivot_root 175
#define TARGET_NR_umount 176
#define TARGET_NR_swapoff 177
#define TARGET_NR_sync 178
#define TARGET_NR_syncfs 179
#define TARGET_NR_setfsuid 180
#define TARGET_NR_setfsgid 181
#define TARGET_NR_sysfs 182
#define TARGET_NR_ustat 183
#define TARGET_NR_statfs 184
#define TARGET_NR_fstatfs 185
#define TARGET_NR_statfs64 186
#define TARGET_NR_fstatfs64 187
/* System */
#define TARGET_NR_setrlimit 188
#define TARGET_NR_getrlimit 189
#define TARGET_NR_getrusage 190
#define TARGET_NR_futex 191
#define TARGET_NR_gettimeofday 192
#define TARGET_NR_settimeofday 193
#define TARGET_NR_adjtimex 194
#define TARGET_NR_nanosleep 195
#define TARGET_NR_getgroups 196
#define TARGET_NR_setgroups 197
#define TARGET_NR_sethostname 198
#define TARGET_NR_setdomainname 199
#define TARGET_NR_syslog 200
#define TARGET_NR_vhangup 201
#define TARGET_NR_uselib 202
#define TARGET_NR_reboot 203
#define TARGET_NR_quotactl 204
#define TARGET_NR_nfsservctl 205
#define TARGET_NR__sysctl 206
#define TARGET_NR_bdflush 207
#define TARGET_NR_uname 208
#define TARGET_NR_sysinfo 209
#define TARGET_NR_init_module 210
#define TARGET_NR_delete_module 211
#define TARGET_NR_sched_setparam 212
#define TARGET_NR_sched_getparam 213
#define TARGET_NR_sched_setscheduler 214
#define TARGET_NR_sched_getscheduler 215
#define TARGET_NR_sched_get_priority_max 216
#define TARGET_NR_sched_get_priority_min 217
#define TARGET_NR_sched_rr_get_interval 218
#define TARGET_NR_sched_yield 219
#define TARGET_NR_available222 222
/* Signal Handling */
#define TARGET_NR_restart_syscall 223
#define TARGET_NR_sigaltstack 224
#define TARGET_NR_rt_sigreturn 225
#define TARGET_NR_rt_sigaction 226
#define TARGET_NR_rt_sigprocmask 227
#define TARGET_NR_rt_sigpending 228
#define TARGET_NR_rt_sigtimedwait 229
#define TARGET_NR_rt_sigqueueinfo 230
#define TARGET_NR_rt_sigsuspend 231
/* Message */
#define TARGET_NR_mq_open 232
#define TARGET_NR_mq_unlink 233
#define TARGET_NR_mq_timedsend 234
#define TARGET_NR_mq_timedreceive 235
#define TARGET_NR_mq_notify 236
#define TARGET_NR_mq_getsetattr 237
#define TARGET_NR_available238 238
/* IO */
#define TARGET_NR_io_setup 239
#define TARGET_NR_io_destroy 240
#define TARGET_NR_io_submit 241
#define TARGET_NR_io_getevents 242
#define TARGET_NR_io_cancel 243
#define TARGET_NR_clock_settime 244
#define TARGET_NR_clock_gettime 245
#define TARGET_NR_clock_getres 246
#define TARGET_NR_clock_nanosleep 247
/* Timer */
#define TARGET_NR_timer_create 248
#define TARGET_NR_timer_delete 249
#define TARGET_NR_timer_settime 250
#define TARGET_NR_timer_gettime 251
#define TARGET_NR_timer_getoverrun 252
/* System */
#define TARGET_NR_reserved253 253
#define TARGET_NR_lookup_dcookie 254
#define TARGET_NR_available255 255
#define TARGET_NR_add_key 256
#define TARGET_NR_request_key 257
#define TARGET_NR_keyctl 258
#define TARGET_NR_available259 259
#define TARGET_NR_readahead 260
#define TARGET_NR_remap_file_pages 261
#define TARGET_NR_migrate_pages 262
#define TARGET_NR_mbind 263
#define TARGET_NR_get_mempolicy 264
#define TARGET_NR_set_mempolicy 265
#define TARGET_NR_unshare 266
#define TARGET_NR_move_pages 267
#define TARGET_NR_splice 268
#define TARGET_NR_tee 269
#define TARGET_NR_vmsplice 270
#define TARGET_NR_available271 271
#define TARGET_NR_pselect6 272
#define TARGET_NR_ppoll 273
#define TARGET_NR_epoll_pwait 274
#define TARGET_NR_epoll_create1 275
#define TARGET_NR_inotify_init 276
#define TARGET_NR_inotify_add_watch 277
#define TARGET_NR_inotify_rm_watch 278
#define TARGET_NR_inotify_init1 279
#define TARGET_NR_getcpu 280
#define TARGET_NR_kexec_load 281
#define TARGET_NR_ioprio_set 282
#define TARGET_NR_ioprio_get 283
#define TARGET_NR_set_robust_list 284
#define TARGET_NR_get_robust_list 285
#define TARGET_NR_available286 286
#define TARGET_NR_available287 287
/* Relative File Operations */
#define TARGET_NR_openat 288
#define TARGET_NR_mkdirat 289
#define TARGET_NR_mknodat 290
#define TARGET_NR_unlinkat 291
#define TARGET_NR_renameat 292
#define TARGET_NR_linkat 293
#define TARGET_NR_symlinkat 294
#define TARGET_NR_readlinkat 295
#define TARGET_NR_utimensat 296
#define TARGET_NR_fchownat 297
#define TARGET_NR_futimesat 298
#define TARGET_NR_fstatat64 299
#define TARGET_NR_fchmodat 300
#define TARGET_NR_faccessat 301
#define TARGET_NR_available302 302
#define TARGET_NR_available303 303
#define TARGET_NR_signalfd 304
/* 305 was TARGET_NR_timerfd */
#define TARGET_NR_eventfd 306
#define TARGET_NR_recvmmsg 307
#define TARGET_NR_setns 308
#define TARGET_NR_signalfd4 309
#define TARGET_NR_dup3 310
#define TARGET_NR_pipe2 311
#define TARGET_NR_timerfd_create 312
#define TARGET_NR_timerfd_settime 313
#define TARGET_NR_timerfd_gettime 314
#define TARGET_NR_available315 315
#define TARGET_NR_eventfd2 316
#define TARGET_NR_preadv 317
#define TARGET_NR_pwritev 318
#define TARGET_NR_available319 319
#define TARGET_NR_fanotify_init 320
#define TARGET_NR_fanotify_mark 321
#define TARGET_NR_process_vm_readv 322
#define TARGET_NR_process_vm_writev 323
#define TARGET_NR_name_to_handle_at 324
#define TARGET_NR_open_by_handle_at 325
#define TARGET_NR_sync_file_range2 326
#define TARGET_NR_perf_event_open 327
#define TARGET_NR_rt_tgsigqueueinfo 328
#define TARGET_NR_clock_adjtime 329
#define TARGET_NR_prlimit64 330
#define TARGET_NR_kcmp 331
#define TARGET_NR_finit_module 332
#define TARGET_NR_accept4 333
#define TARGET_NR_sched_setattr 334
#define TARGET_NR_sched_getattr 335
#define TARGET_NR_renameat2 336
#define TARGET_NR_seccomp 337
#define TARGET_NR_getrandom 338
#define TARGET_NR_memfd_create 339
#define TARGET_NR_bpf 340
#define TARGET_NR_execveat 341
#define TARGET_NR_userfaultfd 342
#define TARGET_NR_membarrier 343
#define TARGET_NR_mlock2 344
#define TARGET_NR_copy_file_range 345
#define TARGET_NR_preadv2 346
#define TARGET_NR_pwritev2 347
#define TARGET_NR_pkey_mprotect 348
#define TARGET_NR_pkey_alloc 349
#define TARGET_NR_pkey_free 350
#define TARGET_NR_statx 351
#define TARGET_NR_rseq 352
/* 353 through 402 are unassigned to sync up with generic numbers */
#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
#endif /* XTENSA_SYSCALL_NR_H */

View File

@ -0,0 +1,32 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
in="$1"
out="$2"
my_abis=`echo "($3)" | tr ',' '|'`
prefix="$4"
offset="$5"
fileguard=LINUX_USER_XTENSA_`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 | (
printf "#ifndef %s\n" "${fileguard}"
printf "#define %s\n" "${fileguard}"
printf "\n"
nxt=0
while read nr abi name entry ; do
if [ -z "$offset" ]; then
printf "#define TARGET_NR_%s%s\t%s\n" \
"${prefix}" "${name}" "${nr}"
else
printf "#define TARGET_NR_%s%s\t(%s + %s)\n" \
"${prefix}" "${name}" "${offset}" "${nr}"
fi
nxt=$((nr+1))
done
printf "\n"
printf "#endif /* %s */" "${fileguard}"
) > "$out"