On Monday, February 17, 2020, Laurent Vivier <laur...@vivier.eu> wrote:

> Copy syscall.tbl and syscallhdr.sh from 
> linux/arch/mips/kernel/syscalls/syscall_o32.tbl
> v5.5
> Update syscallhdr.sh to generate QEMU syscall_nr.h
> Move the offset (4000) from the file to the Makefile.objs to be passed
> to syscallhdr.sh
> Rename on the fly fadvise64 to fadvise64_64.
>
> Signed-off-by: Laurent Vivier <laur...@vivier.eu>
> ---



Reviewed-by: Aleksandar Markovic <amarko...@wavecomp.com>


>  configure                       |   1 +
>  linux-user/Makefile.objs        |   1 +
>  linux-user/mips/Makefile.objs   |   5 +
>  linux-user/mips/syscall_nr.h    | 425 --------------------------------
>  linux-user/mips/syscall_o32.tbl | 425 ++++++++++++++++++++++++++++++++
>  linux-user/mips/syscallhdr.sh   |  36 +++
>  6 files changed, 468 insertions(+), 425 deletions(-)
>  create mode 100644 linux-user/mips/Makefile.objs
>  delete mode 100644 linux-user/mips/syscall_nr.h
>  create mode 100644 linux-user/mips/syscall_o32.tbl
>  create mode 100644 linux-user/mips/syscallhdr.sh
>
> diff --git a/configure b/configure
> index daed4d84e414..24455fb069ac 100755
> --- a/configure
> +++ b/configure
> @@ -7723,6 +7723,7 @@ case "$target_name" in
>      mttcg="yes"
>      TARGET_ARCH=mips
>      echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
> +    TARGET_SYSTBL_ABI=o32
>    ;;
>    mipsn32|mipsn32el)
>      mttcg="yes"
> diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
> index 1791bc48cd17..0a0715e9e192 100644
> --- a/linux-user/Makefile.objs
> +++ b/linux-user/Makefile.objs
> @@ -13,6 +13,7 @@ obj-$(TARGET_HPPA) += hppa/
>  obj-$(TARGET_I386) += i386/
>  obj-$(TARGET_M68K) += m68k/
>  obj-$(TARGET_MICROBLAZE) += microblaze/
> +obj-$(TARGET_MIPS) += mips/
>  obj-$(TARGET_PPC) += ppc/
>  obj-$(TARGET_PPC64) += ppc/
>  obj-$(TARGET_S390X) += s390x/
> diff --git a/linux-user/mips/Makefile.objs b/linux-user/mips/Makefile.objs
> new file mode 100644
> index 000000000000..440dba1a5d09
> --- /dev/null
> +++ b/linux-user/mips/Makefile.objs
> @@ -0,0 +1,5 @@
> +generated-files-y += linux-user/mips/syscall_nr.h
> +
> +syshdr := $(SRC_PATH)/linux-user/mips/syscallhdr.sh
> +%/syscall_nr.h: $(SRC_PATH)/linux-user/mips/syscall_o32.tbl $(syshdr)
> +       $(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI) ""
> 4000,,"GEN","$@")
> diff --git a/linux-user/mips/syscall_nr.h b/linux-user/mips/syscall_nr.h
> deleted file mode 100644
> index 0be3af1c8455..000000000000
> --- a/linux-user/mips/syscall_nr.h
> +++ /dev/null
> @@ -1,425 +0,0 @@
> -/*
> - * Linux o32 style syscalls are in the range from 4000 to 4999.
> - */
> -
> -#ifndef LINUX_USER_MIPS_SYSCALL_NR_H
> -#define LINUX_USER_MIPS_SYSCALL_NR_H
> -
> -#define TARGET_NR_Linux                        4000
> -#define TARGET_NR_syscall              (TARGET_NR_Linux +   0)
> -#define TARGET_NR_exit                 (TARGET_NR_Linux +   1)
> -#define TARGET_NR_fork                 (TARGET_NR_Linux +   2)
> -#define TARGET_NR_read                 (TARGET_NR_Linux +   3)
> -#define TARGET_NR_write                        (TARGET_NR_Linux +   4)
> -#define TARGET_NR_open                 (TARGET_NR_Linux +   5)
> -#define TARGET_NR_close                        (TARGET_NR_Linux +   6)
> -#define TARGET_NR_waitpid              (TARGET_NR_Linux +   7)
> -#define TARGET_NR_creat                        (TARGET_NR_Linux +   8)
> -#define TARGET_NR_link                 (TARGET_NR_Linux +   9)
> -#define TARGET_NR_unlink               (TARGET_NR_Linux +  10)
> -#define TARGET_NR_execve               (TARGET_NR_Linux +  11)
> -#define TARGET_NR_chdir                        (TARGET_NR_Linux +  12)
> -#define TARGET_NR_time                 (TARGET_NR_Linux +  13)
> -#define TARGET_NR_mknod                        (TARGET_NR_Linux +  14)
> -#define TARGET_NR_chmod                        (TARGET_NR_Linux +  15)
> -#define TARGET_NR_lchown               (TARGET_NR_Linux +  16)
> -#define TARGET_NR_break                        (TARGET_NR_Linux +  17)
> -#define TARGET_NR_unused18             (TARGET_NR_Linux +  18)
> -#define TARGET_NR_lseek                        (TARGET_NR_Linux +  19)
> -#define TARGET_NR_getpid               (TARGET_NR_Linux +  20)
> -#define TARGET_NR_mount                        (TARGET_NR_Linux +  21)
> -#define TARGET_NR_umount               (TARGET_NR_Linux +  22)
> -#define TARGET_NR_setuid               (TARGET_NR_Linux +  23)
> -#define TARGET_NR_getuid               (TARGET_NR_Linux +  24)
> -#define TARGET_NR_stime                        (TARGET_NR_Linux +  25)
> -#define TARGET_NR_ptrace               (TARGET_NR_Linux +  26)
> -#define TARGET_NR_alarm                        (TARGET_NR_Linux +  27)
> -#define TARGET_NR_unused28             (TARGET_NR_Linux +  28)
> -#define TARGET_NR_pause                        (TARGET_NR_Linux +  29)
> -#define TARGET_NR_utime                        (TARGET_NR_Linux +  30)
> -#define TARGET_NR_stty                 (TARGET_NR_Linux +  31)
> -#define TARGET_NR_gtty                 (TARGET_NR_Linux +  32)
> -#define TARGET_NR_access               (TARGET_NR_Linux +  33)
> -#define TARGET_NR_nice                 (TARGET_NR_Linux +  34)
> -#define TARGET_NR_ftime                        (TARGET_NR_Linux +  35)
> -#define TARGET_NR_sync                 (TARGET_NR_Linux +  36)
> -#define TARGET_NR_kill                 (TARGET_NR_Linux +  37)
> -#define TARGET_NR_rename               (TARGET_NR_Linux +  38)
> -#define TARGET_NR_mkdir                        (TARGET_NR_Linux +  39)
> -#define TARGET_NR_rmdir                        (TARGET_NR_Linux +  40)
> -#define TARGET_NR_dup                  (TARGET_NR_Linux +  41)
> -#define TARGET_NR_pipe                 (TARGET_NR_Linux +  42)
> -#define TARGET_NR_times                        (TARGET_NR_Linux +  43)
> -#define TARGET_NR_prof                 (TARGET_NR_Linux +  44)
> -#define TARGET_NR_brk                  (TARGET_NR_Linux +  45)
> -#define TARGET_NR_setgid               (TARGET_NR_Linux +  46)
> -#define TARGET_NR_getgid               (TARGET_NR_Linux +  47)
> -#define TARGET_NR_signal               (TARGET_NR_Linux +  48)
> -#define TARGET_NR_geteuid              (TARGET_NR_Linux +  49)
> -#define TARGET_NR_getegid              (TARGET_NR_Linux +  50)
> -#define TARGET_NR_acct                 (TARGET_NR_Linux +  51)
> -#define TARGET_NR_umount2              (TARGET_NR_Linux +  52)
> -#define TARGET_NR_lock                 (TARGET_NR_Linux +  53)
> -#define TARGET_NR_ioctl                        (TARGET_NR_Linux +  54)
> -#define TARGET_NR_fcntl                        (TARGET_NR_Linux +  55)
> -#define TARGET_NR_mpx                  (TARGET_NR_Linux +  56)
> -#define TARGET_NR_setpgid              (TARGET_NR_Linux +  57)
> -#define TARGET_NR_ulimit               (TARGET_NR_Linux +  58)
> -#define TARGET_NR_unused59             (TARGET_NR_Linux +  59)
> -#define TARGET_NR_umask                        (TARGET_NR_Linux +  60)
> -#define TARGET_NR_chroot               (TARGET_NR_Linux +  61)
> -#define TARGET_NR_ustat                        (TARGET_NR_Linux +  62)
> -#define TARGET_NR_dup2                 (TARGET_NR_Linux +  63)
> -#define TARGET_NR_getppid              (TARGET_NR_Linux +  64)
> -#define TARGET_NR_getpgrp              (TARGET_NR_Linux +  65)
> -#define TARGET_NR_setsid               (TARGET_NR_Linux +  66)
> -#define TARGET_NR_sigaction            (TARGET_NR_Linux +  67)
> -#define TARGET_NR_sgetmask             (TARGET_NR_Linux +  68)
> -#define TARGET_NR_ssetmask             (TARGET_NR_Linux +  69)
> -#define TARGET_NR_setreuid             (TARGET_NR_Linux +  70)
> -#define TARGET_NR_setregid             (TARGET_NR_Linux +  71)
> -#define TARGET_NR_sigsuspend           (TARGET_NR_Linux +  72)
> -#define TARGET_NR_sigpending           (TARGET_NR_Linux +  73)
> -#define TARGET_NR_sethostname          (TARGET_NR_Linux +  74)
> -#define TARGET_NR_setrlimit            (TARGET_NR_Linux +  75)
> -#define TARGET_NR_getrlimit            (TARGET_NR_Linux +  76)
> -#define TARGET_NR_getrusage            (TARGET_NR_Linux +  77)
> -#define TARGET_NR_gettimeofday         (TARGET_NR_Linux +  78)
> -#define TARGET_NR_settimeofday         (TARGET_NR_Linux +  79)
> -#define TARGET_NR_getgroups            (TARGET_NR_Linux +  80)
> -#define TARGET_NR_setgroups            (TARGET_NR_Linux +  81)
> -#define TARGET_NR_reserved82           (TARGET_NR_Linux +  82)
> -#define TARGET_NR_symlink              (TARGET_NR_Linux +  83)
> -#define TARGET_NR_unused84             (TARGET_NR_Linux +  84)
> -#define TARGET_NR_readlink             (TARGET_NR_Linux +  85)
> -#define TARGET_NR_uselib               (TARGET_NR_Linux +  86)
> -#define TARGET_NR_swapon               (TARGET_NR_Linux +  87)
> -#define TARGET_NR_reboot               (TARGET_NR_Linux +  88)
> -#define TARGET_NR_readdir              (TARGET_NR_Linux +  89)
> -#define TARGET_NR_mmap                 (TARGET_NR_Linux +  90)
> -#define TARGET_NR_munmap               (TARGET_NR_Linux +  91)
> -#define TARGET_NR_truncate             (TARGET_NR_Linux +  92)
> -#define TARGET_NR_ftruncate            (TARGET_NR_Linux +  93)
> -#define TARGET_NR_fchmod               (TARGET_NR_Linux +  94)
> -#define TARGET_NR_fchown               (TARGET_NR_Linux +  95)
> -#define TARGET_NR_getpriority          (TARGET_NR_Linux +  96)
> -#define TARGET_NR_setpriority          (TARGET_NR_Linux +  97)
> -#define TARGET_NR_profil               (TARGET_NR_Linux +  98)
> -#define TARGET_NR_statfs               (TARGET_NR_Linux +  99)
> -#define TARGET_NR_fstatfs              (TARGET_NR_Linux + 100)
> -#define TARGET_NR_ioperm               (TARGET_NR_Linux + 101)
> -#define TARGET_NR_socketcall           (TARGET_NR_Linux + 102)
> -#define TARGET_NR_syslog               (TARGET_NR_Linux + 103)
> -#define TARGET_NR_setitimer            (TARGET_NR_Linux + 104)
> -#define TARGET_NR_getitimer            (TARGET_NR_Linux + 105)
> -#define TARGET_NR_stat                 (TARGET_NR_Linux + 106)
> -#define TARGET_NR_lstat                        (TARGET_NR_Linux + 107)
> -#define TARGET_NR_fstat                        (TARGET_NR_Linux + 108)
> -#define TARGET_NR_unused109            (TARGET_NR_Linux + 109)
> -#define TARGET_NR_iopl                 (TARGET_NR_Linux + 110)
> -#define TARGET_NR_vhangup              (TARGET_NR_Linux + 111)
> -#define TARGET_NR_idle                 (TARGET_NR_Linux + 112)
> -#define TARGET_NR_vm86                 (TARGET_NR_Linux + 113)
> -#define TARGET_NR_wait4                        (TARGET_NR_Linux + 114)
> -#define TARGET_NR_swapoff              (TARGET_NR_Linux + 115)
> -#define TARGET_NR_sysinfo              (TARGET_NR_Linux + 116)
> -#define TARGET_NR_ipc                  (TARGET_NR_Linux + 117)
> -#define TARGET_NR_fsync                        (TARGET_NR_Linux + 118)
> -#define TARGET_NR_sigreturn            (TARGET_NR_Linux + 119)
> -#define TARGET_NR_clone                        (TARGET_NR_Linux + 120)
> -#define TARGET_NR_setdomainname                (TARGET_NR_Linux + 121)
> -#define TARGET_NR_uname                        (TARGET_NR_Linux + 122)
> -#define TARGET_NR_modify_ldt           (TARGET_NR_Linux + 123)
> -#define TARGET_NR_adjtimex             (TARGET_NR_Linux + 124)
> -#define TARGET_NR_mprotect             (TARGET_NR_Linux + 125)
> -#define TARGET_NR_sigprocmask          (TARGET_NR_Linux + 126)
> -#define TARGET_NR_create_module                (TARGET_NR_Linux + 127)
> -#define TARGET_NR_init_module          (TARGET_NR_Linux + 128)
> -#define TARGET_NR_delete_module                (TARGET_NR_Linux + 129)
> -#define TARGET_NR_get_kernel_syms      (TARGET_NR_Linux + 130)
> -#define TARGET_NR_quotactl             (TARGET_NR_Linux + 131)
> -#define TARGET_NR_getpgid              (TARGET_NR_Linux + 132)
> -#define TARGET_NR_fchdir               (TARGET_NR_Linux + 133)
> -#define TARGET_NR_bdflush              (TARGET_NR_Linux + 134)
> -#define TARGET_NR_sysfs                        (TARGET_NR_Linux + 135)
> -#define TARGET_NR_personality          (TARGET_NR_Linux + 136)
> -#define TARGET_NR_afs_syscall          (TARGET_NR_Linux + 137) /* Syscall
> for Andrew File System */
> -#define TARGET_NR_setfsuid             (TARGET_NR_Linux + 138)
> -#define TARGET_NR_setfsgid             (TARGET_NR_Linux + 139)
> -#define TARGET_NR__llseek              (TARGET_NR_Linux + 140)
> -#define TARGET_NR_getdents             (TARGET_NR_Linux + 141)
> -#define TARGET_NR__newselect           (TARGET_NR_Linux + 142)
> -#define TARGET_NR_flock                        (TARGET_NR_Linux + 143)
> -#define TARGET_NR_msync                        (TARGET_NR_Linux + 144)
> -#define TARGET_NR_readv                        (TARGET_NR_Linux + 145)
> -#define TARGET_NR_writev               (TARGET_NR_Linux + 146)
> -#define TARGET_NR_cacheflush           (TARGET_NR_Linux + 147)
> -#define TARGET_NR_cachectl             (TARGET_NR_Linux + 148)
> -#define TARGET_NR_sysmips              (TARGET_NR_Linux + 149)
> -#define TARGET_NR_unused150            (TARGET_NR_Linux + 150)
> -#define TARGET_NR_getsid               (TARGET_NR_Linux + 151)
> -#define TARGET_NR_fdatasync            (TARGET_NR_Linux + 152)
> -#define TARGET_NR__sysctl              (TARGET_NR_Linux + 153)
> -#define TARGET_NR_mlock                        (TARGET_NR_Linux + 154)
> -#define TARGET_NR_munlock              (TARGET_NR_Linux + 155)
> -#define TARGET_NR_mlockall             (TARGET_NR_Linux + 156)
> -#define TARGET_NR_munlockall           (TARGET_NR_Linux + 157)
> -#define TARGET_NR_sched_setparam       (TARGET_NR_Linux + 158)
> -#define TARGET_NR_sched_getparam       (TARGET_NR_Linux + 159)
> -#define TARGET_NR_sched_setscheduler   (TARGET_NR_Linux + 160)
> -#define TARGET_NR_sched_getscheduler   (TARGET_NR_Linux + 161)
> -#define TARGET_NR_sched_yield          (TARGET_NR_Linux + 162)
> -#define TARGET_NR_sched_get_priority_max       (TARGET_NR_Linux + 163)
> -#define TARGET_NR_sched_get_priority_min       (TARGET_NR_Linux + 164)
> -#define TARGET_NR_sched_rr_get_interval        (TARGET_NR_Linux + 165)
> -#define TARGET_NR_nanosleep            (TARGET_NR_Linux + 166)
> -#define TARGET_NR_mremap               (TARGET_NR_Linux + 167)
> -#define TARGET_NR_accept               (TARGET_NR_Linux + 168)
> -#define TARGET_NR_bind                 (TARGET_NR_Linux + 169)
> -#define TARGET_NR_connect              (TARGET_NR_Linux + 170)
> -#define TARGET_NR_getpeername          (TARGET_NR_Linux + 171)
> -#define TARGET_NR_getsockname          (TARGET_NR_Linux + 172)
> -#define TARGET_NR_getsockopt           (TARGET_NR_Linux + 173)
> -#define TARGET_NR_listen               (TARGET_NR_Linux + 174)
> -#define TARGET_NR_recv                 (TARGET_NR_Linux + 175)
> -#define TARGET_NR_recvfrom             (TARGET_NR_Linux + 176)
> -#define TARGET_NR_recvmsg              (TARGET_NR_Linux + 177)
> -#define TARGET_NR_send                 (TARGET_NR_Linux + 178)
> -#define TARGET_NR_sendmsg              (TARGET_NR_Linux + 179)
> -#define TARGET_NR_sendto               (TARGET_NR_Linux + 180)
> -#define TARGET_NR_setsockopt           (TARGET_NR_Linux + 181)
> -#define TARGET_NR_shutdown             (TARGET_NR_Linux + 182)
> -#define TARGET_NR_socket               (TARGET_NR_Linux + 183)
> -#define TARGET_NR_socketpair           (TARGET_NR_Linux + 184)
> -#define TARGET_NR_setresuid            (TARGET_NR_Linux + 185)
> -#define TARGET_NR_getresuid            (TARGET_NR_Linux + 186)
> -#define TARGET_NR_query_module         (TARGET_NR_Linux + 187)
> -#define TARGET_NR_poll                 (TARGET_NR_Linux + 188)
> -#define TARGET_NR_nfsservctl           (TARGET_NR_Linux + 189)
> -#define TARGET_NR_setresgid            (TARGET_NR_Linux + 190)
> -#define TARGET_NR_getresgid            (TARGET_NR_Linux + 191)
> -#define TARGET_NR_prctl                        (TARGET_NR_Linux + 192)
> -#define TARGET_NR_rt_sigreturn         (TARGET_NR_Linux + 193)
> -#define TARGET_NR_rt_sigaction         (TARGET_NR_Linux + 194)
> -#define TARGET_NR_rt_sigprocmask       (TARGET_NR_Linux + 195)
> -#define TARGET_NR_rt_sigpending                (TARGET_NR_Linux + 196)
> -#define TARGET_NR_rt_sigtimedwait      (TARGET_NR_Linux + 197)
> -#define TARGET_NR_rt_sigqueueinfo      (TARGET_NR_Linux + 198)
> -#define TARGET_NR_rt_sigsuspend                (TARGET_NR_Linux + 199)
> -#define TARGET_NR_pread64              (TARGET_NR_Linux + 200)
> -#define TARGET_NR_pwrite64             (TARGET_NR_Linux + 201)
> -#define TARGET_NR_chown                (TARGET_NR_Linux + 202)
> -#define TARGET_NR_getcwd               (TARGET_NR_Linux + 203)
> -#define TARGET_NR_capget               (TARGET_NR_Linux + 204)
> -#define TARGET_NR_capset               (TARGET_NR_Linux + 205)
> -#define TARGET_NR_sigaltstack          (TARGET_NR_Linux + 206)
> -#define TARGET_NR_sendfile             (TARGET_NR_Linux + 207)
> -#define TARGET_NR_getpmsg              (TARGET_NR_Linux + 208)
> -#define TARGET_NR_putpmsg              (TARGET_NR_Linux + 209)
> -#define TARGET_NR_mmap2                        (TARGET_NR_Linux + 210)
> -#define TARGET_NR_truncate64           (TARGET_NR_Linux + 211)
> -#define TARGET_NR_ftruncate64          (TARGET_NR_Linux + 212)
> -#define TARGET_NR_stat64               (TARGET_NR_Linux + 213)
> -#define TARGET_NR_lstat64              (TARGET_NR_Linux + 214)
> -#define TARGET_NR_fstat64              (TARGET_NR_Linux + 215)
> -#define TARGET_NR_pivot_root           (TARGET_NR_Linux + 216)
> -#define TARGET_NR_mincore              (TARGET_NR_Linux + 217)
> -#define TARGET_NR_madvise              (TARGET_NR_Linux + 218)
> -#define TARGET_NR_getdents64           (TARGET_NR_Linux + 219)
> -#define TARGET_NR_fcntl64              (TARGET_NR_Linux + 220)
> -#define TARGET_NR_reserved221          (TARGET_NR_Linux + 221)
> -#define TARGET_NR_gettid               (TARGET_NR_Linux + 222)
> -#define TARGET_NR_readahead            (TARGET_NR_Linux + 223)
> -#define TARGET_NR_setxattr             (TARGET_NR_Linux + 224)
> -#define TARGET_NR_lsetxattr            (TARGET_NR_Linux + 225)
> -#define TARGET_NR_fsetxattr            (TARGET_NR_Linux + 226)
> -#define TARGET_NR_getxattr             (TARGET_NR_Linux + 227)
> -#define TARGET_NR_lgetxattr            (TARGET_NR_Linux + 228)
> -#define TARGET_NR_fgetxattr            (TARGET_NR_Linux + 229)
> -#define TARGET_NR_listxattr            (TARGET_NR_Linux + 230)
> -#define TARGET_NR_llistxattr           (TARGET_NR_Linux + 231)
> -#define TARGET_NR_flistxattr           (TARGET_NR_Linux + 232)
> -#define TARGET_NR_removexattr          (TARGET_NR_Linux + 233)
> -#define TARGET_NR_lremovexattr         (TARGET_NR_Linux + 234)
> -#define TARGET_NR_fremovexattr         (TARGET_NR_Linux + 235)
> -#define TARGET_NR_tkill                        (TARGET_NR_Linux + 236)
> -#define TARGET_NR_sendfile64           (TARGET_NR_Linux + 237)
> -#define TARGET_NR_futex                        (TARGET_NR_Linux + 238)
> -#define TARGET_NR_sched_setaffinity    (TARGET_NR_Linux + 239)
> -#define TARGET_NR_sched_getaffinity    (TARGET_NR_Linux + 240)
> -#define TARGET_NR_io_setup             (TARGET_NR_Linux + 241)
> -#define TARGET_NR_io_destroy           (TARGET_NR_Linux + 242)
> -#define TARGET_NR_io_getevents         (TARGET_NR_Linux + 243)
> -#define TARGET_NR_io_submit            (TARGET_NR_Linux + 244)
> -#define TARGET_NR_io_cancel            (TARGET_NR_Linux + 245)
> -#define TARGET_NR_exit_group           (TARGET_NR_Linux + 246)
> -#define TARGET_NR_lookup_dcookie       (TARGET_NR_Linux + 247)
> -#define TARGET_NR_epoll_create         (TARGET_NR_Linux + 248)
> -#define TARGET_NR_epoll_ctl            (TARGET_NR_Linux + 249)
> -#define TARGET_NR_epoll_wait           (TARGET_NR_Linux + 250)
> -#define TARGET_NR_remap_file_pages     (TARGET_NR_Linux + 251)
> -#define TARGET_NR_set_tid_address      (TARGET_NR_Linux + 252)
> -#define TARGET_NR_restart_syscall      (TARGET_NR_Linux + 253)
> -#define TARGET_NR_fadvise64_64          (TARGET_NR_Linux + 254)
> -#define TARGET_NR_statfs64             (TARGET_NR_Linux + 255)
> -#define TARGET_NR_fstatfs64            (TARGET_NR_Linux + 256)
> -#define TARGET_NR_timer_create         (TARGET_NR_Linux + 257)
> -#define TARGET_NR_timer_settime                (TARGET_NR_Linux + 258)
> -#define TARGET_NR_timer_gettime                (TARGET_NR_Linux + 259)
> -#define TARGET_NR_timer_getoverrun     (TARGET_NR_Linux + 260)
> -#define TARGET_NR_timer_delete         (TARGET_NR_Linux + 261)
> -#define TARGET_NR_clock_settime                (TARGET_NR_Linux + 262)
> -#define TARGET_NR_clock_gettime                (TARGET_NR_Linux + 263)
> -#define TARGET_NR_clock_getres         (TARGET_NR_Linux + 264)
> -#define TARGET_NR_clock_nanosleep      (TARGET_NR_Linux + 265)
> -#define TARGET_NR_tgkill               (TARGET_NR_Linux + 266)
> -#define TARGET_NR_utimes               (TARGET_NR_Linux + 267)
> -#define TARGET_NR_mbind                        (TARGET_NR_Linux + 268)
> -#define TARGET_NR_get_mempolicy                (TARGET_NR_Linux + 269)
> -#define TARGET_NR_set_mempolicy                (TARGET_NR_Linux + 270)
> -#define TARGET_NR_mq_open              (TARGET_NR_Linux + 271)
> -#define TARGET_NR_mq_unlink            (TARGET_NR_Linux + 272)
> -#define TARGET_NR_mq_timedsend         (TARGET_NR_Linux + 273)
> -#define TARGET_NR_mq_timedreceive      (TARGET_NR_Linux + 274)
> -#define TARGET_NR_mq_notify            (TARGET_NR_Linux + 275)
> -#define TARGET_NR_mq_getsetattr                (TARGET_NR_Linux + 276)
> -#define TARGET_NR_vserver              (TARGET_NR_Linux + 277)
> -#define TARGET_NR_waitid               (TARGET_NR_Linux + 278)
> -/* #define TARGET_NR_sys_setaltroot    (TARGET_NR_Linux + 279) */
> -#define TARGET_NR_add_key              (TARGET_NR_Linux + 280)
> -#define TARGET_NR_request_key          (TARGET_NR_Linux + 281)
> -#define TARGET_NR_keyctl               (TARGET_NR_Linux + 282)
> -#define TARGET_NR_set_thread_area      (TARGET_NR_Linux + 283)
> -#define TARGET_NR_inotify_init         (TARGET_NR_Linux + 284)
> -#define TARGET_NR_inotify_add_watch    (TARGET_NR_Linux + 285)
> -#define TARGET_NR_inotify_rm_watch     (TARGET_NR_Linux + 286)
> -#define TARGET_NR_migrate_pages                (TARGET_NR_Linux + 287)
> -#define TARGET_NR_openat               (TARGET_NR_Linux + 288)
> -#define TARGET_NR_mkdirat              (TARGET_NR_Linux + 289)
> -#define TARGET_NR_mknodat              (TARGET_NR_Linux + 290)
> -#define TARGET_NR_fchownat             (TARGET_NR_Linux + 291)
> -#define TARGET_NR_futimesat            (TARGET_NR_Linux + 292)
> -#define TARGET_NR_fstatat64            (TARGET_NR_Linux + 293)
> -#define TARGET_NR_unlinkat             (TARGET_NR_Linux + 294)
> -#define TARGET_NR_renameat             (TARGET_NR_Linux + 295)
> -#define TARGET_NR_linkat               (TARGET_NR_Linux + 296)
> -#define TARGET_NR_symlinkat            (TARGET_NR_Linux + 297)
> -#define TARGET_NR_readlinkat           (TARGET_NR_Linux + 298)
> -#define TARGET_NR_fchmodat             (TARGET_NR_Linux + 299)
> -#define TARGET_NR_faccessat            (TARGET_NR_Linux + 300)
> -#define TARGET_NR_pselect6             (TARGET_NR_Linux + 301)
> -#define TARGET_NR_ppoll                        (TARGET_NR_Linux + 302)
> -#define TARGET_NR_unshare              (TARGET_NR_Linux + 303)
> -#define TARGET_NR_splice               (TARGET_NR_Linux + 304)
> -#define TARGET_NR_sync_file_range      (TARGET_NR_Linux + 305)
> -#define TARGET_NR_tee                  (TARGET_NR_Linux + 306)
> -#define TARGET_NR_vmsplice             (TARGET_NR_Linux + 307)
> -#define TARGET_NR_move_pages           (TARGET_NR_Linux + 308)
> -#define TARGET_NR_set_robust_list      (TARGET_NR_Linux + 309)
> -#define TARGET_NR_get_robust_list      (TARGET_NR_Linux + 310)
> -#define TARGET_NR_kexec_load           (TARGET_NR_Linux + 311)
> -#define TARGET_NR_getcpu               (TARGET_NR_Linux + 312)
> -#define TARGET_NR_epoll_pwait          (TARGET_NR_Linux + 313)
> -#define TARGET_NR_ioprio_set           (TARGET_NR_Linux + 314)
> -#define TARGET_NR_ioprio_get           (TARGET_NR_Linux + 315)
> -#define TARGET_NR_utimensat            (TARGET_NR_Linux + 316)
> -#define TARGET_NR_signalfd             (TARGET_NR_Linux + 317)
> -#define TARGET_NR_timerfd              (TARGET_NR_Linux + 318)
> -#define TARGET_NR_eventfd              (TARGET_NR_Linux + 319)
> -#define TARGET_NR_fallocate            (TARGET_NR_Linux + 320)
> -#define TARGET_NR_timerfd_create       (TARGET_NR_Linux + 321)
> -#define TARGET_NR_timerfd_gettime      (TARGET_NR_Linux + 322)
> -#define TARGET_NR_timerfd_settime      (TARGET_NR_Linux + 323)
> -#define TARGET_NR_signalfd4            (TARGET_NR_Linux + 324)
> -#define TARGET_NR_eventfd2             (TARGET_NR_Linux + 325)
> -#define TARGET_NR_epoll_create1        (TARGET_NR_Linux + 326)
> -#define TARGET_NR_dup3                 (TARGET_NR_Linux + 327)
> -#define TARGET_NR_pipe2                (TARGET_NR_Linux + 328)
> -#define TARGET_NR_inotify_init1        (TARGET_NR_Linux + 329)
> -#define TARGET_NR_preadv                (TARGET_NR_Linux + 330)
> -#define TARGET_NR_pwritev               (TARGET_NR_Linux + 331)
> -#define TARGET_NR_rt_tgsigqueueinfo     (TARGET_NR_Linux + 332)
> -#define TARGET_NR_perf_event_open       (TARGET_NR_Linux + 333)
> -#define TARGET_NR_accept4               (TARGET_NR_Linux + 334)
> -#define TARGET_NR_recvmmsg              (TARGET_NR_Linux + 335)
> -#define TARGET_NR_fanotify_init         (TARGET_NR_Linux + 336)
> -#define TARGET_NR_fanotify_mark         (TARGET_NR_Linux + 337)
> -#define TARGET_NR_prlimit64             (TARGET_NR_Linux + 338)
> -#define TARGET_NR_name_to_handle_at     (TARGET_NR_Linux + 339)
> -#define TARGET_NR_open_by_handle_at     (TARGET_NR_Linux + 340)
> -#define TARGET_NR_clock_adjtime         (TARGET_NR_Linux + 341)
> -#define TARGET_NR_syncfs                (TARGET_NR_Linux + 342)
> -#define TARGET_NR_sendmmsg              (TARGET_NR_Linux + 343)
> -#define TARGET_NR_setns                 (TARGET_NR_Linux + 344)
> -#define TARGET_NR_process_vm_readv      (TARGET_NR_Linux + 345)
> -#define TARGET_NR_process_vm_writev     (TARGET_NR_Linux + 346)
> -#define TARGET_NR_kcmp                  (TARGET_NR_Linux + 347)
> -#define TARGET_NR_finit_module          (TARGET_NR_Linux + 348)
> -
> -#define TARGET_NR_sched_setattr         (TARGET_NR_Linux + 349)
> -#define TARGET_NR_sched_getattr         (TARGET_NR_Linux + 350)
> -#define TARGET_NR_renameat2             (TARGET_NR_Linux + 351)
> -#define TARGET_NR_seccomp               (TARGET_NR_Linux + 352)
> -#define TARGET_NR_getrandom             (TARGET_NR_Linux + 353)
> -#define TARGET_NR_memfd_create          (TARGET_NR_Linux + 354)
> -#define TARGET_NR_bpf                   (TARGET_NR_Linux + 355)
> -#define TARGET_NR_execveat              (TARGET_NR_Linux + 356)
> -#define TARGET_NR_userfaultfd           (TARGET_NR_Linux + 357)
> -#define TARGET_NR_membarrier            (TARGET_NR_Linux + 358)
> -#define TARGET_NR_mlock2                (TARGET_NR_Linux + 359)
> -#define TARGET_NR_copy_file_range       (TARGET_NR_Linux + 360)
> -#define TARGET_NR_preadv2               (TARGET_NR_Linux + 361)
> -#define TARGET_NR_pwritev2              (TARGET_NR_Linux + 362)
> -#define TARGET_NR_pkey_mprotect         (TARGET_NR_Linux + 363)
> -#define TARGET_NR_pkey_alloc            (TARGET_NR_Linux + 364)
> -#define TARGET_NR_pkey_free             (TARGET_NR_Linux + 365)
> -#define TARGET_NR_statx                 (TARGET_NR_Linux + 366)
> -#define TARGET_NR_rseq                  (TARGET_NR_Linux + 367)
> -#define TARGET_NR_io_pgetevents         (TARGET_NR_Linux + 368)
> -/* room for arch specific calls */
> -#define TARGET_NR_semget                (TARGET_NR_Linux + 393)
> -#define TARGET_NR_semctl                (TARGET_NR_Linux + 394)
> -#define TARGET_NR_shmget                (TARGET_NR_Linux + 395)
> -#define TARGET_NR_shmctl                (TARGET_NR_Linux + 396)
> -#define TARGET_NR_shmat                 (TARGET_NR_Linux + 397)
> -#define TARGET_NR_shmdt                 (TARGET_NR_Linux + 398)
> -#define TARGET_NR_msgget                (TARGET_NR_Linux + 399)
> -#define TARGET_NR_msgsnd                (TARGET_NR_Linux + 400)
> -#define TARGET_NR_msgrcv                (TARGET_NR_Linux + 401)
> -#define TARGET_NR_msgctl                (TARGET_NR_Linux + 402)
> -/* 403-423 common for 32-bit archs */
> -#define TARGET_NR_clock_gettime64              (TARGET_NR_Linux + 403)
> -#define TARGET_NR_clock_settime64              (TARGET_NR_Linux + 404)
> -#define TARGET_NR_clock_adjtime64              (TARGET_NR_Linux + 405)
> -#define TARGET_NR_clock_getres_time64          (TARGET_NR_Linux + 406)
> -#define TARGET_NR_clock_nanosleep_time64       (TARGET_NR_Linux + 407)
> -#define TARGET_NR_timer_gettime64              (TARGET_NR_Linux + 408)
> -#define TARGET_NR_timer_settime64              (TARGET_NR_Linux + 409)
> -#define TARGET_NR_timerfd_gettime64            (TARGET_NR_Linux + 410)
> -#define TARGET_NR_timerfd_settime64            (TARGET_NR_Linux + 411)
> -#define TARGET_NR_utimensat_time64             (TARGET_NR_Linux + 412)
> -#define TARGET_NR_pselect6_time64              (TARGET_NR_Linux + 413)
> -#define TARGET_NR_ppoll_time64                 (TARGET_NR_Linux + 414)
> -#define TARGET_NR_io_pgetevents_time64         (TARGET_NR_Linux + 416)
> -#define TARGET_NR_recvmmsg_time64              (TARGET_NR_Linux + 417)
> -#define TARGET_NR_mq_timedsend_time64          (TARGET_NR_Linux + 418)
> -#define TARGET_NR_mq_timedreceive_time64       (TARGET_NR_Linux + 419)
> -#define TARGET_NR_semtimedop_time64            (TARGET_NR_Linux + 420)
> -#define TARGET_NR_rt_sigtimedwait_time64       (TARGET_NR_Linux + 421)
> -#define TARGET_NR_futex_time64                 (TARGET_NR_Linux + 422)
> -#define TARGET_NR_sched_rr_get_interval_time64 (TARGET_NR_Linux + 423)
> -/* 424 onwards common for all archs */
> -#define TARGET_NR_pidfd_send_signal            (TARGET_NR_Linux + 424)
> -#define TARGET_NR_io_uring_setup               (TARGET_NR_Linux + 425)
> -#define TARGET_NR_io_uring_enter               (TARGET_NR_Linux + 426)
> -#define TARGET_NR_io_uring_register            (TARGET_NR_Linux + 427)
> -#define TARGET_NR_open_tree                    (TARGET_NR_Linux + 428)
> -#define TARGET_NR_move_mount                   (TARGET_NR_Linux + 429)
> -#define TARGET_NR_fsopen                       (TARGET_NR_Linux + 430)
> -#define TARGET_NR_fsconfig                     (TARGET_NR_Linux + 431)
> -#define TARGET_NR_fsmount                      (TARGET_NR_Linux + 432)
> -#define TARGET_NR_fspick                       (TARGET_NR_Linux + 433)
> -#define TARGET_NR_pidfd_open                   (TARGET_NR_Linux + 434)
> -#define TARGET_NR_clone3                       (TARGET_NR_Linux + 435)
> -
> -#endif
> diff --git a/linux-user/mips/syscall_o32.tbl
> b/linux-user/mips/syscall_o32.tbl
> new file mode 100644
> index 000000000000..353539ea4140
> --- /dev/null
> +++ b/linux-user/mips/syscall_o32.tbl
> @@ -0,0 +1,425 @@
> +# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
> +#
> +# system call numbers and entry vectors for mips
> +#
> +# The format is:
> +# <number> <abi> <name> <entry point> <compat entry point>
> +#
> +# The <abi> is always "o32" for this file.
> +#
> +0      o32     syscall                         sys_syscall
>      sys32_syscall
> +1      o32     exit                            sys_exit
> +2      o32     fork                            __sys_fork
> +3      o32     read                            sys_read
> +4      o32     write                           sys_write
> +5      o32     open                            sys_open
>       compat_sys_open
> +6      o32     close                           sys_close
> +7      o32     waitpid                         sys_waitpid
> +8      o32     creat                           sys_creat
> +9      o32     link                            sys_link
> +10     o32     unlink                          sys_unlink
> +11     o32     execve                          sys_execve
>       compat_sys_execve
> +12     o32     chdir                           sys_chdir
> +13     o32     time                            sys_time32
> +14     o32     mknod                           sys_mknod
> +15     o32     chmod                           sys_chmod
> +16     o32     lchown                          sys_lchown
> +17     o32     break                           sys_ni_syscall
> +# 18 was sys_stat
> +18     o32     unused18                        sys_ni_syscall
> +19     o32     lseek                           sys_lseek
> +20     o32     getpid                          sys_getpid
> +21     o32     mount                           sys_mount
>      compat_sys_mount
> +22     o32     umount                          sys_oldumount
> +23     o32     setuid                          sys_setuid
> +24     o32     getuid                          sys_getuid
> +25     o32     stime                           sys_stime32
> +26     o32     ptrace                          sys_ptrace
>       compat_sys_ptrace
> +27     o32     alarm                           sys_alarm
> +# 28 was sys_fstat
> +28     o32     unused28                        sys_ni_syscall
> +29     o32     pause                           sys_pause
> +30     o32     utime                           sys_utime32
> +31     o32     stty                            sys_ni_syscall
> +32     o32     gtty                            sys_ni_syscall
> +33     o32     access                          sys_access
> +34     o32     nice                            sys_nice
> +35     o32     ftime                           sys_ni_syscall
> +36     o32     sync                            sys_sync
> +37     o32     kill                            sys_kill
> +38     o32     rename                          sys_rename
> +39     o32     mkdir                           sys_mkdir
> +40     o32     rmdir                           sys_rmdir
> +41     o32     dup                             sys_dup
> +42     o32     pipe                            sysm_pipe
> +43     o32     times                           sys_times
>      compat_sys_times
> +44     o32     prof                            sys_ni_syscall
> +45     o32     brk                             sys_brk
> +46     o32     setgid                          sys_setgid
> +47     o32     getgid                          sys_getgid
> +48     o32     signal                          sys_ni_syscall
> +49     o32     geteuid                         sys_geteuid
> +50     o32     getegid                         sys_getegid
> +51     o32     acct                            sys_acct
> +52     o32     umount2                         sys_umount
> +53     o32     lock                            sys_ni_syscall
> +54     o32     ioctl                           sys_ioctl
>      compat_sys_ioctl
> +55     o32     fcntl                           sys_fcntl
>      compat_sys_fcntl
> +56     o32     mpx                             sys_ni_syscall
> +57     o32     setpgid                         sys_setpgid
> +58     o32     ulimit                          sys_ni_syscall
> +59     o32     unused59                        sys_olduname
> +60     o32     umask                           sys_umask
> +61     o32     chroot                          sys_chroot
> +62     o32     ustat                           sys_ustat
>      compat_sys_ustat
> +63     o32     dup2                            sys_dup2
> +64     o32     getppid                         sys_getppid
> +65     o32     getpgrp                         sys_getpgrp
> +66     o32     setsid                          sys_setsid
> +67     o32     sigaction                       sys_sigaction
>      sys_32_sigaction
> +68     o32     sgetmask                        sys_sgetmask
> +69     o32     ssetmask                        sys_ssetmask
> +70     o32     setreuid                        sys_setreuid
> +71     o32     setregid                        sys_setregid
> +72     o32     sigsuspend                      sys_sigsuspend
>       sys32_sigsuspend
> +73     o32     sigpending                      sys_sigpending
>       compat_sys_sigpending
> +74     o32     sethostname                     sys_sethostname
> +75     o32     setrlimit                       sys_setrlimit
>      compat_sys_setrlimit
> +76     o32     getrlimit                       sys_getrlimit
>      compat_sys_getrlimit
> +77     o32     getrusage                       sys_getrusage
>      compat_sys_getrusage
> +78     o32     gettimeofday                    sys_gettimeofday
>       compat_sys_gettimeofday
> +79     o32     settimeofday                    sys_settimeofday
>       compat_sys_settimeofday
> +80     o32     getgroups                       sys_getgroups
> +81     o32     setgroups                       sys_setgroups
> +# 82 was old_select
> +82     o32     reserved82                      sys_ni_syscall
> +83     o32     symlink                         sys_symlink
> +# 84 was sys_lstat
> +84     o32     unused84                        sys_ni_syscall
> +85     o32     readlink                        sys_readlink
> +86     o32     uselib                          sys_uselib
> +87     o32     swapon                          sys_swapon
> +88     o32     reboot                          sys_reboot
> +89     o32     readdir                         sys_old_readdir
>      compat_sys_old_readdir
> +90     o32     mmap                            sys_mips_mmap
> +91     o32     munmap                          sys_munmap
> +92     o32     truncate                        sys_truncate
>       compat_sys_truncate
> +93     o32     ftruncate                       sys_ftruncate
>      compat_sys_ftruncate
> +94     o32     fchmod                          sys_fchmod
> +95     o32     fchown                          sys_fchown
> +96     o32     getpriority                     sys_getpriority
> +97     o32     setpriority                     sys_setpriority
> +98     o32     profil                          sys_ni_syscall
> +99     o32     statfs                          sys_statfs
>       compat_sys_statfs
> +100    o32     fstatfs                         sys_fstatfs
>      compat_sys_fstatfs
> +101    o32     ioperm                          sys_ni_syscall
> +102    o32     socketcall                      sys_socketcall
>       compat_sys_socketcall
> +103    o32     syslog                          sys_syslog
> +104    o32     setitimer                       sys_setitimer
>      compat_sys_setitimer
> +105    o32     getitimer                       sys_getitimer
>      compat_sys_getitimer
> +106    o32     stat                            sys_newstat
>      compat_sys_newstat
> +107    o32     lstat                           sys_newlstat
>       compat_sys_newlstat
> +108    o32     fstat                           sys_newfstat
>       compat_sys_newfstat
> +109    o32     unused109                       sys_uname
> +110    o32     iopl                            sys_ni_syscall
> +111    o32     vhangup                         sys_vhangup
> +112    o32     idle                            sys_ni_syscall
> +113    o32     vm86                            sys_ni_syscall
> +114    o32     wait4                           sys_wait4
>      compat_sys_wait4
> +115    o32     swapoff                         sys_swapoff
> +116    o32     sysinfo                         sys_sysinfo
>      compat_sys_sysinfo
> +117    o32     ipc                             sys_ipc
>      compat_sys_ipc
> +118    o32     fsync                           sys_fsync
> +119    o32     sigreturn                       sys_sigreturn
>      sys32_sigreturn
> +120    o32     clone                           __sys_clone
> +121    o32     setdomainname                   sys_setdomainname
> +122    o32     uname                           sys_newuname
> +123    o32     modify_ldt                      sys_ni_syscall
> +124    o32     adjtimex                        sys_adjtimex_time32
> +125    o32     mprotect                        sys_mprotect
> +126    o32     sigprocmask                     sys_sigprocmask
>      compat_sys_sigprocmask
> +127    o32     create_module                   sys_ni_syscall
> +128    o32     init_module                     sys_init_module
> +129    o32     delete_module                   sys_delete_module
> +130    o32     get_kernel_syms                 sys_ni_syscall
> +131    o32     quotactl                        sys_quotactl
> +132    o32     getpgid                         sys_getpgid
> +133    o32     fchdir                          sys_fchdir
> +134    o32     bdflush                         sys_bdflush
> +135    o32     sysfs                           sys_sysfs
> +136    o32     personality                     sys_personality
>      sys_32_personality
> +137    o32     afs_syscall                     sys_ni_syscall
> +138    o32     setfsuid                        sys_setfsuid
> +139    o32     setfsgid                        sys_setfsgid
> +140    o32     _llseek                         sys_llseek
>       sys_32_llseek
> +141    o32     getdents                        sys_getdents
>       compat_sys_getdents
> +142    o32     _newselect                      sys_select
>       compat_sys_select
> +143    o32     flock                           sys_flock
> +144    o32     msync                           sys_msync
> +145    o32     readv                           sys_readv
>      compat_sys_readv
> +146    o32     writev                          sys_writev
>       compat_sys_writev
> +147    o32     cacheflush                      sys_cacheflush
> +148    o32     cachectl                        sys_cachectl
> +149    o32     sysmips                         __sys_sysmips
> +150    o32     unused150                       sys_ni_syscall
> +151    o32     getsid                          sys_getsid
> +152    o32     fdatasync                       sys_fdatasync
> +153    o32     _sysctl                         sys_sysctl
>       compat_sys_sysctl
> +154    o32     mlock                           sys_mlock
> +155    o32     munlock                         sys_munlock
> +156    o32     mlockall                        sys_mlockall
> +157    o32     munlockall                      sys_munlockall
> +158    o32     sched_setparam                  sys_sched_setparam
> +159    o32     sched_getparam                  sys_sched_getparam
> +160    o32     sched_setscheduler              sys_sched_setscheduler
> +161    o32     sched_getscheduler              sys_sched_getscheduler
> +162    o32     sched_yield                     sys_sched_yield
> +163    o32     sched_get_priority_max          sys_sched_get_priority_max
> +164    o32     sched_get_priority_min          sys_sched_get_priority_min
> +165    o32     sched_rr_get_interval           sys_sched_rr_get_interval_
> time32
> +166    o32     nanosleep                       sys_nanosleep_time32
> +167    o32     mremap                          sys_mremap
> +168    o32     accept                          sys_accept
> +169    o32     bind                            sys_bind
> +170    o32     connect                         sys_connect
> +171    o32     getpeername                     sys_getpeername
> +172    o32     getsockname                     sys_getsockname
> +173    o32     getsockopt                      sys_getsockopt
>       compat_sys_getsockopt
> +174    o32     listen                          sys_listen
> +175    o32     recv                            sys_recv
>       compat_sys_recv
> +176    o32     recvfrom                        sys_recvfrom
>       compat_sys_recvfrom
> +177    o32     recvmsg                         sys_recvmsg
>      compat_sys_recvmsg
> +178    o32     send                            sys_send
> +179    o32     sendmsg                         sys_sendmsg
>      compat_sys_sendmsg
> +180    o32     sendto                          sys_sendto
> +181    o32     setso--
> 2.24.1
>
>
>

Reply via email to