qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 08/22] linux-user,arm: add syscall table generation support


From: Laurent Vivier
Subject: Re: [PATCH 08/22] linux-user,arm: add syscall table generation support
Date: Tue, 18 Feb 2020 15:11:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 17/02/2020 23:35, Laurent Vivier wrote:
> Copy syscall.tbl and syscallhdr.sh from linux/arch/arm/tools/syscalls v5.5
> Update syscallhdr.sh to generate QEMU syscall_nr.h
> 
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
>  configure                    |   1 +
>  linux-user/Makefile.objs     |   3 +-
>  linux-user/arm/Makefile.objs |   8 +
>  linux-user/arm/syscall.tbl   | 451 +++++++++++++++++++++++++++++++++++
>  linux-user/arm/syscall_nr.h  | 447 ----------------------------------
>  linux-user/arm/syscallhdr.sh |  31 +++
>  6 files changed, 492 insertions(+), 449 deletions(-)
>  create mode 100644 linux-user/arm/Makefile.objs
>  create mode 100644 linux-user/arm/syscall.tbl
>  delete mode 100644 linux-user/arm/syscall_nr.h
>  create mode 100644 linux-user/arm/syscallhdr.sh

I've found a regression on arm because TARGET_NR_arm_sync_file_range was
mapped to TARGET_NR_sync_file_range2 and this is not generated anymore.

I will add something like:

