qemu-devel
[Top][All Lists]
Advanced

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

[PATCH 12/22] linux-user,s390x: add syscall table generation support


From: Laurent Vivier
Subject: [PATCH 12/22] linux-user,s390x: add syscall table generation support
Date: Mon, 17 Feb 2020 23:35:48 +0100

Copy syscall.tbl from linux/arch/s390x/kernel/syscalls v5.5
Copy syscallhdr.sh from m68k.

Signed-off-by: Laurent Vivier <address@hidden>
---
 configure                      |   1 +
 linux-user/Makefile.objs       |   1 +
 linux-user/s390x/Makefile.objs |   5 +
 linux-user/s390x/syscall.tbl   | 440 +++++++++++++++++++++++++++++++++
 linux-user/s390x/syscall_nr.h  | 331 -------------------------
 linux-user/s390x/syscallhdr.sh |  32 +++
 6 files changed, 479 insertions(+), 331 deletions(-)
 create mode 100644 linux-user/s390x/Makefile.objs
 create mode 100644 linux-user/s390x/syscall.tbl
 delete mode 100644 linux-user/s390x/syscall_nr.h
 create mode 100755 linux-user/s390x/syscallhdr.sh

diff --git a/configure b/configure
index 853951963549..5948ae837f98 100755
--- a/configure
+++ b/configure
@@ -7799,6 +7799,7 @@ case "$target_name" in
     echo "TARGET_ABI32=y" >> $config_target_mak
   ;;
   s390x)
+    TARGET_SYSTBL_ABI=common,64
     mttcg=yes
     gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml 
s390-cr.xml s390-virt.xml s390-gs.xml"
   ;;
diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
index 8b00dad687b2..f4e666e74c91 100644
--- a/linux-user/Makefile.objs
+++ b/linux-user/Makefile.objs
@@ -14,5 +14,6 @@ obj-$(TARGET_M68K) += m68k/
 obj-$(TARGET_MICROBLAZE) += microblaze/
 obj-$(TARGET_PPC) += ppc/
 obj-$(TARGET_PPC64) += ppc/
+obj-$(TARGET_S390X) += s390x/
 obj-$(TARGET_SH4) += sh4/
 obj-$(TARGET_XTENSA) += xtensa/