--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -11682,8 +11682,13 @@ static abi_long do_syscall1(void *cpu_env, int
num, abi_long arg1,
 #endif
         return ret;
 #endif
+#if defined(TARGET_NR_sync_file_range2) ||
defined(TARGET_NR_arm_sync_file_range)
+#if defined(TARGET_NR_arm_sync_file_range)
+    case TARGET_NR_arm_sync_file_range:
+#endif
 #if defined(TARGET_NR_sync_file_range2)
     case TARGET_NR_sync_file_range2:
+#endif
         /* This is like sync_file_range but the arguments are reordered */
 #if TARGET_ABI_BITS == 32
         ret = get_errno(sync_file_range(arg1, target_offset64(arg3, arg4),

Thanks,
Laurent
> 
> diff --git a/configure b/configure
> index 7873e059e8c4..6db6a658b355 100755
> --- a/configure
> +++ b/configure
> @@ -7686,6 +7686,7 @@ case "$target_name" in
>    ;;
>    arm|armeb)
>      TARGET_ARCH=arm
> +    TARGET_SYSTBL_ABI=common,oabi
>      bflt="yes"
>      mttcg="yes"
>      gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
> diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
> index 5a26281e8867..bc12e38291bc 100644
> --- a/linux-user/Makefile.objs
> +++ b/linux-user/Makefile.objs
> @@ -5,11 +5,10 @@ obj-y = main.o syscall.o strace.o mmap.o signal.o \
>  
>  obj-$(TARGET_HAS_BFLT) += flatload.o
>  obj-$(TARGET_I386) += vm86.o
> -obj-$(TARGET_ARM) += arm/nwfpe/
> -obj-$(TARGET_ARM) += arm/semihost.o
>  obj-$(TARGET_AARCH64) += arm/semihost.o
>  
>  obj-$(TARGET_ALPHA) += alpha/
> +obj-$(TARGET_ARM) += arm/
>  obj-$(TARGET_HPPA) += hppa/
>  obj-$(TARGET_M68K) += m68k/
>  obj-$(TARGET_MICROBLAZE) += microblaze/
> diff --git a/linux-user/arm/Makefile.objs b/linux-user/arm/Makefile.objs
> new file mode 100644
> index 000000000000..bb763838bf5c
> --- /dev/null
> +++ b/linux-user/arm/Makefile.objs
> @@ -0,0 +1,8 @@
> +obj-$(TARGET_ARM) += nwfpe/
> +obj-$(TARGET_ARM) += semihost.o
> +
> +generated-files-y += linux-user/arm/syscall_nr.h
> +
> +syshdr := $(SRC_PATH)/linux-user/arm/syscallhdr.sh
> +%/syscall_nr.h: $(SRC_PATH)/linux-user/arm/syscall.tbl $(syshdr)
> +     $(call quiet-command, sh $(syshdr) $< $@ 
> $(TARGET_SYSTBL_ABI),,"GEN","$@")
> diff --git a/linux-user/arm/syscall.tbl b/linux-user/arm/syscall.tbl
> new file mode 100644
> index 000000000000..6da7dc4d79cc
> --- /dev/null
> +++ b/linux-user/arm/syscall.tbl
> @@ -0,0 +1,451 @@
> +#
> +# Linux system call numbers and entry vectors
> +#
> +# The format is:
> +# <num>      <abi>   <name>                  [<entry point>                  
> [<oabi compat entry point>]]
> +#
> +# Where abi is:
> +#  common - for system calls shared between oabi and eabi (may have compat)
> +#  oabi   - for oabi-only system calls (may have compat)
> +#  eabi   - for eabi-only system calls
> +#
> +# For each syscall number, "common" is mutually exclusive with oabi and eabi
> +#
> +0    common  restart_syscall         sys_restart_syscall
> +1    common  exit                    sys_exit
> +2    common  fork                    sys_fork
> +3    common  read                    sys_read
> +4    common  write                   sys_write
> +5    common  open                    sys_open
> +6    common  close                   sys_close
> +# 7 was sys_waitpid
> +8    common  creat                   sys_creat
> +9    common  link                    sys_link
> +10   common  unlink                  sys_unlink
> +11   common  execve                  sys_execve
> +12   common  chdir                   sys_chdir
> +13   oabi    time                    sys_time32
> +14   common  mknod                   sys_mknod
> +15   common  chmod                   sys_chmod
> +16   common  lchown                  sys_lchown16
> +# 17 was sys_break
> +# 18 was sys_stat
> +19   common  lseek                   sys_lseek
> +20   common  getpid                  sys_getpid
> +21   common  mount                   sys_mount
> +22   oabi    umount                  sys_oldumount
> +23   common  setuid                  sys_setuid16
> +24   common  getuid                  sys_getuid16
> +25   oabi    stime                   sys_stime32
> +26   common  ptrace                  sys_ptrace
> +27   oabi    alarm                   sys_alarm
> +# 28 was sys_fstat
> +29   common  pause                   sys_pause
> +30   oabi    utime                   sys_utime32
> +# 31 was sys_stty
> +# 32 was sys_gtty
> +33   common  access                  sys_access
> +34   common  nice                    sys_nice
> +# 35 was sys_ftime
> +36   common  sync                    sys_sync
> +37   common  kill                    sys_kill
> +38   common  rename                  sys_rename
> +39   common  mkdir                   sys_mkdir
> +40   common  rmdir                   sys_rmdir
> +41   common  dup                     sys_dup
> +42   common  pipe                    sys_pipe
> +43   common  times                   sys_times
> +# 44 was sys_prof
> +45   common  brk                     sys_brk
> +46   common  setgid                  sys_setgid16
> +47   common  getgid                  sys_getgid16
> +# 48 was sys_signal
> +49   common  geteuid                 sys_geteuid16
> +50   common  getegid                 sys_getegid16
> +51   common  acct                    sys_acct
> +52   common  umount2                 sys_umount
> +# 53 was sys_lock
> +54   common  ioctl                   sys_ioctl
> +55   common  fcntl                   sys_fcntl
> +# 56 was sys_mpx
> +57   common  setpgid                 sys_setpgid
> +# 58 was sys_ulimit
> +# 59 was sys_olduname
> +60   common  umask                   sys_umask
> +61   common  chroot                  sys_chroot
> +62   common  ustat                   sys_ustat
> +63   common  dup2                    sys_dup2
> +64   common  getppid                 sys_getppid
> +65   common  getpgrp                 sys_getpgrp
> +66   common  setsid                  sys_setsid
> +67   common  sigaction               sys_sigaction
> +# 68 was sys_sgetmask
> +# 69 was sys_ssetmask
> +70   common  setreuid                sys_setreuid16
> +71   common  setregid                sys_setregid16
> +72   common  sigsuspend              sys_sigsuspend
> +73   common  sigpending              sys_sigpending
> +74   common  sethostname             sys_sethostname
> +75   common  setrlimit               sys_setrlimit
> +# Back compat 2GB limited rlimit
> +76   oabi    getrlimit               sys_old_getrlimit
> +77   common  getrusage               sys_getrusage
> +78   common  gettimeofday            sys_gettimeofday
> +79   common  settimeofday            sys_settimeofday
> +80   common  getgroups               sys_getgroups16
> +81   common  setgroups               sys_setgroups16
> +82   oabi    select                  sys_old_select
> +83   common  symlink                 sys_symlink
> +# 84 was sys_lstat
> +85   common  readlink                sys_readlink
> +86   common  uselib                  sys_uselib
> +87   common  swapon                  sys_swapon
> +88   common  reboot                  sys_reboot
> +89   oabi    readdir                 sys_old_readdir
> +90   oabi    mmap                    sys_old_mmap
> +91   common  munmap                  sys_munmap
> +92   common  truncate                sys_truncate
> +93   common  ftruncate               sys_ftruncate
> +94   common  fchmod                  sys_fchmod
> +95   common  fchown                  sys_fchown16
> +96   common  getpriority             sys_getpriority
> +97   common  setpriority             sys_setpriority
> +# 98 was sys_profil
> +99   common  statfs                  sys_statfs
> +100  common  fstatfs                 sys_fstatfs
> +# 101 was sys_ioperm
> +102  oabi    socketcall              sys_socketcall          
> sys_oabi_socketcall
> +103  common  syslog                  sys_syslog
> +104  common  setitimer               sys_setitimer
> +105  common  getitimer               sys_getitimer
> +106  common  stat                    sys_newstat
> +107  common  lstat                   sys_newlstat
> +108  common  fstat                   sys_newfstat
> +# 109 was sys_uname
> +# 110 was sys_iopl
> +111  common  vhangup                 sys_vhangup
> +# 112 was sys_idle
> +# syscall to call a syscall!
> +113  oabi    syscall                 sys_syscall
> +114  common  wait4                   sys_wait4
> +115  common  swapoff                 sys_swapoff
> +116  common  sysinfo                 sys_sysinfo
> +117  oabi    ipc                     sys_ipc                 sys_oabi_ipc
> +118  common  fsync                   sys_fsync
> +119  common  sigreturn               sys_sigreturn_wrapper
> +120  common  clone                   sys_clone
> +121  common  setdomainname           sys_setdomainname
> +122  common  uname                   sys_newuname
> +# 123 was sys_modify_ldt
> +124  common  adjtimex                sys_adjtimex_time32
> +125  common  mprotect                sys_mprotect
> +126  common  sigprocmask             sys_sigprocmask
> +# 127 was sys_create_module
> +128  common  init_module             sys_init_module
> +129  common  delete_module           sys_delete_module
> +# 130 was sys_get_kernel_syms
> +131  common  quotactl                sys_quotactl
> +132  common  getpgid                 sys_getpgid
> +133  common  fchdir                  sys_fchdir
> +134  common  bdflush                 sys_bdflush
> +135  common  sysfs                   sys_sysfs
> +136  common  personality             sys_personality
> +# 137 was sys_afs_syscall
> +138  common  setfsuid                sys_setfsuid16
> +139  common  setfsgid                sys_setfsgid16
> +140  common  _llseek                 sys_llseek
> +141  common  getdents                sys_getdents
> +142  common  _newselect              sys_select
> +143  common  flock                   sys_flock
> +144  common  msync                   sys_msync
> +145  common  readv                   sys_readv
> +146  common  writev                  sys_writev
> +147  common  getsid                  sys_getsid
> +148  common  fdatasync               sys_fdatasync
> +149  common  _sysctl                 sys_sysctl
> +150  common  mlock                   sys_mlock
> +151  common  munlock                 sys_munlock
> +152  common  mlockall                sys_mlockall
> +153  common  munlockall              sys_munlockall
> +154  common  sched_setparam          sys_sched_setparam
> +155  common  sched_getparam          sys_sched_getparam
> +156  common  sched_setscheduler      sys_sched_setscheduler
> +157  common  sched_getscheduler      sys_sched_getscheduler
> +158  common  sched_yield             sys_sched_yield
> +159  common  sched_get_priority_max  sys_sched_get_priority_max
> +160  common  sched_get_priority_min  sys_sched_get_priority_min
> +161  common  sched_rr_get_interval   sys_sched_rr_get_interval_time32
> +162  common  nanosleep               sys_nanosleep_time32
> +163  common  mremap                  sys_mremap
> +164  common  setresuid               sys_setresuid16
> +165  common  getresuid               sys_getresuid16
> +# 166 was sys_vm86
> +# 167 was sys_query_module
> +168  common  poll                    sys_poll
> +169  common  nfsservctl
> +170  common  setresgid               sys_setresgid16
> +171  common  getresgid               sys_getresgid16
> +172  common  prctl                   sys_prctl
> +173  common  rt_sigreturn            sys_rt_sigreturn_wrapper
> +174  common  rt_sigaction            sys_rt_sigaction
> +175  common  rt_sigprocmask          sys_rt_sigprocmask
> +176  common  rt_sigpending           sys_rt_sigpending
> +177  common  rt_sigtimedwait         sys_rt_sigtimedwait_time32
> +178  common  rt_sigqueueinfo         sys_rt_sigqueueinfo
> +179  common  rt_sigsuspend           sys_rt_sigsuspend
> +180  common  pread64                 sys_pread64             sys_oabi_pread64
> +181  common  pwrite64                sys_pwrite64            
> sys_oabi_pwrite64
> +182  common  chown                   sys_chown16
> +183  common  getcwd                  sys_getcwd
> +184  common  capget                  sys_capget
> +185  common  capset                  sys_capset
> +186  common  sigaltstack             sys_sigaltstack
> +187  common  sendfile                sys_sendfile
> +# 188 reserved
> +# 189 reserved
> +190  common  vfork                   sys_vfork
> +# SuS compliant getrlimit
> +191  common  ugetrlimit              sys_getrlimit
> +192  common  mmap2                   sys_mmap2
> +193  common  truncate64              sys_truncate64          
> sys_oabi_truncate64
> +194  common  ftruncate64             sys_ftruncate64         
> sys_oabi_ftruncate64
> +195  common  stat64                  sys_stat64              sys_oabi_stat64
> +196  common  lstat64                 sys_lstat64             sys_oabi_lstat64
> +197  common  fstat64                 sys_fstat64             sys_oabi_fstat64
> +198  common  lchown32                sys_lchown
> +199  common  getuid32                sys_getuid
> +200  common  getgid32                sys_getgid
> +201  common  geteuid32               sys_geteuid
> +202  common  getegid32               sys_getegid
> +203  common  setreuid32              sys_setreuid
> +204  common  setregid32              sys_setregid
> +205  common  getgroups32             sys_getgroups
> +206  common  setgroups32             sys_setgroups
> +207  common  fchown32                sys_fchown
> +208  common  setresuid32             sys_setresuid
> +209  common  getresuid32             sys_getresuid
> +210  common  setresgid32             sys_setresgid
> +211  common  getresgid32             sys_getresgid
> +212  common  chown32                 sys_chown
> +213  common  setuid32                sys_setuid
> +214  common  setgid32                sys_setgid
> +215  common  setfsuid32              sys_setfsuid
> +216  common  setfsgid32              sys_setfsgid
> +217  common  getdents64              sys_getdents64
> +218  common  pivot_root              sys_pivot_root
> +219  common  mincore                 sys_mincore
> +220  common  madvise                 sys_madvise
> +221  common  fcntl64                 sys_fcntl64             sys_oabi_fcntl64
> +# 222 for tux
> +# 223 is unused
> +224  common  gettid                  sys_gettid
> +225  common  readahead               sys_readahead           
> sys_oabi_readahead
> +226  common  setxattr                sys_setxattr
> +227  common  lsetxattr               sys_lsetxattr
> +228  common  fsetxattr               sys_fsetxattr
> +229  common  getxattr                sys_getxattr
> +230  common  lgetxattr               sys_lgetxattr
> +231  common  fgetxattr               sys_fgetxattr
> +232  common  listxattr               sys_listxattr
> +233  common  llistxattr              sys_llistxattr
> +234  common  flistxattr              sys_flistxattr
> +235  common  removexattr             sys_removexattr
> +236  common  lremovexattr            sys_lremovexattr
> +237  common  fremovexattr            sys_fremovexattr
> +238  common  tkill                   sys_tkill
> +239  common  sendfile64              sys_sendfile64
> +240  common  futex                   sys_futex_time32
> +241  common  sched_setaffinity       sys_sched_setaffinity
> +242  common  sched_getaffinity       sys_sched_getaffinity
> +243  common  io_setup                sys_io_setup
> +244  common  io_destroy              sys_io_destroy
> +245  common  io_getevents            sys_io_getevents_time32
> +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
> +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
> +253  common  remap_file_pages        sys_remap_file_pages
> +# 254 for set_thread_area
> +# 255 for get_thread_area
> +256  common  set_tid_address         sys_set_tid_address
> +257  common  timer_create            sys_timer_create
> +258  common  timer_settime           sys_timer_settime32
> +259  common  timer_gettime           sys_timer_gettime32
> +260  common  timer_getoverrun        sys_timer_getoverrun
> +261  common  timer_delete            sys_timer_delete
> +262  common  clock_settime           sys_clock_settime32
> +263  common  clock_gettime           sys_clock_gettime32
> +264  common  clock_getres            sys_clock_getres_time32
> +265  common  clock_nanosleep         sys_clock_nanosleep_time32
> +266  common  statfs64                sys_statfs64_wrapper
> +267  common  fstatfs64               sys_fstatfs64_wrapper
> +268  common  tgkill                  sys_tgkill
> +269  common  utimes                  sys_utimes_time32
> +270  common  arm_fadvise64_64        sys_arm_fadvise64_64
> +271  common  pciconfig_iobase        sys_pciconfig_iobase
> +272  common  pciconfig_read          sys_pciconfig_read
> +273  common  pciconfig_write         sys_pciconfig_write
> +274  common  mq_open                 sys_mq_open
> +275  common  mq_unlink               sys_mq_unlink
> +276  common  mq_timedsend            sys_mq_timedsend_time32
> +277  common  mq_timedreceive         sys_mq_timedreceive_time32
> +278  common  mq_notify               sys_mq_notify
> +279  common  mq_getsetattr           sys_mq_getsetattr
> +280  common  waitid                  sys_waitid
> +281  common  socket                  sys_socket
> +282  common  bind                    sys_bind                sys_oabi_bind
> +283  common  connect                 sys_connect             sys_oabi_connect
> +284  common  listen                  sys_listen
> +285  common  accept                  sys_accept
> +286  common  getsockname             sys_getsockname
> +287  common  getpeername             sys_getpeername
> +288  common  socketpair              sys_socketpair
> +289  common  send                    sys_send
> +290  common  sendto                  sys_sendto              sys_oabi_sendto
> +291  common  recv                    sys_recv
> +292  common  recvfrom                sys_recvfrom
> +293  common  shutdown                sys_shutdown
> +294  common  setsockopt              sys_setsockopt
> +295  common  getsockopt              sys_getsockopt
> +296  common  sendmsg                 sys_sendmsg             sys_oabi_sendmsg
> +297  common  recvmsg                 sys_recvmsg
> +298  common  semop                   sys_semop               sys_oabi_semop
> +299  common  semget                  sys_semget
> +300  common  semctl                  sys_old_semctl
> +301  common  msgsnd                  sys_msgsnd
> +302  common  msgrcv                  sys_msgrcv
> +303  common  msgget                  sys_msgget
> +304  common  msgctl                  sys_old_msgctl
> +305  common  shmat                   sys_shmat
> +306  common  shmdt                   sys_shmdt
> +307  common  shmget                  sys_shmget
> +308  common  shmctl                  sys_old_shmctl
> +309  common  add_key                 sys_add_key
> +310  common  request_key             sys_request_key
> +311  common  keyctl                  sys_keyctl
> +312  common  semtimedop              sys_semtimedop_time32   
> sys_oabi_semtimedop
> +313  common  vserver
> +314  common  ioprio_set              sys_ioprio_set
> +315  common  ioprio_get              sys_ioprio_get
> +316  common  inotify_init            sys_inotify_init
> +317  common  inotify_add_watch       sys_inotify_add_watch
> +318  common  inotify_rm_watch        sys_inotify_rm_watch
> +319  common  mbind                   sys_mbind
> +320  common  get_mempolicy           sys_get_mempolicy
> +321  common  set_mempolicy           sys_set_mempolicy
> +322  common  openat                  sys_openat
> +323  common  mkdirat                 sys_mkdirat
> +324  common  mknodat                 sys_mknodat
> +325  common  fchownat                sys_fchownat
> +326  common  futimesat               sys_futimesat_time32
> +327  common  fstatat64               sys_fstatat64           
> sys_oabi_fstatat64
> +328  common  unlinkat                sys_unlinkat
> +329  common  renameat                sys_renameat
> +330  common  linkat                  sys_linkat
> +331  common  symlinkat               sys_symlinkat
> +332  common  readlinkat              sys_readlinkat
> +333  common  fchmodat                sys_fchmodat
> +334  common  faccessat               sys_faccessat
> +335  common  pselect6                sys_pselect6_time32
> +336  common  ppoll                   sys_ppoll_time32
> +337  common  unshare                 sys_unshare
> +338  common  set_robust_list         sys_set_robust_list
> +339  common  get_robust_list         sys_get_robust_list
> +340  common  splice                  sys_splice
> +341  common  arm_sync_file_range     sys_sync_file_range2
> +342  common  tee                     sys_tee
> +343  common  vmsplice                sys_vmsplice
> +344  common  move_pages              sys_move_pages
> +345  common  getcpu                  sys_getcpu
> +346  common  epoll_pwait             sys_epoll_pwait
> +347  common  kexec_load              sys_kexec_load
> +348  common  utimensat               sys_utimensat_time32
> +349  common  signalfd                sys_signalfd
> +350  common  timerfd_create          sys_timerfd_create
> +351  common  eventfd                 sys_eventfd
> +352  common  fallocate               sys_fallocate
> +353  common  timerfd_settime         sys_timerfd_settime32
> +354  common  timerfd_gettime         sys_timerfd_gettime32
> +355  common  signalfd4               sys_signalfd4
> +356  common  eventfd2                sys_eventfd2
> +357  common  epoll_create1           sys_epoll_create1
> +358  common  dup3                    sys_dup3
> +359  common  pipe2                   sys_pipe2
> +360  common  inotify_init1           sys_inotify_init1
> +361  common  preadv                  sys_preadv
> +362  common  pwritev                 sys_pwritev
> +363  common  rt_tgsigqueueinfo       sys_rt_tgsigqueueinfo
> +364  common  perf_event_open         sys_perf_event_open
> +365  common  recvmmsg                sys_recvmmsg_time32
> +366  common  accept4                 sys_accept4
> +367  common  fanotify_init           sys_fanotify_init
> +368  common  fanotify_mark           sys_fanotify_mark
> +369  common  prlimit64               sys_prlimit64
> +370  common  name_to_handle_at       sys_name_to_handle_at
> +371  common  open_by_handle_at       sys_open_by_handle_at
> +372  common  clock_adjtime           sys_clock_adjtime32
> +373  common  syncfs                  sys_syncfs
> +374  common  sendmmsg                sys_sendmmsg
> +375  common  setns                   sys_setns
> +376  common  process_vm_readv        sys_process_vm_readv
> +377  common  process_vm_writev       sys_process_vm_writev
> +378  common  kcmp                    sys_kcmp
> +379  common  finit_module            sys_finit_module
> +380  common  sched_setattr           sys_sched_setattr
> +381  common  sched_getattr           sys_sched_getattr
> +382  common  renameat2               sys_renameat2
> +383  common  seccomp                 sys_seccomp
> +384  common  getrandom               sys_getrandom
> +385  common  memfd_create            sys_memfd_create
> +386  common  bpf                     sys_bpf
> +387  common  execveat                sys_execveat
> +388  common  userfaultfd             sys_userfaultfd
> +389  common  membarrier              sys_membarrier
> +390  common  mlock2                  sys_mlock2
> +391  common  copy_file_range         sys_copy_file_range
> +392  common  preadv2                 sys_preadv2
> +393  common  pwritev2                sys_pwritev2
> +394  common  pkey_mprotect           sys_pkey_mprotect
> +395  common  pkey_alloc              sys_pkey_alloc
> +396  common  pkey_free               sys_pkey_free
> +397  common  statx                   sys_statx
> +398  common  rseq                    sys_rseq
> +399  common  io_pgetevents           sys_io_pgetevents_time32
> +400  common  migrate_pages           sys_migrate_pages
> +401  common  kexec_file_load         sys_kexec_file_load
> +# 402 is unused
> +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
> diff --git a/linux-user/arm/syscall_nr.h b/linux-user/arm/syscall_nr.h
> deleted file mode 100644
> index 6db9235f2bfd..000000000000
> --- a/linux-user/arm/syscall_nr.h
> +++ /dev/null
> @@ -1,447 +0,0 @@
> -/*
> - * This file contains the system call numbers.
> - */
> -
> -#ifndef LINUX_USER_ARM_SYSCALL_NR_H
> -#define LINUX_USER_ARM_SYSCALL_NR_H
> -
> -#define TARGET_NR_restart_syscall            (  0)
> -#define TARGET_NR_exit                       (  1)
> -#define TARGET_NR_fork                       (  2)
> -#define TARGET_NR_read                       (  3)
> -#define TARGET_NR_write                      (  4)
> -#define TARGET_NR_open                       (  5)
> -#define TARGET_NR_close                      (  6)
> -#define TARGET_NR_waitpid                    (  7)   /* removed */
> -#define TARGET_NR_creat                      (  8)
> -#define TARGET_NR_link                       (  9)
> -#define TARGET_NR_unlink                     ( 10)
> -#define TARGET_NR_execve                     ( 11)
> -#define TARGET_NR_chdir                      ( 12)
> -#define TARGET_NR_time                       ( 13)
> -#define TARGET_NR_mknod                      ( 14)
> -#define TARGET_NR_chmod                      ( 15)
> -#define TARGET_NR_lchown                     ( 16)
> -#define TARGET_NR_break                      ( 17)   /* removed */
> -                                     /* 18 was sys_stat */
> -#define TARGET_NR_lseek                      ( 19)
> -#define TARGET_NR_getpid                     ( 20)
> -#define TARGET_NR_mount                      ( 21)
> -#define TARGET_NR_umount                     ( 22)
> -#define TARGET_NR_setuid                     ( 23)
> -#define TARGET_NR_getuid                     ( 24)
> -#define TARGET_NR_stime                      ( 25)
> -#define TARGET_NR_ptrace                     ( 26)
> -#define TARGET_NR_alarm                      ( 27)
> -
> -#define TARGET_NR_pause                      ( 29)
> -#define TARGET_NR_utime                      ( 30)
> -#define TARGET_NR_stty                       ( 31)   /* removed */
> -#define TARGET_NR_gtty                       ( 32)   /* removed */
> -#define TARGET_NR_access                     ( 33)
> -#define TARGET_NR_nice                       ( 34)
> -#define TARGET_NR_ftime                      ( 35)   /* removed */
> -#define TARGET_NR_sync                       ( 36)
> -#define TARGET_NR_kill                       ( 37)
> -#define TARGET_NR_rename                     ( 38)
> -#define TARGET_NR_mkdir                      ( 39)
> -#define TARGET_NR_rmdir                      ( 40)
> -#define TARGET_NR_dup                        ( 41)
> -#define TARGET_NR_pipe                       ( 42)
> -#define TARGET_NR_times                      ( 43)
> -#define TARGET_NR_prof                       ( 44)   /* removed */
> -#define TARGET_NR_brk                        ( 45)
> -#define TARGET_NR_setgid                     ( 46)
> -#define TARGET_NR_getgid                     ( 47)
> -#define TARGET_NR_signal                     ( 48)   /* removed */
> -#define TARGET_NR_geteuid                    ( 49)
> -#define TARGET_NR_getegid                    ( 50)
> -#define TARGET_NR_acct                       ( 51)
> -#define TARGET_NR_umount2                    ( 52)
> -#define TARGET_NR_lock                       ( 53)   /* removed */
> -#define TARGET_NR_ioctl                      ( 54)
> -#define TARGET_NR_fcntl                      ( 55)
> -#define TARGET_NR_mpx                        ( 56)   /* removed */
> -#define TARGET_NR_setpgid                    ( 57)
> -#define TARGET_NR_ulimit                     ( 58)   /* removed */
> -                                     /* 59 was sys_olduname */
> -#define TARGET_NR_umask                      ( 60)
> -#define TARGET_NR_chroot                     ( 61)
> -#define TARGET_NR_ustat                      ( 62)
> -#define TARGET_NR_dup2                       ( 63)
> -#define TARGET_NR_getppid                    ( 64)
> -#define TARGET_NR_getpgrp                    ( 65)
> -#define TARGET_NR_setsid                     ( 66)
> -#define TARGET_NR_sigaction                  ( 67)
> -#define TARGET_NR_sgetmask                   ( 68)   /* removed */
> -#define TARGET_NR_ssetmask                   ( 69)   /* removed */
> -#define TARGET_NR_setreuid                   ( 70)
> -#define TARGET_NR_setregid                   ( 71)
> -#define TARGET_NR_sigsuspend                 ( 72)
> -#define TARGET_NR_sigpending                 ( 73)
> -#define TARGET_NR_sethostname                ( 74)
> -#define TARGET_NR_setrlimit                  ( 75)
> -#define TARGET_NR_getrlimit                  ( 76)   /* Back compat 2GB 
> limited rlimit */
> -#define TARGET_NR_getrusage                  ( 77)
> -#define TARGET_NR_gettimeofday               ( 78)
> -#define TARGET_NR_settimeofday               ( 79)
> -#define TARGET_NR_getgroups                  ( 80)
> -#define TARGET_NR_setgroups                  ( 81)
> -#define TARGET_NR_select                     ( 82)
> -#define TARGET_NR_symlink                    ( 83)
> -                                     /* 84 was sys_lstat */
> -#define TARGET_NR_readlink                   ( 85)
> -#define TARGET_NR_uselib                     ( 86)
> -#define TARGET_NR_swapon                     ( 87)
> -#define TARGET_NR_reboot                     ( 88)
> -#define TARGET_NR_readdir                    ( 89)
> -#define TARGET_NR_mmap                       ( 90)
> -#define TARGET_NR_munmap                     ( 91)
> -#define TARGET_NR_truncate                   ( 92)
> -#define TARGET_NR_ftruncate                  ( 93)
> -#define TARGET_NR_fchmod                     ( 94)
> -#define TARGET_NR_fchown                     ( 95)
> -#define TARGET_NR_getpriority                ( 96)
> -#define TARGET_NR_setpriority                ( 97)
> -#define TARGET_NR_profil                     ( 98)   /* removed */
> -#define TARGET_NR_statfs                     ( 99)
> -#define TARGET_NR_fstatfs                    (100)
> -#define TARGET_NR_ioperm                     (101)
> -#define TARGET_NR_socketcall                 (102)
> -#define TARGET_NR_syslog                     (103)
> -#define TARGET_NR_setitimer                  (104)
> -#define TARGET_NR_getitimer                  (105)
> -#define TARGET_NR_stat                       (106)
> -#define TARGET_NR_lstat                      (107)
> -#define TARGET_NR_fstat                      (108)
> -                                     /* 109 was sys_uname */
> -                                     /* 110 was sys_iopl */
> -#define TARGET_NR_vhangup                    (111)
> -#define TARGET_NR_idle                       (112)
> -#define TARGET_NR_syscall                    (113) /* syscall to call a 
> syscall! */
> -#define TARGET_NR_wait4                      (114)
> -#define TARGET_NR_swapoff                    (115)
> -#define TARGET_NR_sysinfo                    (116)
> -#define TARGET_NR_ipc                        (117)
> -#define TARGET_NR_fsync                      (118)
> -#define TARGET_NR_sigreturn                  (119)
> -#define TARGET_NR_clone                      (120)
> -#define TARGET_NR_setdomainname              (121)
> -#define TARGET_NR_uname                      (122)
> -#define TARGET_NR_modify_ldt                 (123)
> -#define TARGET_NR_adjtimex                   (124)
> -#define TARGET_NR_mprotect                   (125)
> -#define TARGET_NR_sigprocmask                (126)
> -#define TARGET_NR_create_module              (127)   /* removed */
> -#define TARGET_NR_init_module                (128)
> -#define TARGET_NR_delete_module              (129)
> -#define TARGET_NR_get_kernel_syms            (130)   /* removed */
> -#define TARGET_NR_quotactl                   (131)
> -#define TARGET_NR_getpgid                    (132)
> -#define TARGET_NR_fchdir                     (133)
> -#define TARGET_NR_bdflush                    (134)
> -#define TARGET_NR_sysfs                      (135)
> -#define TARGET_NR_personality                (136)
> -#define TARGET_NR_afs_syscall                (137) /* Syscall for Andrew 
> File System */
> -#define TARGET_NR_setfsuid                   (138)
> -#define TARGET_NR_setfsgid                   (139)
> -#define TARGET_NR__llseek                    (140)
> -#define TARGET_NR_getdents                   (141)
> -#define TARGET_NR__newselect                 (142)
> -#define TARGET_NR_flock                      (143)
> -#define TARGET_NR_msync                      (144)
> -#define TARGET_NR_readv                      (145)
> -#define TARGET_NR_writev                     (146)
> -#define TARGET_NR_getsid                     (147)
> -#define TARGET_NR_fdatasync                  (148)
> -#define TARGET_NR__sysctl                    (149)
> -#define TARGET_NR_mlock                      (150)
> -#define TARGET_NR_munlock                    (151)
> -#define TARGET_NR_mlockall                   (152)
> -#define TARGET_NR_munlockall                 (153)
> -#define TARGET_NR_sched_setparam             (154)
> -#define TARGET_NR_sched_getparam             (155)
> -#define TARGET_NR_sched_setscheduler         (156)
> -#define TARGET_NR_sched_getscheduler         (157)
> -#define TARGET_NR_sched_yield                (158)
> -#define TARGET_NR_sched_get_priority_max     (159)
> -#define TARGET_NR_sched_get_priority_min     (160)
> -#define TARGET_NR_sched_rr_get_interval      (161)
> -#define TARGET_NR_nanosleep                  (162)
> -#define TARGET_NR_mremap                     (163)
> -#define TARGET_NR_setresuid                  (164)
> -#define TARGET_NR_getresuid                  (165)
> -#define TARGET_NR_vm86                       (166)   /* removed */
> -#define TARGET_NR_query_module               (167)   /* removed */
> -#define TARGET_NR_poll                       (168)
> -#define TARGET_NR_nfsservctl                 (169)
> -#define TARGET_NR_setresgid                  (170)
> -#define TARGET_NR_getresgid                  (171)
> -#define TARGET_NR_prctl                      (172)
> -#define TARGET_NR_rt_sigreturn               (173)
> -#define TARGET_NR_rt_sigaction               (174)
> -#define TARGET_NR_rt_sigprocmask             (175)
> -#define TARGET_NR_rt_sigpending              (176)
> -#define TARGET_NR_rt_sigtimedwait            (177)
> -#define TARGET_NR_rt_sigqueueinfo            (178)
> -#define TARGET_NR_rt_sigsuspend              (179)
> -#define TARGET_NR_pread64                       (180)
> -#define TARGET_NR_pwrite64                      (181)
> -#define TARGET_NR_chown                      (182)
> -#define TARGET_NR_getcwd                     (183)
> -#define TARGET_NR_capget                     (184)
> -#define TARGET_NR_capset                     (185)
> -#define TARGET_NR_sigaltstack                (186)
> -#define TARGET_NR_sendfile                   (187)
> -                                     /* 188 reserved */
> -                                     /* 189 reserved */
> -#define TARGET_NR_vfork                      (190)
> -#define TARGET_NR_ugetrlimit                 (191)   /* SuS compliant 
> getrlimit */
> -#define TARGET_NR_mmap2                      (192)
> -#define TARGET_NR_truncate64                 (193)
> -#define TARGET_NR_ftruncate64                (194)
> -#define TARGET_NR_stat64                     (195)
> -#define TARGET_NR_lstat64                    (196)
> -#define TARGET_NR_fstat64                    (197)
> -#define TARGET_NR_lchown32                   (198)
> -#define TARGET_NR_getuid32                   (199)
> -#define TARGET_NR_getgid32                   (200)
> -#define TARGET_NR_geteuid32                  (201)
> -#define TARGET_NR_getegid32                  (202)
> -#define TARGET_NR_setreuid32                 (203)
> -#define TARGET_NR_setregid32                 (204)
> -#define TARGET_NR_getgroups32                (205)
> -#define TARGET_NR_setgroups32                (206)
> -#define TARGET_NR_fchown32                   (207)
> -#define TARGET_NR_setresuid32                (208)
> -#define TARGET_NR_getresuid32                (209)
> -#define TARGET_NR_setresgid32                (210)
> -#define TARGET_NR_getresgid32                (211)
> -#define TARGET_NR_chown32                    (212)
> -#define TARGET_NR_setuid32                   (213)
> -#define TARGET_NR_setgid32                   (214)
> -#define TARGET_NR_setfsuid32                 (215)
> -#define TARGET_NR_setfsgid32                 (216)
> -#define TARGET_NR_getdents64                 (217)
> -#define TARGET_NR_pivot_root                 (218)
> -#define TARGET_NR_mincore                    (219)
> -#define TARGET_NR_madvise                    (220)
> -#define TARGET_NR_fcntl64                    (221)
> -                                     /* 222 for tux */
> -                                     /* 223 is unused */
> -#define TARGET_NR_gettid                     (224)
> -#define TARGET_NR_readahead                  (225)
> -#define TARGET_NR_setxattr                   (226)
> -#define TARGET_NR_lsetxattr                  (227)
> -#define TARGET_NR_fsetxattr                  (228)
> -#define TARGET_NR_getxattr                   (229)
> -#define TARGET_NR_lgetxattr                  (230)
> -#define TARGET_NR_fgetxattr                  (231)
> -#define TARGET_NR_listxattr                  (232)
> -#define TARGET_NR_llistxattr                 (233)
> -#define TARGET_NR_flistxattr                 (234)
> -#define TARGET_NR_removexattr                (235)
> -#define TARGET_NR_lremovexattr               (236)
> -#define TARGET_NR_fremovexattr               (237)
> -#define TARGET_NR_tkill                      (238)
> -#define TARGET_NR_sendfile64                 (239)
> -#define TARGET_NR_futex                      (240)
> -#define TARGET_NR_sched_setaffinity          (241)
> -#define TARGET_NR_sched_getaffinity          (242)
> -#define TARGET_NR_io_setup                   (243)
> -#define TARGET_NR_io_destroy                 (244)
> -#define TARGET_NR_io_getevents               (245)
> -#define TARGET_NR_io_submit                  (246)
> -#define TARGET_NR_io_cancel                  (247)
> -#define TARGET_NR_exit_group                 (248)
> -#define TARGET_NR_lookup_dcookie             (249)
> -#define TARGET_NR_epoll_create               (250)
> -#define TARGET_NR_epoll_ctl                  (251)
> -#define TARGET_NR_epoll_wait                 (252)
> -#define TARGET_NR_remap_file_pages           (253)
> -                                     /* 254 for set_thread_area */
> -                                     /* 255 for get_thread_area */
> -                                     /* 256 for set_tid_address */
> -#define TARGET_NR_set_tid_address            256
> -#define TARGET_NR_timer_create               257
> -#define TARGET_NR_timer_settime              258
> -#define TARGET_NR_timer_gettime              259
> -#define TARGET_NR_timer_getoverrun           260
> -#define TARGET_NR_timer_delete               261
> -#define TARGET_NR_clock_settime              262
> -#define TARGET_NR_clock_gettime              263
> -#define TARGET_NR_clock_getres               264
> -#define TARGET_NR_clock_nanosleep            265
> -#define TARGET_NR_statfs64                   266
> -#define TARGET_NR_fstatfs64                  267
> -#define TARGET_NR_tgkill                     268
> -#define TARGET_NR_utimes                     269
> -#define TARGET_NR_arm_fadvise64_64           270
> -#define TARGET_NR_pciconfig_iobase           271
> -#define TARGET_NR_pciconfig_read             272
> -#define TARGET_NR_pciconfig_write            273
> -#define TARGET_NR_mq_open                    274
> -#define TARGET_NR_mq_unlink                  275
> -#define TARGET_NR_mq_timedsend               276
> -#define TARGET_NR_mq_timedreceive            277
> -#define TARGET_NR_mq_notify                  278
> -#define TARGET_NR_mq_getsetattr              279
> -#define TARGET_NR_waitid                     280
> -#define TARGET_NR_socket                     281
> -#define TARGET_NR_bind                       282
> -#define TARGET_NR_connect                    283
> -#define TARGET_NR_listen                     284
> -#define TARGET_NR_accept                     285
> -#define TARGET_NR_getsockname                286
> -#define TARGET_NR_getpeername                287
> -#define TARGET_NR_socketpair                 288
> -#define TARGET_NR_send                       289
> -#define TARGET_NR_sendto                     290
> -#define TARGET_NR_recv                       291
> -#define TARGET_NR_recvfrom                   292
> -#define TARGET_NR_shutdown                   293
> -#define TARGET_NR_setsockopt                 294
> -#define TARGET_NR_getsockopt                 295
> -#define TARGET_NR_sendmsg                    296
> -#define TARGET_NR_recvmsg                    297
> -#define TARGET_NR_semop                      298
> -#define TARGET_NR_semget                     299
> -#define TARGET_NR_semctl                     300
> -#define TARGET_NR_msgsnd                     301
> -#define TARGET_NR_msgrcv                     302
> -#define TARGET_NR_msgget                     303
> -#define TARGET_NR_msgctl                     304
> -#define TARGET_NR_shmat                      305
> -#define TARGET_NR_shmdt                      306
> -#define TARGET_NR_shmget                     307
> -#define TARGET_NR_shmctl                     308
> -#define TARGET_NR_add_key                    309
> -#define TARGET_NR_request_key                310
> -#define TARGET_NR_keyctl                     311
> -#define TARGET_NR_semtimedop                 312
> -#define TARGET_NR_vserver                    313
> -#define TARGET_NR_ioprio_set                 314
> -#define TARGET_NR_ioprio_get                 315
> -#define TARGET_NR_inotify_init               316
> -#define TARGET_NR_inotify_add_watch          317
> -#define TARGET_NR_inotify_rm_watch           318
> -#define TARGET_NR_mbind                      319
> -#define TARGET_NR_get_mempolicy              320
> -#define TARGET_NR_set_mempolicy              321
> -#define TARGET_NR_openat                     (322)
> -#define TARGET_NR_mkdirat                    (323)
> -#define TARGET_NR_mknodat                    (324)
> -#define TARGET_NR_fchownat                   (325)
> -#define TARGET_NR_futimesat                  (326)
> -#define TARGET_NR_fstatat64                  (327)
> -#define TARGET_NR_unlinkat                   (328)
> -#define TARGET_NR_renameat                   (329)
> -#define TARGET_NR_linkat                     (330)
> -#define TARGET_NR_symlinkat                  (331)
> -#define TARGET_NR_readlinkat                 (332)
> -#define TARGET_NR_fchmodat                   (333)
> -#define TARGET_NR_faccessat                  (334)
> -#define TARGET_NR_pselect6                   (335)
> -#define TARGET_NR_ppoll                         (336)
> -#define TARGET_NR_unshare                    (337)
> -#define TARGET_NR_set_robust_list            (338)
> -#define TARGET_NR_get_robust_list            (339)
> -#define TARGET_NR_splice                     (340)
> -#define TARGET_NR_arm_sync_file_range        (341)
> -#define TARGET_NR_sync_file_range2           TARGET_NR_arm_sync_file_range
> -#define TARGET_NR_tee                        (342)
> -#define TARGET_NR_vmsplice                   (343)
> -#define TARGET_NR_move_pages                 (344)
> -#define TARGET_NR_getcpu                     (345)
> -#define TARGET_NR_epoll_pwait                   (346)
> -#define TARGET_NR_kexec_load                 (347)
> -#define TARGET_NR_utimensat                  (348)
> -#define TARGET_NR_signalfd                   (349)
> -#define TARGET_NR_timerfd_create             (350)
> -#define TARGET_NR_eventfd                    (351)
> -#define TARGET_NR_fallocate                  (352)
> -#define TARGET_NR_timerfd_settime            (353)
> -#define TARGET_NR_timerfd_gettime            (354)
> -#define TARGET_NR_signalfd4                  (355)
> -#define TARGET_NR_eventfd2                   (356)
> -#define TARGET_NR_epoll_create1              (357)
> -#define TARGET_NR_dup3                               (358)
> -#define TARGET_NR_pipe2                      (359)
> -#define TARGET_NR_inotify_init1              (360)
> -#define TARGET_NR_preadv                       (361)
> -#define TARGET_NR_pwritev                      (362)
> -#define TARGET_NR_rt_tgsigqueueinfo            (363)
> -#define TARGET_NR_perf_event_open              (364)
> -#define TARGET_NR_recvmmsg                     (365)
> -#define TARGET_NR_accept4                      (366)
> -#define TARGET_NR_fanotify_init                (367)
> -#define TARGET_NR_fanotify_mark                (368)
> -#define TARGET_NR_prlimit64                    (369)
> -#define TARGET_NR_name_to_handle_at            (370)
> -#define TARGET_NR_open_by_handle_at            (371)
> -#define TARGET_NR_clock_adjtime                (372)
> -#define TARGET_NR_syncfs                       (373)
> -#define TARGET_NR_sendmmsg                     (374)
> -#define TARGET_NR_setns                        (375)
> -#define TARGET_NR_process_vm_readv             (376)
> -#define TARGET_NR_process_vm_writev            (377)
> -#define TARGET_NR_kcmp                         (378)
> -#define TARGET_NR_finit_module                 (379)
> -
> -#define TARGET_NR_sched_setattr                (380)
> -#define TARGET_NR_sched_getattr                (381)
> -#define TARGET_NR_renameat2                    (382)
> -#define TARGET_NR_seccomp                      (383)
> -#define TARGET_NR_getrandom                    (384)
> -#define TARGET_NR_memfd_create                 (385)
> -#define TARGET_NR_bpf                          (386)
> -#define TARGET_NR_execveat                     (387)
> -#define TARGET_NR_userfaultfd                  (388)
> -#define TARGET_NR_membarrier                   (389)
> -#define TARGET_NR_mlock2                       (390)
> -#define TARGET_NR_copy_file_range              (391)
> -#define TARGET_NR_preadv2                      (392)
> -#define TARGET_NR_pwritev2                     (393)
> -#define TARGET_NR_pkey_mprotect                (394)
> -#define TARGET_NR_pkey_alloc                   (395)
> -#define TARGET_NR_pkey_free                    (396)
> -#define TARGET_NR_statx                        (397)
> -#define TARGET_NR_rseq                         (398)
> -#define TARGET_NR_io_pgetevents                (399)
> -#define TARGET_NR_migrate_pages                (400)
> -#define TARGET_NR_kexec_file_load              (401)
> -/* 402 is unused */
> -#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
> diff --git a/linux-user/arm/syscallhdr.sh b/linux-user/arm/syscallhdr.sh
> new file mode 100644
> index 000000000000..4c952b2cfb20
> --- /dev/null
> +++ b/linux-user/arm/syscallhdr.sh
> @@ -0,0 +1,31 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0
> +
> +in="$1"
> +out="$2"
> +my_abis=`echo "($3)" | tr ',' '|'`
> +prefix="$4"
> +offset="$5"
> +
> +fileguard=LINUX_USER_ARM_`basename "$out" | sed \
> +    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
> +    -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
> +if echo $out | grep -q uapi; then
> +    fileguard="_UAPI$fileguard"
> +fi
> +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"
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]