diff --git a/linux-user/s390x/Makefile.objs b/linux-user/s390x/Makefile.objs
new file mode 100644
index 000000000000..c6f9314755ad
--- /dev/null
+++ b/linux-user/s390x/Makefile.objs
@@ -0,0 +1,5 @@
+generated-files-y += linux-user/s390x/syscall_nr.h
+
+syshdr := $(SRC_PATH)/linux-user/s390x/syscallhdr.sh
+%/syscall_nr.h: $(SRC_PATH)/linux-user/s390x/syscall.tbl $(syshdr)
+       $(call quiet-command, sh $(syshdr) $< $@ 
$(TARGET_SYSTBL_ABI),,"GEN","$@")
diff --git a/linux-user/s390x/syscall.tbl b/linux-user/s390x/syscall.tbl
new file mode 100644
index 000000000000..3054e9c035a3
--- /dev/null
+++ b/linux-user/s390x/syscall.tbl
@@ -0,0 +1,440 @@
+# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+#
+# System call table for s390
+#
+# Format:
+#
+# <nr> <abi> <syscall> <entry-64bit> <compat-entry>
+#
+# where <abi> can be common, 64, or 32
+
+1    common    exit                    sys_exit                        sys_exit
+2    common    fork                    sys_fork                        sys_fork
+3    common    read                    sys_read                        
compat_sys_s390_read
+4    common    write                   sys_write                       
compat_sys_s390_write
+5    common    open                    sys_open                        
compat_sys_open
+6    common    close                   sys_close                       
sys_close
+7    common    restart_syscall         sys_restart_syscall             
sys_restart_syscall
+8    common    creat                   sys_creat                       
sys_creat
+9    common    link                    sys_link                        sys_link
+10   common    unlink                  sys_unlink                      
sys_unlink
+11   common    execve                  sys_execve                      
compat_sys_execve
+12   common    chdir                   sys_chdir                       
sys_chdir
+13   32                time                    -                               
sys_time32
+14   common    mknod                   sys_mknod                       
sys_mknod
+15   common    chmod                   sys_chmod                       
sys_chmod
+16   32                lchown                  -                               
sys_lchown16
+19   common    lseek                   sys_lseek                       
compat_sys_lseek
+20   common    getpid                  sys_getpid                      
sys_getpid
+21   common    mount                   sys_mount                       
compat_sys_mount
+22   common    umount                  sys_oldumount                   
sys_oldumount
+23   32                setuid                  -                               
sys_setuid16
+24   32                getuid                  -                               
sys_getuid16
+25   32                stime                   -                               
sys_stime32
+26   common    ptrace                  sys_ptrace                      
compat_sys_ptrace
+27   common    alarm                   sys_alarm                       
sys_alarm
+29   common    pause                   sys_pause                       
sys_pause
+30   common    utime                   sys_utime                       
sys_utime32
+33   common    access                  sys_access                      
sys_access
+34   common    nice                    sys_nice                        sys_nice
+36   common    sync                    sys_sync                        sys_sync
+37   common    kill                    sys_kill                        sys_kill
+38   common    rename                  sys_rename                      
sys_rename
+39   common    mkdir                   sys_mkdir                       
sys_mkdir
+40   common    rmdir                   sys_rmdir                       
sys_rmdir
+41   common    dup                     sys_dup                         sys_dup
+42   common    pipe                    sys_pipe                        sys_pipe
+43   common    times                   sys_times                       
compat_sys_times
+45   common    brk                     sys_brk                         sys_brk
+46   32                setgid                  -                               
sys_setgid16
+47   32                getgid                  -                               
sys_getgid16
+48   common    signal                  sys_signal                      
sys_signal
+49   32                geteuid                 -                               
sys_geteuid16
+50   32                getegid                 -                               
sys_getegid16
+51   common    acct                    sys_acct                        sys_acct
+52   common    umount2                 sys_umount                      
sys_umount
+54   common    ioctl                   sys_ioctl                       
compat_sys_ioctl
+55   common    fcntl                   sys_fcntl                       
compat_sys_fcntl
+57   common    setpgid                 sys_setpgid                     
sys_setpgid
+60   common    umask                   sys_umask                       
sys_umask
+61   common    chroot                  sys_chroot                      
sys_chroot
+62   common    ustat                   sys_ustat                       
compat_sys_ustat
+63   common    dup2                    sys_dup2                        sys_dup2
+64   common    getppid                 sys_getppid                     
sys_getppid
+65   common    getpgrp                 sys_getpgrp                     
sys_getpgrp
+66   common    setsid                  sys_setsid                      
sys_setsid
+67   common    sigaction               sys_sigaction                   
compat_sys_sigaction
+70   32                setreuid                -                               
sys_setreuid16
+71   32                setregid                -                               
sys_setregid16
+72   common    sigsuspend              sys_sigsuspend                  
sys_sigsuspend
+73   common    sigpending              sys_sigpending                  
compat_sys_sigpending
+74   common    sethostname             sys_sethostname                 
sys_sethostname
+75   common    setrlimit               sys_setrlimit                   
compat_sys_setrlimit
+76   32                getrlimit               -                               
compat_sys_old_getrlimit
+77   common    getrusage               sys_getrusage                   
compat_sys_getrusage
+78   common    gettimeofday            sys_gettimeofday                
compat_sys_gettimeofday
+79   common    settimeofday            sys_settimeofday                
compat_sys_settimeofday
+80   32                getgroups               -                               
sys_getgroups16
+81   32                setgroups               -                               
sys_setgroups16
+83   common    symlink                 sys_symlink                     
sys_symlink
+85   common    readlink                sys_readlink                    
sys_readlink
+86   common    uselib                  sys_uselib                      
sys_uselib
+87   common    swapon                  sys_swapon                      
sys_swapon
+88   common    reboot                  sys_reboot                      
sys_reboot
+89   common    readdir                 -                               
compat_sys_old_readdir
+90   common    mmap                    sys_old_mmap                    
compat_sys_s390_old_mmap
+91   common    munmap                  sys_munmap                      
sys_munmap
+92   common    truncate                sys_truncate                    
compat_sys_truncate
+93   common    ftruncate               sys_ftruncate                   
compat_sys_ftruncate
+94   common    fchmod                  sys_fchmod                      
sys_fchmod
+95   32                fchown                  -                               
sys_fchown16
+96   common    getpriority             sys_getpriority                 
sys_getpriority
+97   common    setpriority             sys_setpriority                 
sys_setpriority
+99   common    statfs                  sys_statfs                      
compat_sys_statfs
+100  common    fstatfs                 sys_fstatfs                     
compat_sys_fstatfs
+101  32                ioperm                  -                               
-
+102  common    socketcall              sys_socketcall                  
compat_sys_socketcall
+103  common    syslog                  sys_syslog                      
sys_syslog
+104  common    setitimer               sys_setitimer                   
compat_sys_setitimer
+105  common    getitimer               sys_getitimer                   
compat_sys_getitimer
+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
+111  common    vhangup                 sys_vhangup                     
sys_vhangup
+112  common    idle                    -                               -
+114  common    wait4                   sys_wait4                       
compat_sys_wait4
+115  common    swapoff                 sys_swapoff                     
sys_swapoff
+116  common    sysinfo                 sys_sysinfo                     
compat_sys_sysinfo
+117  common    ipc                     sys_s390_ipc                    
compat_sys_s390_ipc
+118  common    fsync                   sys_fsync                       
sys_fsync
+119  common    sigreturn               sys_sigreturn                   
compat_sys_sigreturn
+120  common    clone                   sys_clone                       
sys_clone
+121  common    setdomainname           sys_setdomainname               
sys_setdomainname
+122  common    uname                   sys_newuname                    
sys_newuname
+124  common    adjtimex                sys_adjtimex                    
sys_adjtimex_time32
+125  common    mprotect                sys_mprotect                    
sys_mprotect
+126  common    sigprocmask             sys_sigprocmask                 
compat_sys_sigprocmask
+127  common    create_module           -                               -
+128  common    init_module             sys_init_module                 
sys_init_module
+129  common    delete_module           sys_delete_module               
sys_delete_module
+130  common    get_kernel_syms         -                               -
+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
+135  common    sysfs                   sys_sysfs                       
sys_sysfs
+136  common    personality             sys_s390_personality            
sys_s390_personality
+137  common    afs_syscall             -                               -
+138  32                setfsuid                -                               
sys_setfsuid16
+139  32                setfsgid                -                               
sys_setfsgid16
+140  32                _llseek                 -                               
sys_llseek
+141  common    getdents                sys_getdents                    
compat_sys_getdents
+142  32                _newselect              -                               
compat_sys_select
+142  64                select                  sys_select                      
-
+143  common    flock                   sys_flock                       
sys_flock
+144  common    msync                   sys_msync                       
sys_msync
+145  common    readv                   sys_readv                       
compat_sys_readv
+146  common    writev                  sys_writev                      
compat_sys_writev
+147  common    getsid                  sys_getsid                      
sys_getsid
+148  common    fdatasync               sys_fdatasync                   
sys_fdatasync
+149  common    _sysctl                 sys_sysctl                      
compat_sys_sysctl
+150  common    mlock                   sys_mlock                       
sys_mlock
+151  common    munlock                 sys_munlock                     
sys_munlock
+152  common    mlockall                sys_mlockall                    
sys_mlockall
+153  common    munlockall              sys_munlockall                  
sys_munlockall
+154  common    sched_setparam          sys_sched_setparam              
sys_sched_setparam
+155  common    sched_getparam          sys_sched_getparam              
sys_sched_getparam
+156  common    sched_setscheduler      sys_sched_setscheduler          
sys_sched_setscheduler
+157  common    sched_getscheduler      sys_sched_getscheduler          
sys_sched_getscheduler
+158  common    sched_yield             sys_sched_yield                 
sys_sched_yield
+159  common    sched_get_priority_max  sys_sched_get_priority_max      
sys_sched_get_priority_max
+160  common    sched_get_priority_min  sys_sched_get_priority_min      
sys_sched_get_priority_min
+161  common    sched_rr_get_interval   sys_sched_rr_get_interval       
sys_sched_rr_get_interval_time32
+162  common    nanosleep               sys_nanosleep                   
sys_nanosleep_time32
+163  common    mremap                  sys_mremap                      
sys_mremap
+164  32                setresuid               -                               
sys_setresuid16
+165  32                getresuid               -                               
sys_getresuid16
+167  common    query_module            -                               -
+168  common    poll                    sys_poll                        sys_poll
+169  common    nfsservctl              -                               -
+170  32                setresgid               -                               
sys_setresgid16
+171  32                getresgid               -                               
sys_getresgid16
+172  common    prctl                   sys_prctl                       
sys_prctl
+173  common    rt_sigreturn            sys_rt_sigreturn                
compat_sys_rt_sigreturn
+174  common    rt_sigaction            sys_rt_sigaction                
compat_sys_rt_sigaction
+175  common    rt_sigprocmask          sys_rt_sigprocmask              
compat_sys_rt_sigprocmask
+176  common    rt_sigpending           sys_rt_sigpending               
compat_sys_rt_sigpending
+177  common    rt_sigtimedwait         sys_rt_sigtimedwait             
compat_sys_rt_sigtimedwait_time32
+178  common    rt_sigqueueinfo         sys_rt_sigqueueinfo             
compat_sys_rt_sigqueueinfo
+179  common    rt_sigsuspend           sys_rt_sigsuspend               
compat_sys_rt_sigsuspend
+180  common    pread64                 sys_pread64                     
compat_sys_s390_pread64
+181  common    pwrite64                sys_pwrite64                    
compat_sys_s390_pwrite64
+182  32                chown                   -                               
sys_chown16
+183  common    getcwd                  sys_getcwd                      
sys_getcwd
+184  common    capget                  sys_capget                      
sys_capget
+185  common    capset                  sys_capset                      
sys_capset
+186  common    sigaltstack             sys_sigaltstack                 
compat_sys_sigaltstack
+187  common    sendfile                sys_sendfile64                  
compat_sys_sendfile
+188  common    getpmsg                 -                               -
+189  common    putpmsg                 -                               -
+190  common    vfork                   sys_vfork                       
sys_vfork
+191  32                ugetrlimit              -                               
compat_sys_getrlimit
+191  64                getrlimit               sys_getrlimit                   
-
+192  32                mmap2                   -                               
compat_sys_s390_mmap2
+193  32                truncate64              -                               
compat_sys_s390_truncate64
+194  32                ftruncate64             -                               
compat_sys_s390_ftruncate64
+195  32                stat64                  -                               
compat_sys_s390_stat64
+196  32                lstat64                 -                               
compat_sys_s390_lstat64
+197  32                fstat64                 -                               
compat_sys_s390_fstat64
+198  32                lchown32                -                               
sys_lchown
+198  64                lchown                  sys_lchown                      
-
+199  32                getuid32                -                               
sys_getuid
+199  64                getuid                  sys_getuid                      
-
+200  32                getgid32                -                               
sys_getgid
+200  64                getgid                  sys_getgid                      
-
+201  32                geteuid32               -                               
sys_geteuid
+201  64                geteuid                 sys_geteuid                     
-
+202  32                getegid32               -                               
sys_getegid
+202  64                getegid                 sys_getegid                     
-
+203  32                setreuid32              -                               
sys_setreuid
+203  64                setreuid                sys_setreuid                    
-
+204  32                setregid32              -                               
sys_setregid
+204  64                setregid                sys_setregid                    
-
+205  32                getgroups32             -                               
sys_getgroups
+205  64                getgroups               sys_getgroups                   
-
+206  32                setgroups32             -                               
sys_setgroups
+206  64                setgroups               sys_setgroups                   
-
+207  32                fchown32                -                               
sys_fchown
+207  64                fchown                  sys_fchown                      
-
+208  32                setresuid32             -                               
sys_setresuid
+208  64                setresuid               sys_setresuid                   
-
+209  32                getresuid32             -                               
sys_getresuid
+209  64                getresuid               sys_getresuid                   
-
+210  32                setresgid32             -                               
sys_setresgid
+210  64                setresgid               sys_setresgid                   
-
+211  32                getresgid32             -                               
sys_getresgid
+211  64                getresgid               sys_getresgid                   
-
+212  32                chown32                 -                               
sys_chown
+212  64                chown                   sys_chown                       
-
+213  32                setuid32                -                               
sys_setuid
+213  64                setuid                  sys_setuid                      
-
+214  32                setgid32                -                               
sys_setgid
+214  64                setgid                  sys_setgid                      
-
+215  32                setfsuid32              -                               
sys_setfsuid
+215  64                setfsuid                sys_setfsuid                    
-
+216  32                setfsgid32              -                               
sys_setfsgid
+216  64                setfsgid                sys_setfsgid                    
-
+217  common    pivot_root              sys_pivot_root                  
sys_pivot_root
+218  common    mincore                 sys_mincore                     
sys_mincore
+219  common    madvise                 sys_madvise                     
sys_madvise
+220  common    getdents64              sys_getdents64                  
sys_getdents64
+221  32                fcntl64                 -                               
compat_sys_fcntl64
+222  common    readahead               sys_readahead                   
compat_sys_s390_readahead
+223  32                sendfile64              -                               
compat_sys_sendfile64
+224  common    setxattr                sys_setxattr                    
sys_setxattr
+225  common    lsetxattr               sys_lsetxattr                   
sys_lsetxattr
+226  common    fsetxattr               sys_fsetxattr                   
sys_fsetxattr
+227  common    getxattr                sys_getxattr                    
sys_getxattr
+228  common    lgetxattr               sys_lgetxattr                   
sys_lgetxattr
+229  common    fgetxattr               sys_fgetxattr                   
sys_fgetxattr
+230  common    listxattr               sys_listxattr                   
sys_listxattr
+231  common    llistxattr              sys_llistxattr                  
sys_llistxattr
+232  common    flistxattr              sys_flistxattr                  
sys_flistxattr
+233  common    removexattr             sys_removexattr                 
sys_removexattr
+234  common    lremovexattr            sys_lremovexattr                
sys_lremovexattr
+235  common    fremovexattr            sys_fremovexattr                
sys_fremovexattr
+236  common    gettid                  sys_gettid                      
sys_gettid
+237  common    tkill                   sys_tkill                       
sys_tkill
+238  common    futex                   sys_futex                       
sys_futex_time32
+239  common    sched_setaffinity       sys_sched_setaffinity           
compat_sys_sched_setaffinity
+240  common    sched_getaffinity       sys_sched_getaffinity           
compat_sys_sched_getaffinity
+241  common    tgkill                  sys_tgkill                      
sys_tgkill
+243  common    io_setup                sys_io_setup                    
compat_sys_io_setup
+244  common    io_destroy              sys_io_destroy                  
sys_io_destroy
+245  common    io_getevents            sys_io_getevents                
sys_io_getevents_time32
+246  common    io_submit               sys_io_submit                   
compat_sys_io_submit
+247  common    io_cancel               sys_io_cancel                   
sys_io_cancel
+248  common    exit_group              sys_exit_group                  
sys_exit_group
+249  common    epoll_create            sys_epoll_create                
sys_epoll_create
+250  common    epoll_ctl               sys_epoll_ctl                   
sys_epoll_ctl
+251  common    epoll_wait              sys_epoll_wait                  
sys_epoll_wait
+252  common    set_tid_address         sys_set_tid_address             
sys_set_tid_address
+253  common    fadvise64               sys_fadvise64_64                
compat_sys_s390_fadvise64
+254  common    timer_create            sys_timer_create                
compat_sys_timer_create
+255  common    timer_settime           sys_timer_settime               
sys_timer_settime32
+256  common    timer_gettime           sys_timer_gettime               
sys_timer_gettime32
+257  common    timer_getoverrun        sys_timer_getoverrun            
sys_timer_getoverrun
+258  common    timer_delete            sys_timer_delete                
sys_timer_delete
+259  common    clock_settime           sys_clock_settime               
sys_clock_settime32
+260  common    clock_gettime           sys_clock_gettime               
sys_clock_gettime32
+261  common    clock_getres            sys_clock_getres                
sys_clock_getres_time32
+262  common    clock_nanosleep         sys_clock_nanosleep             
sys_clock_nanosleep_time32
+264  32                fadvise64_64            -                               
compat_sys_s390_fadvise64_64
+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
+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
+274  common    mq_timedreceive         sys_mq_timedreceive             
sys_mq_timedreceive_time32
+275  common    mq_notify               sys_mq_notify                   
compat_sys_mq_notify
+276  common    mq_getsetattr           sys_mq_getsetattr               
compat_sys_mq_getsetattr
+277  common    kexec_load              sys_kexec_load                  
compat_sys_kexec_load
+278  common    add_key                 sys_add_key                     
sys_add_key
+279  common    request_key             sys_request_key                 
sys_request_key
+280  common    keyctl                  sys_keyctl                      
compat_sys_keyctl
+281  common    waitid                  sys_waitid                      
compat_sys_waitid
+282  common    ioprio_set              sys_ioprio_set                  
sys_ioprio_set
+283  common    ioprio_get              sys_ioprio_get                  
sys_ioprio_get
+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
+288  common    openat                  sys_openat                      
compat_sys_openat
+289  common    mkdirat                 sys_mkdirat                     
sys_mkdirat
+290  common    mknodat                 sys_mknodat                     
sys_mknodat
+291  common    fchownat                sys_fchownat                    
sys_fchownat
+292  common    futimesat               sys_futimesat                   
sys_futimesat_time32
+293  32                fstatat64               -                               
compat_sys_s390_fstatat64
+293  64                newfstatat              sys_newfstatat                  
-
+294  common    unlinkat                sys_unlinkat                    
sys_unlinkat
+295  common    renameat                sys_renameat                    
sys_renameat
+296  common    linkat                  sys_linkat                      
sys_linkat
+297  common    symlinkat               sys_symlinkat                   
sys_symlinkat
+298  common    readlinkat              sys_readlinkat                  
sys_readlinkat
+299  common    fchmodat                sys_fchmodat                    
sys_fchmodat
+300  common    faccessat               sys_faccessat                   
sys_faccessat
+301  common    pselect6                sys_pselect6                    
compat_sys_pselect6_time32
+302  common    ppoll                   sys_ppoll                       
compat_sys_ppoll_time32
+303  common    unshare                 sys_unshare                     
sys_unshare
+304  common    set_robust_list         sys_set_robust_list             
compat_sys_set_robust_list
+305  common    get_robust_list         sys_get_robust_list             
compat_sys_get_robust_list
+306  common    splice                  sys_splice                      
sys_splice
+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                    
compat_sys_vmsplice
+310  common    move_pages              sys_move_pages                  
compat_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
+314  common    fallocate               sys_fallocate                   
compat_sys_s390_fallocate
+315  common    utimensat               sys_utimensat                   
sys_utimensat_time32
+316  common    signalfd                sys_signalfd                    
compat_sys_signalfd
+317  common    timerfd                 -                               -
+318  common    eventfd                 sys_eventfd                     
sys_eventfd
+319  common    timerfd_create          sys_timerfd_create              
sys_timerfd_create
+320  common    timerfd_settime         sys_timerfd_settime             
sys_timerfd_settime32
+321  common    timerfd_gettime         sys_timerfd_gettime             
sys_timerfd_gettime32
+322  common    signalfd4               sys_signalfd4                   
compat_sys_signalfd4
+323  common    eventfd2                sys_eventfd2                    
sys_eventfd2
+324  common    inotify_init1           sys_inotify_init1               
sys_inotify_init1
+325  common    pipe2                   sys_pipe2                       
sys_pipe2
+326  common    dup3                    sys_dup3                        sys_dup3
+327  common    epoll_create1           sys_epoll_create1               
sys_epoll_create1
+328  common    preadv                  sys_preadv                      
compat_sys_preadv
+329  common    pwritev                 sys_pwritev                     
compat_sys_pwritev
+330  common    rt_tgsigqueueinfo       sys_rt_tgsigqueueinfo           
compat_sys_rt_tgsigqueueinfo
+331  common    perf_event_open         sys_perf_event_open             
sys_perf_event_open
+332  common    fanotify_init           sys_fanotify_init               
sys_fanotify_init
+333  common    fanotify_mark           sys_fanotify_mark               
compat_sys_fanotify_mark
+334  common    prlimit64               sys_prlimit64                   
sys_prlimit64
+335  common    name_to_handle_at       sys_name_to_handle_at           
sys_name_to_handle_at
+336  common    open_by_handle_at       sys_open_by_handle_at           
compat_sys_open_by_handle_at
+337  common    clock_adjtime           sys_clock_adjtime               
sys_clock_adjtime32
+338  common    syncfs                  sys_syncfs                      
sys_syncfs
+339  common    setns                   sys_setns                       
sys_setns
+340  common    process_vm_readv        sys_process_vm_readv            
compat_sys_process_vm_readv
+341  common    process_vm_writev       sys_process_vm_writev           
compat_sys_process_vm_writev
+342  common    s390_runtime_instr      sys_s390_runtime_instr          
sys_s390_runtime_instr
+343  common    kcmp                    sys_kcmp                        sys_kcmp
+344  common    finit_module            sys_finit_module                
sys_finit_module
+345  common    sched_setattr           sys_sched_setattr               
sys_sched_setattr
+346  common    sched_getattr           sys_sched_getattr               
sys_sched_getattr
+347  common    renameat2               sys_renameat2                   
sys_renameat2
+348  common    seccomp                 sys_seccomp                     
sys_seccomp
+349  common    getrandom               sys_getrandom                   
sys_getrandom
+350  common    memfd_create            sys_memfd_create                
sys_memfd_create
+351  common    bpf                     sys_bpf                         sys_bpf
+352  common    s390_pci_mmio_write     sys_s390_pci_mmio_write         
sys_s390_pci_mmio_write
+353  common    s390_pci_mmio_read      sys_s390_pci_mmio_read          
sys_s390_pci_mmio_read
+354  common    execveat                sys_execveat                    
compat_sys_execveat
+355  common    userfaultfd             sys_userfaultfd                 
sys_userfaultfd
+356  common    membarrier              sys_membarrier                  
sys_membarrier
+357  common    recvmmsg                sys_recvmmsg                    
compat_sys_recvmmsg_time32
+358  common    sendmmsg                sys_sendmmsg                    
compat_sys_sendmmsg
+359  common    socket                  sys_socket                      
sys_socket
+360  common    socketpair              sys_socketpair                  
sys_socketpair
+361  common    bind                    sys_bind                        sys_bind
+362  common    connect                 sys_connect                     
sys_connect
+363  common    listen                  sys_listen                      
sys_listen
+364  common    accept4                 sys_accept4                     
sys_accept4
+365  common    getsockopt              sys_getsockopt                  
compat_sys_getsockopt
+366  common    setsockopt              sys_setsockopt                  
compat_sys_setsockopt
+367  common    getsockname             sys_getsockname                 
sys_getsockname
+368  common    getpeername             sys_getpeername                 
sys_getpeername
+369  common    sendto                  sys_sendto                      
sys_sendto
+370  common    sendmsg                 sys_sendmsg                     
compat_sys_sendmsg
+371  common    recvfrom                sys_recvfrom                    
compat_sys_recvfrom
+372  common    recvmsg                 sys_recvmsg                     
compat_sys_recvmsg
+373  common    shutdown                sys_shutdown                    
sys_shutdown
+374  common    mlock2                  sys_mlock2                      
sys_mlock2
+375  common    copy_file_range         sys_copy_file_range             
sys_copy_file_range
+376  common    preadv2                 sys_preadv2                     
compat_sys_preadv2
+377  common    pwritev2                sys_pwritev2                    
compat_sys_pwritev2
+378  common    s390_guarded_storage    sys_s390_guarded_storage        
sys_s390_guarded_storage
+379  common    statx                   sys_statx                       
sys_statx
+380  common    s390_sthyi              sys_s390_sthyi                  
sys_s390_sthyi
+381  common    kexec_file_load         sys_kexec_file_load             
sys_kexec_file_load
+382  common    io_pgetevents           sys_io_pgetevents               
compat_sys_io_pgetevents
+383  common    rseq                    sys_rseq                        sys_rseq
+384  common    pkey_mprotect           sys_pkey_mprotect               
sys_pkey_mprotect
+385  common    pkey_alloc              sys_pkey_alloc                  
sys_pkey_alloc
+386  common    pkey_free               sys_pkey_free                   
sys_pkey_free
+# room for arch specific syscalls
+392    64      semtimedop              sys_semtimedop                  -
+393  common    semget                  sys_semget                      
sys_semget
+394  common    semctl                  sys_semctl                      
compat_sys_semctl
+395  common    shmget                  sys_shmget                      
sys_shmget
+396  common    shmctl                  sys_shmctl                      
compat_sys_shmctl
+397  common    shmat                   sys_shmat                       
compat_sys_shmat
+398  common    shmdt                   sys_shmdt                       
sys_shmdt
+399  common    msgget                  sys_msgget                      
sys_msgget
+400  common    msgsnd                  sys_msgsnd                      
compat_sys_msgsnd
+401  common    msgrcv                  sys_msgrcv                      
compat_sys_msgrcv
+402  common    msgctl                  sys_msgctl                      
compat_sys_msgctl
+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         -                               
compat_sys_pselect6_time64
+414    32      ppoll_time64            -                               
compat_sys_ppoll_time64
+416    32      io_pgetevents_time64    -                               
sys_io_pgetevents
+417    32      recvmmsg_time64         -                               
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  -                               
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           
sys_pidfd_send_signal
+425  common    io_uring_setup          sys_io_uring_setup              
sys_io_uring_setup
+426  common    io_uring_enter          sys_io_uring_enter              
sys_io_uring_enter
+427  common    io_uring_register       sys_io_uring_register           
sys_io_uring_register
+428  common    open_tree               sys_open_tree                   
sys_open_tree
+429  common    move_mount              sys_move_mount                  
sys_move_mount
+430  common    fsopen                  sys_fsopen                      
sys_fsopen
+431  common    fsconfig                sys_fsconfig                    
sys_fsconfig
+432  common    fsmount                 sys_fsmount                     
sys_fsmount
+433  common    fspick                  sys_fspick                      
sys_fspick
+434  common    pidfd_open              sys_pidfd_open                  
sys_pidfd_open
+435  common    clone3                  sys_clone3                      
sys_clone3
diff --git a/linux-user/s390x/syscall_nr.h b/linux-user/s390x/syscall_nr.h
deleted file mode 100644
index 261da1b0c30e..000000000000
--- a/linux-user/s390x/syscall_nr.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * This file contains the system call numbers.
- */
-
-#ifndef LINUX_USER_S390X_SYSCALL_NR_H
-#define LINUX_USER_S390X_SYSCALL_NR_H
-
-#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_restart_syscall         7
-#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_mknod               14
-#define TARGET_NR_chmod               15
-#define TARGET_NR_lseek               19
-#define TARGET_NR_getpid              20
-#define TARGET_NR_mount               21
-#define TARGET_NR_umount              22
-#define TARGET_NR_ptrace              26
-#define TARGET_NR_alarm               27
-#define TARGET_NR_pause               29
-#define TARGET_NR_utime               30
-#define TARGET_NR_access              33
-#define TARGET_NR_nice                34
-#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_brk                 45
-#define TARGET_NR_signal              48
-#define TARGET_NR_acct                51
-#define TARGET_NR_umount2             52
-#define TARGET_NR_ioctl               54
-#define TARGET_NR_fcntl               55
-#define TARGET_NR_setpgid             57
-#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_sigsuspend          72
-#define TARGET_NR_sigpending          73
-#define TARGET_NR_sethostname         74
-#define TARGET_NR_setrlimit           75
-#define TARGET_NR_getrusage           77
-#define TARGET_NR_gettimeofday        78
-#define TARGET_NR_settimeofday        79
-#define TARGET_NR_symlink             83
-#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_getpriority         96
-#define TARGET_NR_setpriority         97
-#define TARGET_NR_statfs              99
-#define TARGET_NR_fstatfs            100
-#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
-#define TARGET_NR_lookup_dcookie     110
-#define TARGET_NR_vhangup            111
-#define TARGET_NR_idle               112
-#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_adjtimex           124
-#define TARGET_NR_mprotect           125
-#define TARGET_NR_sigprocmask        126
-#define TARGET_NR_create_module      127
-#define TARGET_NR_init_module        128
-#define TARGET_NR_delete_module      129
-#define TARGET_NR_get_kernel_syms    130
-#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_getdents           141
-#define TARGET_NR_select                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_query_module       167
-#define TARGET_NR_poll               168
-#define TARGET_NR_nfsservctl         169
-#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_getcwd             183
-#define TARGET_NR_capget             184
-#define TARGET_NR_capset             185
-#define TARGET_NR_sigaltstack        186
-#define TARGET_NR_sendfile           187
-#define TARGET_NR_getpmsg               188
-#define TARGET_NR_putpmsg               189
-#define TARGET_NR_vfork         190
-#define TARGET_NR_getrlimit             191     /* SuS compliant getrlimit */
-#define TARGET_NR_lchown                198
-#define TARGET_NR_getuid                199
-#define TARGET_NR_getgid                200
-#define TARGET_NR_geteuid               201
-#define TARGET_NR_getegid               202
-#define TARGET_NR_setreuid              203
-#define TARGET_NR_setregid              204
-#define TARGET_NR_getgroups     205
-#define TARGET_NR_setgroups     206
-#define TARGET_NR_fchown                207
-#define TARGET_NR_setresuid     208
-#define TARGET_NR_getresuid     209
-#define TARGET_NR_setresgid     210
-#define TARGET_NR_getresgid     211
-#define TARGET_NR_chown                 212
-#define TARGET_NR_setuid                213
-#define TARGET_NR_setgid                214
-#define TARGET_NR_setfsuid              215
-#define TARGET_NR_setfsgid              216
-#define TARGET_NR_pivot_root         217
-#define TARGET_NR_mincore            218
-#define TARGET_NR_madvise            219
-#define TARGET_NR_getdents64            220
-#define TARGET_NR_readahead             222
-#define TARGET_NR_setxattr              224
-#define TARGET_NR_lsetxattr             225
-#define TARGET_NR_fsetxattr             226
-#define TARGET_NR_getxattr              227
-#define TARGET_NR_lgetxattr             228
-#define TARGET_NR_fgetxattr             229
-#define TARGET_NR_listxattr             230
-#define TARGET_NR_llistxattr            231
-#define TARGET_NR_flistxattr            232
-#define TARGET_NR_removexattr   233
-#define TARGET_NR_lremovexattr  234
-#define TARGET_NR_fremovexattr  235
-#define TARGET_NR_gettid                236
-#define TARGET_NR_tkill         237
-#define TARGET_NR_futex         238
-#define TARGET_NR_sched_setaffinity     239
-#define TARGET_NR_sched_getaffinity     240
-#define TARGET_NR_tgkill                241
-/* Number 242 is reserved for tux */
-#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_epoll_create  249
-#define TARGET_NR_epoll_ctl             250
-#define TARGET_NR_epoll_wait            251
-#define TARGET_NR_set_tid_address       252
-#define TARGET_NR_fadvise64             253
-#define TARGET_NR_timer_create  254
-#define TARGET_NR_timer_settime (TARGET_NR_timer_create + 1)
-#define TARGET_NR_timer_gettime (TARGET_NR_timer_create + 2)
-#define TARGET_NR_timer_getoverrun      (TARGET_NR_timer_create + 3)
-#define TARGET_NR_timer_delete  (TARGET_NR_timer_create + 4)
-#define TARGET_NR_clock_settime (TARGET_NR_timer_create + 5)
-#define TARGET_NR_clock_gettime (TARGET_NR_timer_create + 6)
-#define TARGET_NR_clock_getres  (TARGET_NR_timer_create + 7)
-#define TARGET_NR_clock_nanosleep       (TARGET_NR_timer_create + 8)
-/* Number 263 is reserved for vserver */
-#define TARGET_NR_statfs64              265
-#define TARGET_NR_fstatfs64             266
-#define TARGET_NR_remap_file_pages      267
-/* Number 268 is reserved for new sys_mbind */
-/* Number 269 is reserved for new sys_get_mempolicy */
-/* Number 270 is reserved for new sys_set_mempolicy */
-#define TARGET_NR_mq_open               271
-#define TARGET_NR_mq_unlink             272
-#define TARGET_NR_mq_timedsend  273
-#define TARGET_NR_mq_timedreceive       274
-#define TARGET_NR_mq_notify             275
-#define TARGET_NR_mq_getsetattr 276
-#define TARGET_NR_kexec_load            277
-#define TARGET_NR_add_key               278
-#define TARGET_NR_request_key   279
-#define TARGET_NR_keyctl                280
-#define TARGET_NR_waitid                281
-#define TARGET_NR_ioprio_set            282
-#define TARGET_NR_ioprio_get            283
-#define TARGET_NR_inotify_init  284
-#define TARGET_NR_inotify_add_watch     285
-#define TARGET_NR_inotify_rm_watch      286
-/* Number 287 is reserved for new sys_migrate_pages */
-#define TARGET_NR_openat                288
-#define TARGET_NR_mkdirat               289
-#define TARGET_NR_mknodat               290
-#define TARGET_NR_fchownat              291
-#define TARGET_NR_futimesat             292
-#define TARGET_NR_newfstatat            293
-#define TARGET_NR_unlinkat              294
-#define TARGET_NR_renameat              295
-#define TARGET_NR_linkat                296
-#define TARGET_NR_symlinkat             297
-#define TARGET_NR_readlinkat            298
-#define TARGET_NR_fchmodat              299
-#define TARGET_NR_faccessat             300
-#define TARGET_NR_pselect6              301
-#define TARGET_NR_ppoll         302
-#define TARGET_NR_unshare               303
-#define TARGET_NR_set_robust_list       304
-#define TARGET_NR_get_robust_list       305
-#define TARGET_NR_splice                306
-#define TARGET_NR_sync_file_range       307
-#define TARGET_NR_tee           308
-#define TARGET_NR_vmsplice              309
-/* Number 310 is reserved for new sys_move_pages */
-#define TARGET_NR_getcpu                311
-#define TARGET_NR_epoll_pwait   312
-#define TARGET_NR_utimes                313
-#define TARGET_NR_fallocate             314
-#define TARGET_NR_utimensat             315
-#define TARGET_NR_signalfd              316
-#define TARGET_NR_timerfd               317
-#define TARGET_NR_eventfd               318
-#define TARGET_NR_timerfd_create        319
-#define TARGET_NR_timerfd_settime       320
-#define TARGET_NR_timerfd_gettime       321
-#define TARGET_NR_signalfd4             322
-#define TARGET_NR_eventfd2              323
-#define TARGET_NR_inotify_init1 324
-#define TARGET_NR_pipe2         325
-#define TARGET_NR_dup3          326
-#define TARGET_NR_epoll_create1 327
-#define TARGET_NR_preadv                328
-#define TARGET_NR_pwritev               329
-#define TARGET_NR_rt_tgsigqueueinfo     330
-#define TARGET_NR_perf_event_open       331
-#define TARGET_NR_fanotify_init         332
-#define TARGET_NR_fanotify_mark         333
-#define TARGET_NR_prlimit64             334
-#define TARGET_NR_name_to_handle_at     335
-#define TARGET_NR_open_by_handle_at     336
-#define TARGET_NR_clock_adjtime         337
-#define TARGET_NR_syncfs                338
-#define TARGET_NR_setns                 339
-#define TARGET_NR_process_vm_readv      340
-#define TARGET_NR_process_vm_writev     341
-#define TARGET_NR_s390_runtime_instr    342
-#define TARGET_NR_kcmp                  343
-#define TARGET_NR_finit_module          344
-#define TARGET_NR_sched_setattr         345
-#define TARGET_NR_sched_getattr         346
-#define TARGET_NR_renameat2             347
-#define TARGET_NR_seccomp               348
-#define TARGET_NR_getrandom             349
-#define TARGET_NR_memfd_create          350
-#define TARGET_NR_bpf                   351
-#define TARGET_NR_s390_pci_mmio_write   352
-#define TARGET_NR_s390_pci_mmio_read    353
-#define TARGET_NR_execveat              354
-#define TARGET_NR_userfaultfd           355
-#define TARGET_NR_membarrier            356
-#define TARGET_NR_recvmmsg              357
-#define TARGET_NR_sendmmsg              358
-#define TARGET_NR_socket                359
-#define TARGET_NR_socketpair            360
-#define TARGET_NR_bind                  361
-#define TARGET_NR_connect               362
-#define TARGET_NR_listen                363
-#define TARGET_NR_accept4               364
-#define TARGET_NR_getsockopt            365
-#define TARGET_NR_setsockopt            366
-#define TARGET_NR_getsockname           367
-#define TARGET_NR_getpeername           368
-#define TARGET_NR_sendto                369
-#define TARGET_NR_sendmsg               370
-#define TARGET_NR_recvfrom              371
-#define TARGET_NR_recvmsg               372
-#define TARGET_NR_shutdown              373
-#define TARGET_NR_mlock2                374
-
-
-#endif
diff --git a/linux-user/s390x/syscallhdr.sh b/linux-user/s390x/syscallhdr.sh
new file mode 100755
index 000000000000..85a99c48deea
--- /dev/null
+++ b/linux-user/s390x/syscallhdr.sh
@@ -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_S390X_`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 */\n" "${fileguard}"
+) > "$out"
-- 
2.24.1




reply via email to

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