Linux-user pull request 20210713

Update headers to linux v5.13
 cleanup errno target headers
 Fix race condition on fd translation table
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmDtmAUSHGxhdXJlbnRA
 dml2aWVyLmV1AAoJEPMMOL0/L748BFEP/jl0taLq3vqwUuAmsirJadf4K5+4iFiO
 /FhhAw5kzNasrlO2WrvTazDpJsAotuPeI2kQpnuEruDPOJulf21SUWRVeOUmzYBQ
 V/mKKkazY7FnmI8jhO8FhFrNGrOQWEGtU5adNX0bJwArbhfSWMfBTCfaoWePUmVO
 26X2gNchHwvymoLyqKG7fA1AahSQEqgE6wG9L3n6eXxPy8xBEj0WDQoISakTKJJ4
 J7Z2QchsYC51A2kpkA77TF+W2yLRrOwO8XNLQNOjSuPyvi6v0nsbe6mTSxVOmEcN
 3PYezsAWHg0rptIWuGwnVN2+juQt2pp8T3sADRWAMrgnkCrBkiwgWmBNzWuPXLX6
 xoXd1//lZcmGRwmJzvvWs1+1IZsVcRyWq9nAg/+CTbrTe+TC2q5a90jkEPup9bkx
 up/xKJJwFyl4j/eeUfmWBruAjX0PCCtgpcVTMafWSTD9maooHVTOJmy6ZETgCCXC
 KvRoWNK1Cx94KblHrGU/mWxBT9OhqPJxlvPswKDYidS0bMOoVt8eqFI7GRKxX7qK
 wldbNiqLBB0ZxHLZPP3TgE96qVr+PSP9UfShWC+X5Cl5o4/m0tvq+V0dq3PBsz4O
 Zq7NQ1cU7z7rBcyqDFiREVzucScCY3rch3E4xGJASulrqm3HFJHJXuaBcFUMJhUt
 61puHc6tOyBp
 =Stii
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-6.1-pull-request' into staging

Linux-user pull request 20210713

Update headers to linux v5.13
cleanup errno target headers
Fix race condition on fd translation table

# gpg: Signature made Tue 13 Jul 2021 14:41:25 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-6.1-pull-request:
  linux-user: update syscall.tbl to Linux v5.13
  linux-user, mips: update syscall-args-o32.c.inc to Linux v5.13
  linux-user: update syscall_nr.h to Linux v5.13
  fd-trans: Fix race condition on reallocation of the translation table.
  linux-user/syscall: Remove ERRNO_TABLE_SIZE check
  linux-user: Simplify host <-> target errno conversion using macros
  linux-user/mips: Move errno definitions to 'target_errno_defs.h'
  linux-user/hppa: Move errno definitions to 'target_errno_defs.h'
  linux-user/alpha: Move errno definitions to 'target_errno_defs.h'
  linux-user: Extract target errno to 'target_errno_defs.h'
  linux-user/sparc: Rename target_errno.h -> target_errno_defs.h
  linux-user/syscall: Fix RF-kill errno (typo in ERFKILL)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2021-07-13 21:58:57 +01:00
commit 2a54fc454c
56 changed files with 1205 additions and 1078 deletions

View File

@ -302,6 +302,12 @@
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_syscalls 440
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_AARCH64_SYSCALL_NR_H */

View File

@ -0,0 +1,7 @@
#ifndef AARCH64_TARGET_ERRNO_DEFS_H
#define AARCH64_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -479,3 +479,10 @@
547 common openat2 sys_openat2
548 common pidfd_getfd sys_pidfd_getfd
549 common faccessat2 sys_faccessat2
550 common process_madvise sys_process_madvise
551 common epoll_pwait2 sys_epoll_pwait2
552 common mount_setattr sys_mount_setattr
# 553 reserved for quotactl_path
554 common landlock_create_ruleset sys_landlock_create_ruleset
555 common landlock_add_rule sys_landlock_add_rule
556 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,204 @@
#ifndef ALPHA_TARGET_ERRNO_DEFS_H
#define ALPHA_TARGET_ERRNO_DEFS_H
#include "../generic/target_errno_defs.h"
/*
* Generic target errno overridden with definitions taken
* from asm-alpha/errno.h
*/
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 11
#undef TARGET_EAGAIN
#define TARGET_EAGAIN 35
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 36
#undef TARGET_EALREADY
#define TARGET_EALREADY 37
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 38
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 39
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 40
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 41
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 42
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 43
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 44
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 45
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 46
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 47
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 48
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 49
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 50
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 51
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 52
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 53
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 54
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 55
#undef TARGET_EISCONN
#define TARGET_EISCONN 56
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 57
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 58
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 59
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 60
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 61
#undef TARGET_ELOOP
#define TARGET_ELOOP 62
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 63
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 64
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 65
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 66
/* Unused 67 */
#undef TARGET_EUSERS
#define TARGET_EUSERS 68
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 69
#undef TARGET_ESTALE
#define TARGET_ESTALE 70
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 71
/* Unused 72-76 */
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 77
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 78
/* Unused 79 */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 80
#undef TARGET_EIDRM
#define TARGET_EIDRM 81
#undef TARGET_ENOSR
#define TARGET_ENOSR 82
#undef TARGET_ETIME
#define TARGET_ETIME 83
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 84
#undef TARGET_EPROTO
#define TARGET_EPROTO 85
#undef TARGET_ENODATA
#define TARGET_ENODATA 86
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 87
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 88
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 89
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 90
#undef TARGET_EL3RST
#define TARGET_EL3RST 91
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 92
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 93
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 94
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 95
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 96
#undef TARGET_EBADE
#define TARGET_EBADE 97
#undef TARGET_EBADR
#define TARGET_EBADR 98
#undef TARGET_EXFULL
#define TARGET_EXFULL 99
#undef TARGET_ENOANO
#define TARGET_ENOANO 100
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 101
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 102
/* Unused 103 */
#undef TARGET_EBFONT
#define TARGET_EBFONT 104
#undef TARGET_ENONET
#define TARGET_ENONET 105
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 106
#undef TARGET_EADV
#define TARGET_EADV 107
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 108
#undef TARGET_ECOMM
#define TARGET_ECOMM 109
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 110
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 111
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 112
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 113
#undef TARGET_EBADFD
#define TARGET_EBADFD 114
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 115
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 116
/* Same as default 117-121 */
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 122
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 123
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 124
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 125
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 126
#undef TARGET_ERESTART
#define TARGET_ERESTART 127
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 128
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 129
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 130
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 131
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 132
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 133
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 134
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 135
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 136
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 137
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 138
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 139
#endif

View File

@ -44,200 +44,6 @@ struct target_pt_regs {
#define UNAME_MACHINE "alpha"
#define UNAME_MINIMUM_RELEASE "2.6.32"
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 11
#undef TARGET_EAGAIN
#define TARGET_EAGAIN 35
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 36
#undef TARGET_EALREADY
#define TARGET_EALREADY 37
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 38
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 39
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 40
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 41
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 42
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 43
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 44
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 45
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 46
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 47
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 48
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 49
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 50
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 51
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 52
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 53
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 54
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 55
#undef TARGET_EISCONN
#define TARGET_EISCONN 56
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 57
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 58
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 59
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 60
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 61
#undef TARGET_ELOOP
#define TARGET_ELOOP 62
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 63
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 64
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 65
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 66
/* Unused 67 */
#undef TARGET_EUSERS
#define TARGET_EUSERS 68
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 69
#undef TARGET_ESTALE
#define TARGET_ESTALE 70
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 71
/* Unused 72-76 */
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 77
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 78
/* Unused 79 */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 80
#undef TARGET_EIDRM
#define TARGET_EIDRM 81
#undef TARGET_ENOSR
#define TARGET_ENOSR 82
#undef TARGET_ETIME
#define TARGET_ETIME 83
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 84
#undef TARGET_EPROTO
#define TARGET_EPROTO 85
#undef TARGET_ENODATA
#define TARGET_ENODATA 86
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 87
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 88
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 89
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 90
#undef TARGET_EL3RST
#define TARGET_EL3RST 91
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 92
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 93
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 94
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 95
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 96
#undef TARGET_EBADE
#define TARGET_EBADE 97
#undef TARGET_EBADR
#define TARGET_EBADR 98
#undef TARGET_EXFULL
#define TARGET_EXFULL 99
#undef TARGET_ENOANO
#define TARGET_ENOANO 100
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 101
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 102
/* Unused 103 */
#undef TARGET_EBFONT
#define TARGET_EBFONT 104
#undef TARGET_ENONET
#define TARGET_ENONET 105
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 106
#undef TARGET_EADV
#define TARGET_EADV 107
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 108
#undef TARGET_ECOMM
#define TARGET_ECOMM 109
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 110
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 111
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 112
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 113
#undef TARGET_EBADFD
#define TARGET_EBADFD 114
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 115
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 116
/* Same as default 117-121 */
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 122
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 123
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 124
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 125
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 126
#undef TARGET_ERESTART
#define TARGET_ERESTART 127
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 128
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 129
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 130
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 131
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 132
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 133
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 134
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 135
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 136
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 137
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 138
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 139
// For sys_osf_getsysinfo
#define TARGET_GSI_UACPROC 8
#define TARGET_GSI_IEEE_FP_CONTROL 45

View File

@ -453,3 +453,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef ARM_TARGET_ERRNO_DEFS_H
#define ARM_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -0,0 +1,7 @@
#ifndef CRIS_TARGET_ERRNO_DEFS_H
#define CRIS_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

140
linux-user/errnos.c.inc Normal file
View File

@ -0,0 +1,140 @@
/*
* This list is the union of errno values overridden in asm-<arch>/errno.h
* minus the errnos that are not actually generic to all archs.
*
* Please keep this list sorted alphabetically.
*
* Copyright (c) 2003 Fabrice Bellard
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
E(EADDRINUSE)
E(EADDRNOTAVAIL)
E(EADV)
E(EAFNOSUPPORT)
E(EAGAIN)
E(EALREADY)
E(EBADE)
E(EBADFD)
E(EBADMSG)
E(EBADR)
E(EBADRQC)
E(EBADSLT)
E(EBFONT)
E(ECANCELED)
E(ECHRNG)
E(ECOMM)
E(ECONNABORTED)
E(ECONNREFUSED)
E(ECONNRESET)
E(EDEADLK)
E(EDESTADDRREQ)
E(EDOTDOT)
E(EDQUOT)
E(EHOSTDOWN)
E(EHOSTUNREACH)
#ifdef EHWPOISON
E(EHWPOISON)
#endif
E(EIDRM)
E(EILSEQ)
E(EINPROGRESS)
E(EISCONN)
E(EISNAM)
#ifdef EKEYEXPIRED
E(EKEYEXPIRED)
#endif
#ifdef EKEYREJECTED
E(EKEYREJECTED)
#endif
#ifdef EKEYREVOKED
E(EKEYREVOKED)
#endif
E(EL2HLT)
E(EL2NSYNC)
E(EL3HLT)
E(EL3RST)
E(ELIBACC)
E(ELIBBAD)
E(ELIBEXEC)
E(ELIBMAX)
E(ELIBSCN)
E(ELNRNG)
E(ELOOP)
E(EMEDIUMTYPE)
E(EMSGSIZE)
E(EMULTIHOP)
E(ENAMETOOLONG)
E(ENAVAIL)
E(ENETDOWN)
E(ENETRESET)
E(ENETUNREACH)
E(ENOANO)
E(ENOBUFS)
E(ENOCSI)
E(ENODATA)
#ifdef ENOKEY
E(ENOKEY)
#endif
E(ENOLCK)
E(ENOLINK)
E(ENOMEDIUM)
#ifdef ENOMSG
E(ENOMSG)
#endif
E(ENONET)
E(ENOPKG)
E(ENOPROTOOPT)
E(ENOSR)
E(ENOSTR)
E(ENOSYS)
E(ENOTCONN)
E(ENOTEMPTY)
E(ENOTNAM)
#ifdef ENOTRECOVERABLE
E(ENOTRECOVERABLE)
#endif
E(ENOTSOCK)
E(ENOTUNIQ)
E(EOPNOTSUPP)
E(EOVERFLOW)
#ifdef EOWNERDEAD
E(EOWNERDEAD)
#endif
E(EPFNOSUPPORT)
E(EPROTO)
E(EPROTONOSUPPORT)
E(EPROTOTYPE)
E(EREMCHG)
E(EREMOTE)
E(EREMOTEIO)
E(ERESTART)
#ifdef ERFKILL
E(ERFKILL)
#endif
E(ESHUTDOWN)
E(ESOCKTNOSUPPORT)
E(ESRMNT)
E(ESTALE)
E(ESTRPIPE)
E(ETIME)
E(ETIMEDOUT)
E(ETOOMANYREFS)
E(EUCLEAN)
E(EUNATCH)
E(EUSERS)
E(EXFULL)

View File

@ -267,6 +267,7 @@ enum {
};
TargetFdTrans **target_fd_trans;
QemuMutex target_fd_trans_lock;
unsigned int target_fd_max;
static void tswap_nlmsghdr(struct nlmsghdr *nlh)

View File

@ -16,6 +16,8 @@
#ifndef FD_TRANS_H
#define FD_TRANS_H
#include "qemu/lockable.h"
typedef abi_long (*TargetFdDataFunc)(void *, size_t);
typedef abi_long (*TargetFdAddrFunc)(void *, abi_ulong, socklen_t);
typedef struct TargetFdTrans {
@ -25,12 +27,23 @@ typedef struct TargetFdTrans {
} TargetFdTrans;
extern TargetFdTrans **target_fd_trans;
extern QemuMutex target_fd_trans_lock;
extern unsigned int target_fd_max;
static inline void fd_trans_init(void)
{
qemu_mutex_init(&target_fd_trans_lock);
}
static inline TargetFdDataFunc fd_trans_target_to_host_data(int fd)
{
if (fd >= 0 && fd < target_fd_max && target_fd_trans[fd]) {
if (fd < 0) {
return NULL;
}
QEMU_LOCK_GUARD(&target_fd_trans_lock);
if (fd < target_fd_max && target_fd_trans[fd]) {
return target_fd_trans[fd]->target_to_host_data;
}
return NULL;
@ -38,7 +51,12 @@ static inline TargetFdDataFunc fd_trans_target_to_host_data(int fd)
static inline TargetFdDataFunc fd_trans_host_to_target_data(int fd)
{
if (fd >= 0 && fd < target_fd_max && target_fd_trans[fd]) {
if (fd < 0) {
return NULL;
}
QEMU_LOCK_GUARD(&target_fd_trans_lock);
if (fd < target_fd_max && target_fd_trans[fd]) {
return target_fd_trans[fd]->host_to_target_data;
}
return NULL;
@ -46,13 +64,19 @@ static inline TargetFdDataFunc fd_trans_host_to_target_data(int fd)
static inline TargetFdAddrFunc fd_trans_target_to_host_addr(int fd)
{
if (fd >= 0 && fd < target_fd_max && target_fd_trans[fd]) {
if (fd < 0) {
return NULL;
}
QEMU_LOCK_GUARD(&target_fd_trans_lock);
if (fd < target_fd_max && target_fd_trans[fd]) {
return target_fd_trans[fd]->target_to_host_addr;
}
return NULL;
}
static inline void fd_trans_register(int fd, TargetFdTrans *trans)
static inline void internal_fd_trans_register_unsafe(int fd,
TargetFdTrans *trans)
{
unsigned int oldmax;
@ -67,18 +91,35 @@ static inline void fd_trans_register(int fd, TargetFdTrans *trans)
target_fd_trans[fd] = trans;
}
static inline void fd_trans_unregister(int fd)
static inline void fd_trans_register(int fd, TargetFdTrans *trans)
{
QEMU_LOCK_GUARD(&target_fd_trans_lock);
internal_fd_trans_register_unsafe(fd, trans);
}
static inline void internal_fd_trans_unregister_unsafe(int fd)
{
if (fd >= 0 && fd < target_fd_max) {
target_fd_trans[fd] = NULL;
}
}
static inline void fd_trans_unregister(int fd)
{
if (fd < 0) {
return;
}
QEMU_LOCK_GUARD(&target_fd_trans_lock);
internal_fd_trans_unregister_unsafe(fd);
}
static inline void fd_trans_dup(int oldfd, int newfd)
{
fd_trans_unregister(newfd);
QEMU_LOCK_GUARD(&target_fd_trans_lock);
internal_fd_trans_unregister_unsafe(newfd);
if (oldfd < target_fd_max && target_fd_trans[oldfd]) {
fd_trans_register(newfd, target_fd_trans[oldfd]);
internal_fd_trans_register_unsafe(newfd, target_fd_trans[oldfd]);
}
}

View File

@ -5,8 +5,8 @@
* Taken from asm-generic/errno-base.h and asm-generic/errno.h
*/
#ifndef LINUX_USER_ERRNO_DEFS_H
#define LINUX_USER_ERRNO_DEFS_H
#ifndef GENERIC_TARGET_ERRNO_DEFS_H
#define GENERIC_TARGET_ERRNO_DEFS_H
#define TARGET_EPERM 1 /* Operation not permitted */
#define TARGET_ENOENT 2 /* No such file or directory */

View File

@ -317,6 +317,16 @@
#define TARGET_NR_fsmount 432
#define TARGET_NR_fspick 433
#define TARGET_NR_pidfd_open 434
#define TARGET_NR_syscalls 436
#define TARGET_NR_close_range 436
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_HEXAGON_SYSCALL_NR_H */

View File

@ -0,0 +1,7 @@
#ifndef HEXAGON_TARGET_ERRNO_DEFS_H
#define HEXAGON_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -29,7 +29,7 @@
18 common stat sys_newstat compat_sys_newstat
19 common lseek sys_lseek compat_sys_lseek
20 common getpid sys_getpid
21 common mount sys_mount compat_sys_mount
21 common mount sys_mount
22 common bind sys_bind
23 common setuid sys_setuid
24 common getuid sys_getuid
@ -159,8 +159,8 @@
142 common _newselect sys_select compat_sys_select
143 common flock sys_flock
144 common msync sys_msync
145 common readv sys_readv compat_sys_readv
146 common writev sys_writev compat_sys_writev
145 common readv sys_readv
146 common writev sys_writev
147 common getsid sys_getsid
148 common fdatasync sys_fdatasync
149 common _sysctl sys_ni_syscall
@ -330,7 +330,7 @@
292 32 sync_file_range parisc_sync_file_range
292 64 sync_file_range sys_sync_file_range
293 common tee sys_tee
294 common vmsplice sys_vmsplice compat_sys_vmsplice
294 common vmsplice sys_vmsplice
295 common move_pages sys_move_pages compat_sys_move_pages
296 common getcpu sys_getcpu
297 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait
@ -344,17 +344,17 @@
304 common eventfd sys_eventfd
305 32 fallocate parisc_fallocate
305 64 fallocate sys_fallocate
306 common timerfd_create sys_timerfd_create
306 common timerfd_create parisc_timerfd_create
307 32 timerfd_settime sys_timerfd_settime32
307 64 timerfd_settime sys_timerfd_settime
308 32 timerfd_gettime sys_timerfd_gettime32
308 64 timerfd_gettime sys_timerfd_gettime
309 common signalfd4 sys_signalfd4 compat_sys_signalfd4
310 common eventfd2 sys_eventfd2
309 common signalfd4 parisc_signalfd4 parisc_compat_signalfd4
310 common eventfd2 parisc_eventfd2
311 common epoll_create1 sys_epoll_create1
312 common dup3 sys_dup3
313 common pipe2 sys_pipe2
314 common inotify_init1 sys_inotify_init1
313 common pipe2 parisc_pipe2
314 common inotify_init1 parisc_inotify_init1
315 common preadv sys_preadv compat_sys_preadv
316 common pwritev sys_pwritev compat_sys_pwritev
317 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
@ -372,8 +372,8 @@
327 common syncfs sys_syncfs
328 common setns sys_setns
329 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
330 common process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
331 common process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
330 common process_vm_readv sys_process_vm_readv
331 common process_vm_writev sys_process_vm_writev
332 common kcmp sys_kcmp
333 common finit_module sys_finit_module
334 common sched_setattr sys_sched_setattr
@ -387,7 +387,7 @@
341 common bpf sys_bpf
342 common execveat sys_execveat compat_sys_execveat
343 common membarrier sys_membarrier
344 common userfaultfd sys_userfaultfd
344 common userfaultfd parisc_userfaultfd
345 common mlock2 sys_mlock2
346 common copy_file_range sys_copy_file_range
347 common preadv2 sys_preadv2 compat_sys_preadv2
@ -437,3 +437,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,220 @@
#ifndef HPPA_TARGET_ERRNO_DEFS_H
#define HPPA_TARGET_ERRNO_DEFS_H
#include "../generic/target_errno_defs.h"
/*
* Generic target errno overridden with definitions taken
* from asm-parisc/errno.h
*/
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35
#undef TARGET_EIDRM
#define TARGET_EIDRM 36
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 37
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 38
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 39
#undef TARGET_EL3RST
#define TARGET_EL3RST 40
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 41
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 42
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 43
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 44
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 45
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 46
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 47
#undef TARGET_ENONET
#define TARGET_ENONET 50
#undef TARGET_ENODATA
#define TARGET_ENODATA 51
#undef TARGET_ETIME
#define TARGET_ETIME 52
#undef TARGET_ENOSR
#define TARGET_ENOSR 53
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 54
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 55
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 57
#undef TARGET_EADV
#define TARGET_EADV 58
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 59
#undef TARGET_ECOMM
#define TARGET_ECOMM 60
#undef TARGET_EPROTO
#define TARGET_EPROTO 61
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 64
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 66
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 67
#undef TARGET_EUSERS
#define TARGET_EUSERS 68
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 69
#undef TARGET_ESTALE
#define TARGET_ESTALE 70
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 71
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 72
#undef TARGET_EBADE
#define TARGET_EBADE 160
#undef TARGET_EBADR
#define TARGET_EBADR 161
#undef TARGET_EXFULL
#define TARGET_EXFULL 162
#undef TARGET_ENOANO
#define TARGET_ENOANO 163
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 164
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 165
#undef TARGET_EBFONT
#define TARGET_EBFONT 166
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 167
#undef TARGET_EBADFD
#define TARGET_EBADFD 168
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 169
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 170
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 171
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 172
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 173
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 174
#undef TARGET_ERESTART
#define TARGET_ERESTART 175
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 176
#undef TARGET_EUCLEAN
#define TARGET_EUCLEAN 177
#undef TARGET_ENOTNAM
#define TARGET_ENOTNAM 178
#undef TARGET_ENAVAIL
#define TARGET_ENAVAIL 179
#undef TARGET_EISNAM
#define TARGET_EISNAM 180
#undef TARGET_EREMOTEIO
#define TARGET_EREMOTEIO 181
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 182
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 183
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 184
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 185
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 186
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 187
/* Never used in linux. */
/* #define TARGET_ENOSYM 215 */
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 216
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 217
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 218
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 219
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 220
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 221
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 222
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 223
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 224
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 225
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 226
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 227
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 228
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 229
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 230
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 231
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 232
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 233
#undef TARGET_EISCONN
#define TARGET_EISCONN 234
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 235
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 236
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 237
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 238
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 239
#define TARGET_EREMOTERELEASE 240
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 241
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 242
#undef TARGET_EALREADY
#define TARGET_EALREADY 244
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 245
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 247
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 248
#undef TARGET_ELOOP
#define TARGET_ELOOP 249
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 251
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 253
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 254
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 255
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 256
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 257
#endif

View File

@ -27,214 +27,4 @@ struct target_pt_regs {
#define TARGET_MCL_FUTURE 2
#define TARGET_MCL_ONFAULT 4
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35
#undef TARGET_EIDRM
#define TARGET_EIDRM 36
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 37
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 38
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 39
#undef TARGET_EL3RST
#define TARGET_EL3RST 40
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 41
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 42
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 43
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 44
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 45
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 46
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 47
#undef TARGET_ENONET
#define TARGET_ENONET 50
#undef TARGET_ENODATA
#define TARGET_ENODATA 51
#undef TARGET_ETIME
#define TARGET_ETIME 52
#undef TARGET_ENOSR
#define TARGET_ENOSR 53
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 54
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 55
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 57
#undef TARGET_EADV
#define TARGET_EADV 58
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 59
#undef TARGET_ECOMM
#define TARGET_ECOMM 60
#undef TARGET_EPROTO
#define TARGET_EPROTO 61
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 64
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 66
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 67
#undef TARGET_EUSERS
#define TARGET_EUSERS 68
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 69
#undef TARGET_ESTALE
#define TARGET_ESTALE 70
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 71
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 72
#undef TARGET_EBADE
#define TARGET_EBADE 160
#undef TARGET_EBADR
#define TARGET_EBADR 161
#undef TARGET_EXFULL
#define TARGET_EXFULL 162
#undef TARGET_ENOANO
#define TARGET_ENOANO 163
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 164
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 165
#undef TARGET_EBFONT
#define TARGET_EBFONT 166
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 167
#undef TARGET_EBADFD
#define TARGET_EBADFD 168
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 169
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 170
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 171
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 172
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 173
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 174
#undef TARGET_ERESTART
#define TARGET_ERESTART 175
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 176
#undef TARGET_EUCLEAN
#define TARGET_EUCLEAN 177
#undef TARGET_ENOTNAM
#define TARGET_ENOTNAM 178
#undef TARGET_ENAVAIL
#define TARGET_ENAVAIL 179
#undef TARGET_EISNAM
#define TARGET_EISNAM 180
#undef TARGET_EREMOTEIO
#define TARGET_EREMOTEIO 181
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 182
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 183
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 184
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 185
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 186
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 187
/* Never used in linux. */
/* #define TARGET_ENOSYM 215 */
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 216
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 217
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 218
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 219
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 220
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 221
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 222
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 223
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 224
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 225
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 226
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 227
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 228
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 229
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 230
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 231
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 232
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 233
#undef TARGET_EISCONN
#define TARGET_EISCONN 234
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 235
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 236
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 237
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 238
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 239
#define TARGET_EREMOTERELEASE 240
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 241
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 242
#undef TARGET_EALREADY
#define TARGET_EALREADY 244
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 245
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 247
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 248
#undef TARGET_ELOOP
#define TARGET_ELOOP 249
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 251
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 253
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 254
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 255
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 256
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 257
#endif /* HPPA_TARGET_SYSCALL_H */

View File

@ -32,7 +32,7 @@
18 i386 oldstat sys_stat
19 i386 lseek sys_lseek compat_sys_lseek
20 i386 getpid sys_getpid
21 i386 mount sys_mount compat_sys_mount
21 i386 mount sys_mount
22 i386 umount sys_oldumount
23 i386 setuid sys_setuid16
24 i386 getuid sys_getuid16
@ -142,7 +142,7 @@
128 i386 init_module sys_init_module
129 i386 delete_module sys_delete_module
130 i386 get_kernel_syms
131 i386 quotactl sys_quotactl compat_sys_quotactl32
131 i386 quotactl sys_quotactl
132 i386 getpgid sys_getpgid
133 i386 fchdir sys_fchdir
134 i386 bdflush sys_bdflush
@ -156,8 +156,8 @@
142 i386 _newselect sys_select compat_sys_select
143 i386 flock sys_flock
144 i386 msync sys_msync
145 i386 readv sys_readv compat_sys_readv
146 i386 writev sys_writev compat_sys_writev
145 i386 readv sys_readv
146 i386 writev sys_writev
147 i386 getsid sys_getsid
148 i386 fdatasync sys_fdatasync
149 i386 _sysctl sys_ni_syscall
@ -327,7 +327,7 @@
313 i386 splice sys_splice
314 i386 sync_file_range sys_ia32_sync_file_range
315 i386 tee sys_tee
316 i386 vmsplice sys_vmsplice compat_sys_vmsplice
316 i386 vmsplice sys_vmsplice
317 i386 move_pages sys_move_pages compat_sys_move_pages
318 i386 getcpu sys_getcpu
319 i386 epoll_pwait sys_epoll_pwait
@ -358,8 +358,8 @@
344 i386 syncfs sys_syncfs
345 i386 sendmmsg sys_sendmmsg compat_sys_sendmmsg
346 i386 setns sys_setns
347 i386 process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
348 i386 process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
347 i386 process_vm_readv sys_process_vm_readv
348 i386 process_vm_writev sys_process_vm_writev
349 i386 kcmp sys_kcmp
350 i386 finit_module sys_finit_module
351 i386 sched_setattr sys_sched_setattr
@ -444,3 +444,10 @@
437 i386 openat2 sys_openat2
438 i386 pidfd_getfd sys_pidfd_getfd
439 i386 faccessat2 sys_faccessat2
440 i386 process_madvise sys_process_madvise
441 i386 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 i386 mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 i386 landlock_create_ruleset sys_landlock_create_ruleset
445 i386 landlock_add_rule sys_landlock_add_rule
446 i386 landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef I386_TARGET_ERRNO_DEFS_H
#define I386_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -439,3 +439,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef M68K_TARGET_ERRNO_DEFS_H
#define M68K_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -48,6 +48,7 @@
#include "target_elf.h"
#include "cpu_loop-common.h"
#include "crypto/init.h"
#include "fd-trans.h"
#ifndef AT_FLAGS_PRESERVE_ARGV0
#define AT_FLAGS_PRESERVE_ARGV0_BIT 0
@ -829,6 +830,8 @@ int main(int argc, char **argv, char **envp)
cpu->opaque = ts;
task_settid(ts);
fd_trans_init();
ret = loader_exec(execfd, exec_path, target_argv, target_environ, regs,
info, &bprm);
if (ret != 0) {

View File

@ -445,3 +445,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef MICROBLAZE_TARGET_ERRNO_DEFS_H
#define MICROBLAZE_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -356,7 +356,7 @@
[ 355] = 3, /* bpf */
[ 356] = 5, /* execveat */
[ 357] = 1, /* userfaultfd */
[ 358] = 2, /* membarrier */
[ 358] = 3, /* membarrier */
[ 359] = 3, /* mlock2 */
[ 360] = 6, /* copy_file_range */
[ 361] = 6, /* preadv2 */
@ -438,3 +438,6 @@
[ 437] = 4, /* openat2 */
[ 438] = 3, /* pidfd_getfd */
[ 439] = 4, /* faccessat2 */
[ 440] = 5, /* process_madvise */
[ 441] = 6, /* epoll_pwait2 */
[ 442] = 5, /* mount_setattr */

View File

@ -29,7 +29,7 @@
18 o32 unused18 sys_ni_syscall
19 o32 lseek sys_lseek
20 o32 getpid sys_getpid
21 o32 mount sys_mount compat_sys_mount
21 o32 mount sys_mount
22 o32 umount sys_oldumount
23 o32 setuid sys_setuid
24 o32 getuid sys_getuid
@ -156,8 +156,8 @@
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
145 o32 readv sys_readv
146 o32 writev sys_writev
147 o32 cacheflush sys_cacheflush
148 o32 cachectl sys_cachectl
149 o32 sysmips __sys_sysmips
@ -318,7 +318,7 @@
304 o32 splice sys_splice
305 o32 sync_file_range sys_sync_file_range sys32_sync_file_range
306 o32 tee sys_tee
307 o32 vmsplice sys_vmsplice compat_sys_vmsplice
307 o32 vmsplice sys_vmsplice
308 o32 move_pages sys_move_pages compat_sys_move_pages
309 o32 set_robust_list sys_set_robust_list compat_sys_set_robust_list
310 o32 get_robust_list sys_get_robust_list compat_sys_get_robust_list
@ -356,8 +356,8 @@
342 o32 syncfs sys_syncfs
343 o32 sendmmsg sys_sendmmsg compat_sys_sendmmsg
344 o32 setns sys_setns
345 o32 process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
346 o32 process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
345 o32 process_vm_readv sys_process_vm_readv
346 o32 process_vm_writev sys_process_vm_writev
347 o32 kcmp sys_kcmp
348 o32 finit_module sys_finit_module
349 o32 sched_setattr sys_sched_setattr
@ -427,3 +427,10 @@
437 o32 openat2 sys_openat2
438 o32 pidfd_getfd sys_pidfd_getfd
439 o32 faccessat2 sys_faccessat2
440 o32 process_madvise sys_process_madvise
441 o32 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 o32 mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 o32 landlock_create_ruleset sys_landlock_create_ruleset
445 o32 landlock_add_rule sys_landlock_add_rule
446 o32 landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,221 @@
#ifndef MIPS_TARGET_ERRNO_DEFS_H
#define MIPS_TARGET_ERRNO_DEFS_H
#include "../generic/target_errno_defs.h"
/*
* Generic target errno overridden with definitions taken
* from asm-mips/errno.h
*/
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35 /* Identifier removed */
#undef TARGET_EIDRM
#define TARGET_EIDRM 36 /* Identifier removed */
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 37 /* Channel number out of range */
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 39 /* Level 3 halted */
#undef TARGET_EL3RST
#define TARGET_EL3RST 40 /* Level 3 reset */
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 41 /* Link number out of range */
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 42 /* Protocol driver not attached */
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 43 /* No CSI structure available */
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 44 /* Level 2 halted */
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 46 /* No record locks available */
#undef TARGET_EBADE
#define TARGET_EBADE 50 /* Invalid exchange */
#undef TARGET_EBADR
#define TARGET_EBADR 51 /* Invalid request descriptor */
#undef TARGET_EXFULL
#define TARGET_EXFULL 52 /* TARGET_Exchange full */
#undef TARGET_ENOANO
#define TARGET_ENOANO 53 /* No anode */
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 54 /* Invalid request code */
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 55 /* Invalid slot */
#undef TARGET_EDEADLOCK
#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
#undef TARGET_EBFONT
#define TARGET_EBFONT 59 /* Bad font file format */
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 60 /* Device not a stream */
#undef TARGET_ENODATA
#define TARGET_ENODATA 61 /* No data available */
#undef TARGET_ETIME
#define TARGET_ETIME 62 /* Timer expired */
#undef TARGET_ENOSR
#define TARGET_ENOSR 63 /* Out of streams resources */
#undef TARGET_ENONET
#define TARGET_ENONET 64 /* Machine is not on the network */
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 65 /* Package not installed */
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 66 /* Object is remote */
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 67 /* Link has been severed */
#undef TARGET_EADV
#define TARGET_EADV 68 /* Advertise error */
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 69 /* Srmount error */
#undef TARGET_ECOMM
#define TARGET_ECOMM 70 /* Communication error on send */
#undef TARGET_EPROTO
#define TARGET_EPROTO 71 /* Protocol error */
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 73 /* RFS specific error */
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 74 /* Multihop attempted */
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 77 /* Not a data message */
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 78 /* File name too long */
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
#undef TARGET_EBADFD
#define TARGET_EBADFD 81 /* File descriptor in bad state */
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 82 /* Remote address changed */
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 88 /* Illegal byte sequence */
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 89 /* Function not implemented */
#undef TARGET_ELOOP
#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
#undef TARGET_ERESTART
#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 92 /* Streams pipe error */
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 93 /* Directory not empty */
#undef TARGET_EUSERS
#define TARGET_EUSERS 94 /* Too many users */
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 96 /* Destination address required */
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 97 /* Message too long */
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 125 /* Address already in use */
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 127 /* Network is down */
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 128 /* Network is unreachable */
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 131 /* Connection reset by peer */
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 132 /* No buffer space available */
#undef TARGET_EISCONN
#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
#undef TARGET_EUCLEAN
#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
#undef TARGET_ENOTNAM
#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
#undef TARGET_ENAVAIL
#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
#undef TARGET_EISNAM
#define TARGET_EISNAM 139 /* Is a named type file */
#undef TARGET_EREMOTEIO
#define TARGET_EREMOTEIO 140 /* Remote I/O error */
#undef TARGET_EINIT
#define TARGET_EINIT 141 /* Reserved */
#undef TARGET_EREMDEV
#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 145 /* Connection timed out */
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 146 /* Connection refused */
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 147 /* Host is down */
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 148 /* No route to host */
#undef TARGET_EALREADY
#define TARGET_EALREADY 149 /* Operation already in progress */
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 150 /* Operation now in progress */
#undef TARGET_ESTALE
#define TARGET_ESTALE 151 /* Stale NFS file handle */
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 158 /* AIO operation canceled */
/*
* These error are Linux extensions.
*/
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 159 /* No medium found */
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 161 /* Required key not available */
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 162 /* Key has expired */
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
/* for robust mutexes */
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 165 /* Owner died */
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 167
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 168
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 1133 /* Quota exceeded */
#endif

View File

@ -20,217 +20,6 @@ struct target_pt_regs {
abi_ulong cp0_epc;
};
/* Target errno definitions taken from asm-mips/errno.h */
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35 /* Identifier removed */
#undef TARGET_EIDRM
#define TARGET_EIDRM 36 /* Identifier removed */
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 37 /* Channel number out of range */
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 39 /* Level 3 halted */
#undef TARGET_EL3RST
#define TARGET_EL3RST 40 /* Level 3 reset */
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 41 /* Link number out of range */
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 42 /* Protocol driver not attached */
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 43 /* No CSI structure available */
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 44 /* Level 2 halted */
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 46 /* No record locks available */
#undef TARGET_EBADE
#define TARGET_EBADE 50 /* Invalid exchange */
#undef TARGET_EBADR
#define TARGET_EBADR 51 /* Invalid request descriptor */
#undef TARGET_EXFULL
#define TARGET_EXFULL 52 /* TARGET_Exchange full */
#undef TARGET_ENOANO
#define TARGET_ENOANO 53 /* No anode */
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 54 /* Invalid request code */
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 55 /* Invalid slot */
#undef TARGET_EDEADLOCK
#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
#undef TARGET_EBFONT
#define TARGET_EBFONT 59 /* Bad font file format */
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 60 /* Device not a stream */
#undef TARGET_ENODATA
#define TARGET_ENODATA 61 /* No data available */
#undef TARGET_ETIME
#define TARGET_ETIME 62 /* Timer expired */
#undef TARGET_ENOSR
#define TARGET_ENOSR 63 /* Out of streams resources */
#undef TARGET_ENONET
#define TARGET_ENONET 64 /* Machine is not on the network */
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 65 /* Package not installed */
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 66 /* Object is remote */
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 67 /* Link has been severed */
#undef TARGET_EADV
#define TARGET_EADV 68 /* Advertise error */
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 69 /* Srmount error */
#undef TARGET_ECOMM
#define TARGET_ECOMM 70 /* Communication error on send */
#undef TARGET_EPROTO
#define TARGET_EPROTO 71 /* Protocol error */
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 73 /* RFS specific error */
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 74 /* Multihop attempted */
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 77 /* Not a data message */
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 78 /* File name too long */
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
#undef TARGET_EBADFD
#define TARGET_EBADFD 81 /* File descriptor in bad state */
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 82 /* Remote address changed */
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 88 /* Illegal byte sequence */
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 89 /* Function not implemented */
#undef TARGET_ELOOP
#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
#undef TARGET_ERESTART
#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 92 /* Streams pipe error */
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 93 /* Directory not empty */
#undef TARGET_EUSERS
#define TARGET_EUSERS 94 /* Too many users */
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 96 /* Destination address required */
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 97 /* Message too long */
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 125 /* Address already in use */
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 127 /* Network is down */
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 128 /* Network is unreachable */
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 131 /* Connection reset by peer */
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 132 /* No buffer space available */
#undef TARGET_EISCONN
#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
#undef TARGET_EUCLEAN
#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
#undef TARGET_ENOTNAM
#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
#undef TARGET_ENAVAIL
#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
#undef TARGET_EISNAM
#define TARGET_EISNAM 139 /* Is a named type file */
#undef TARGET_EREMOTEIO
#define TARGET_EREMOTEIO 140 /* Remote I/O error */
#undef TARGET_EINIT
#define TARGET_EINIT 141 /* Reserved */
#undef TARGET_EREMDEV
#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 145 /* Connection timed out */
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 146 /* Connection refused */
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 147 /* Host is down */
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 148 /* No route to host */
#undef TARGET_EALREADY
#define TARGET_EALREADY 149 /* Operation already in progress */
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 150 /* Operation now in progress */
#undef TARGET_ESTALE
#define TARGET_ESTALE 151 /* Stale NFS file handle */
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 158 /* AIO operation canceled */
/*
* These error are Linux extensions.
*/
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 159 /* No medium found */
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 161 /* Required key not available */
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 162 /* Key has expired */
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
/* for robust mutexes */
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 165 /* Owner died */
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 167
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 168
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 1133 /* Quota exceeded */
#define UNAME_MACHINE "mips"
#define UNAME_MINIMUM_RELEASE "2.6.32"

View File

@ -25,8 +25,8 @@
15 n32 ioctl compat_sys_ioctl
16 n32 pread64 sys_pread64
17 n32 pwrite64 sys_pwrite64
18 n32 readv compat_sys_readv
19 n32 writev compat_sys_writev
18 n32 readv sys_readv
19 n32 writev sys_writev
20 n32 access sys_access
21 n32 pipe sysm_pipe
22 n32 _newselect compat_sys_select
@ -167,7 +167,7 @@
157 n32 sync sys_sync
158 n32 acct sys_acct
159 n32 settimeofday compat_sys_settimeofday
160 n32 mount compat_sys_mount
160 n32 mount sys_mount
161 n32 umount2 sys_umount
162 n32 swapon sys_swapon
163 n32 swapoff sys_swapoff
@ -278,7 +278,7 @@
267 n32 splice sys_splice
268 n32 sync_file_range sys_sync_file_range
269 n32 tee sys_tee
270 n32 vmsplice compat_sys_vmsplice
270 n32 vmsplice sys_vmsplice
271 n32 move_pages compat_sys_move_pages
272 n32 set_robust_list compat_sys_set_robust_list
273 n32 get_robust_list compat_sys_get_robust_list
@ -317,8 +317,8 @@
306 n32 syncfs sys_syncfs
307 n32 sendmmsg compat_sys_sendmmsg
308 n32 setns sys_setns
309 n32 process_vm_readv compat_sys_process_vm_readv
310 n32 process_vm_writev compat_sys_process_vm_writev
309 n32 process_vm_readv sys_process_vm_readv
310 n32 process_vm_writev sys_process_vm_writev
311 n32 kcmp sys_kcmp
312 n32 finit_module sys_finit_module
313 n32 sched_setattr sys_sched_setattr
@ -378,3 +378,10 @@
437 n32 openat2 sys_openat2
438 n32 pidfd_getfd sys_pidfd_getfd
439 n32 faccessat2 sys_faccessat2
440 n32 process_madvise sys_process_madvise
441 n32 epoll_pwait2 compat_sys_epoll_pwait2
442 n32 mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 n32 landlock_create_ruleset sys_landlock_create_ruleset
445 n32 landlock_add_rule sys_landlock_add_rule
446 n32 landlock_restrict_self sys_landlock_restrict_self

View File

@ -354,3 +354,10 @@
437 n64 openat2 sys_openat2
438 n64 pidfd_getfd sys_pidfd_getfd
439 n64 faccessat2 sys_faccessat2
440 n64 process_madvise sys_process_madvise
441 n64 epoll_pwait2 sys_epoll_pwait2
442 n64 mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 n64 landlock_create_ruleset sys_landlock_create_ruleset
445 n64 landlock_add_rule sys_landlock_add_rule
446 n64 landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,10 @@
#ifndef MIPS64_TARGET_ERRNO_DEFS_H
#define MIPS64_TARGET_ERRNO_DEFS_H
/*
* The mips64 target uses errno definitions taken from asm-mips/errno.h
* so directly use the mips target errno definitions.
*/
#include "../mips/target_errno_defs.h"
#endif

View File

@ -17,217 +17,6 @@ struct target_pt_regs {
target_ulong cp0_epc;
};
/* Target errno definitions taken from asm-mips/errno.h */
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35 /* Identifier removed */
#undef TARGET_EIDRM
#define TARGET_EIDRM 36 /* Identifier removed */
#undef TARGET_ECHRNG
#define TARGET_ECHRNG 37 /* Channel number out of range */
#undef TARGET_EL2NSYNC
#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
#undef TARGET_EL3HLT
#define TARGET_EL3HLT 39 /* Level 3 halted */
#undef TARGET_EL3RST
#define TARGET_EL3RST 40 /* Level 3 reset */
#undef TARGET_ELNRNG
#define TARGET_ELNRNG 41 /* Link number out of range */
#undef TARGET_EUNATCH
#define TARGET_EUNATCH 42 /* Protocol driver not attached */
#undef TARGET_ENOCSI
#define TARGET_ENOCSI 43 /* No CSI structure available */
#undef TARGET_EL2HLT
#define TARGET_EL2HLT 44 /* Level 2 halted */
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
#undef TARGET_ENOLCK
#define TARGET_ENOLCK 46 /* No record locks available */
#undef TARGET_EBADE
#define TARGET_EBADE 50 /* Invalid exchange */
#undef TARGET_EBADR
#define TARGET_EBADR 51 /* Invalid request descriptor */
#undef TARGET_EXFULL
#define TARGET_EXFULL 52 /* TARGET_Exchange full */
#undef TARGET_ENOANO
#define TARGET_ENOANO 53 /* No anode */
#undef TARGET_EBADRQC
#define TARGET_EBADRQC 54 /* Invalid request code */
#undef TARGET_EBADSLT
#define TARGET_EBADSLT 55 /* Invalid slot */
#undef TARGET_EDEADLOCK
#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
#undef TARGET_EBFONT
#define TARGET_EBFONT 59 /* Bad font file format */
#undef TARGET_ENOSTR
#define TARGET_ENOSTR 60 /* Device not a stream */
#undef TARGET_ENODATA
#define TARGET_ENODATA 61 /* No data available */
#undef TARGET_ETIME
#define TARGET_ETIME 62 /* Timer expired */
#undef TARGET_ENOSR
#define TARGET_ENOSR 63 /* Out of streams resources */
#undef TARGET_ENONET
#define TARGET_ENONET 64 /* Machine is not on the network */
#undef TARGET_ENOPKG
#define TARGET_ENOPKG 65 /* Package not installed */
#undef TARGET_EREMOTE
#define TARGET_EREMOTE 66 /* Object is remote */
#undef TARGET_ENOLINK
#define TARGET_ENOLINK 67 /* Link has been severed */
#undef TARGET_EADV
#define TARGET_EADV 68 /* Advertise error */
#undef TARGET_ESRMNT
#define TARGET_ESRMNT 69 /* Srmount error */
#undef TARGET_ECOMM
#define TARGET_ECOMM 70 /* Communication error on send */
#undef TARGET_EPROTO
#define TARGET_EPROTO 71 /* Protocol error */
#undef TARGET_EDOTDOT
#define TARGET_EDOTDOT 73 /* RFS specific error */
#undef TARGET_EMULTIHOP
#define TARGET_EMULTIHOP 74 /* Multihop attempted */
#undef TARGET_EBADMSG
#define TARGET_EBADMSG 77 /* Not a data message */
#undef TARGET_ENAMETOOLONG
#define TARGET_ENAMETOOLONG 78 /* File name too long */
#undef TARGET_EOVERFLOW
#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
#undef TARGET_ENOTUNIQ
#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
#undef TARGET_EBADFD
#define TARGET_EBADFD 81 /* File descriptor in bad state */
#undef TARGET_EREMCHG
#define TARGET_EREMCHG 82 /* Remote address changed */
#undef TARGET_ELIBACC
#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
#undef TARGET_ELIBBAD
#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
#undef TARGET_ELIBSCN
#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
#undef TARGET_ELIBMAX
#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
#undef TARGET_ELIBEXEC
#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
#undef TARGET_EILSEQ
#define TARGET_EILSEQ 88 /* Illegal byte sequence */
#undef TARGET_ENOSYS
#define TARGET_ENOSYS 89 /* Function not implemented */
#undef TARGET_ELOOP
#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
#undef TARGET_ERESTART
#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
#undef TARGET_ESTRPIPE
#define TARGET_ESTRPIPE 92 /* Streams pipe error */
#undef TARGET_ENOTEMPTY
#define TARGET_ENOTEMPTY 93 /* Directory not empty */
#undef TARGET_EUSERS
#define TARGET_EUSERS 94 /* Too many users */
#undef TARGET_ENOTSOCK
#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
#undef TARGET_EDESTADDRREQ
#define TARGET_EDESTADDRREQ 96 /* Destination address required */
#undef TARGET_EMSGSIZE
#define TARGET_EMSGSIZE 97 /* Message too long */
#undef TARGET_EPROTOTYPE
#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
#undef TARGET_ENOPROTOOPT
#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
#undef TARGET_EPROTONOSUPPORT
#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
#undef TARGET_ESOCKTNOSUPPORT
#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
#undef TARGET_EOPNOTSUPP
#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
#undef TARGET_EPFNOSUPPORT
#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
#undef TARGET_EAFNOSUPPORT
#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
#undef TARGET_EADDRINUSE
#define TARGET_EADDRINUSE 125 /* Address already in use */
#undef TARGET_EADDRNOTAVAIL
#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
#undef TARGET_ENETDOWN
#define TARGET_ENETDOWN 127 /* Network is down */
#undef TARGET_ENETUNREACH
#define TARGET_ENETUNREACH 128 /* Network is unreachable */
#undef TARGET_ENETRESET
#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
#undef TARGET_ECONNABORTED
#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
#undef TARGET_ECONNRESET
#define TARGET_ECONNRESET 131 /* Connection reset by peer */
#undef TARGET_ENOBUFS
#define TARGET_ENOBUFS 132 /* No buffer space available */
#undef TARGET_EISCONN
#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
#undef TARGET_ENOTCONN
#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
#undef TARGET_EUCLEAN
#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
#undef TARGET_ENOTNAM
#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
#undef TARGET_ENAVAIL
#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
#undef TARGET_EISNAM
#define TARGET_EISNAM 139 /* Is a named type file */
#undef TARGET_EREMOTEIO
#define TARGET_EREMOTEIO 140 /* Remote I/O error */
#undef TARGET_EINIT
#define TARGET_EINIT 141 /* Reserved */
#undef TARGET_EREMDEV
#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
#undef TARGET_ESHUTDOWN
#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
#undef TARGET_ETOOMANYREFS
#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
#undef TARGET_ETIMEDOUT
#define TARGET_ETIMEDOUT 145 /* Connection timed out */
#undef TARGET_ECONNREFUSED
#define TARGET_ECONNREFUSED 146 /* Connection refused */
#undef TARGET_EHOSTDOWN
#define TARGET_EHOSTDOWN 147 /* Host is down */
#undef TARGET_EHOSTUNREACH
#define TARGET_EHOSTUNREACH 148 /* No route to host */
#undef TARGET_EALREADY
#define TARGET_EALREADY 149 /* Operation already in progress */
#undef TARGET_EINPROGRESS
#define TARGET_EINPROGRESS 150 /* Operation now in progress */
#undef TARGET_ESTALE
#define TARGET_ESTALE 151 /* Stale NFS file handle */
#undef TARGET_ECANCELED
#define TARGET_ECANCELED 158 /* AIO operation canceled */
/*
* These error are Linux extensions.
*/
#undef TARGET_ENOMEDIUM
#define TARGET_ENOMEDIUM 159 /* No medium found */
#undef TARGET_EMEDIUMTYPE
#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
#undef TARGET_ENOKEY
#define TARGET_ENOKEY 161 /* Required key not available */
#undef TARGET_EKEYEXPIRED
#define TARGET_EKEYEXPIRED 162 /* Key has expired */
#undef TARGET_EKEYREVOKED
#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
#undef TARGET_EKEYREJECTED
#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
/* for robust mutexes */
#undef TARGET_EOWNERDEAD
#define TARGET_EOWNERDEAD 165 /* Owner died */
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 167
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 168
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 1133 /* Quota exceeded */
#define UNAME_MACHINE "mips64"
#define UNAME_MINIMUM_RELEASE "2.6.32"

View File

@ -322,6 +322,12 @@
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_syscalls 440
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_NIOS2_SYSCALL_NR_H */

View File

@ -0,0 +1,7 @@
#ifndef NIOS2_TARGET_ERRNO_DEFS_H
#define NIOS2_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -323,6 +323,12 @@
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_syscalls 440
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_OPENRISC_SYSCALL_NR_H */

View File

@ -0,0 +1,7 @@
#ifndef OR1K_TARGET_ERRNO_DEFS_H
#define OR1K_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -9,9 +9,7 @@
#
0 nospu restart_syscall sys_restart_syscall
1 nospu exit sys_exit
2 32 fork ppc_fork sys_fork
2 64 fork sys_fork
2 spu fork sys_ni_syscall
2 nospu fork sys_fork
3 common read sys_read
4 common write sys_write
5 common open sys_open compat_sys_open
@ -34,7 +32,7 @@
18 spu oldstat sys_ni_syscall
19 common lseek sys_lseek compat_sys_lseek
20 common getpid sys_getpid
21 nospu mount sys_mount compat_sys_mount
21 nospu mount sys_mount
22 32 umount sys_oldumount
22 64 umount sys_ni_syscall
22 spu umount sys_ni_syscall
@ -160,9 +158,7 @@
119 32 sigreturn sys_sigreturn compat_sys_sigreturn
119 64 sigreturn sys_ni_syscall
119 spu sigreturn sys_ni_syscall
120 32 clone ppc_clone sys_clone
120 64 clone sys_clone
120 spu clone sys_ni_syscall
120 nospu clone sys_clone
121 common setdomainname sys_setdomainname
122 common uname sys_newuname
123 common modify_ldt sys_ni_syscall
@ -193,8 +189,8 @@
142 common _newselect sys_select compat_sys_select
143 common flock sys_flock
144 common msync sys_msync
145 common readv sys_readv compat_sys_readv
146 common writev sys_writev compat_sys_writev
145 common readv sys_readv
146 common writev sys_writev
147 common getsid sys_getsid
148 common fdatasync sys_fdatasync
149 nospu _sysctl sys_ni_syscall
@ -244,9 +240,7 @@
186 spu sendfile sys_sendfile64
187 common getpmsg sys_ni_syscall
188 common putpmsg sys_ni_syscall
189 32 vfork ppc_vfork sys_vfork
189 64 vfork sys_vfork
189 spu vfork sys_ni_syscall
189 nospu vfork sys_vfork
190 common ugetrlimit sys_getrlimit compat_sys_getrlimit
191 common readahead sys_readahead compat_sys_readahead
192 32 mmap2 sys_mmap2 compat_sys_mmap2
@ -322,9 +316,7 @@
248 32 clock_nanosleep sys_clock_nanosleep_time32
248 64 clock_nanosleep sys_clock_nanosleep
248 spu clock_nanosleep sys_clock_nanosleep
249 32 swapcontext ppc_swapcontext compat_sys_swapcontext
249 64 swapcontext sys_swapcontext
249 spu swapcontext sys_ni_syscall
249 nospu swapcontext sys_swapcontext compat_sys_swapcontext
250 common tgkill sys_tgkill
251 32 utimes sys_utimes_time32
251 64 utimes sys_utimes
@ -369,7 +361,7 @@
282 common unshare sys_unshare
283 common splice sys_splice
284 common tee sys_tee
285 common vmsplice sys_vmsplice compat_sys_vmsplice
285 common vmsplice sys_vmsplice
286 common openat sys_openat compat_sys_openat
287 common mkdirat sys_mkdirat
288 common mknodat sys_mknodat
@ -449,8 +441,8 @@
348 common syncfs sys_syncfs
349 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
350 common setns sys_setns
351 nospu process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
352 nospu process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
351 nospu process_vm_readv sys_process_vm_readv
352 nospu process_vm_writev sys_process_vm_writev
353 nospu finit_module sys_finit_module
354 nospu kcmp sys_kcmp
355 common sched_setattr sys_sched_setattr
@ -522,10 +514,15 @@
432 common fsmount sys_fsmount
433 common fspick sys_fspick
434 common pidfd_open sys_pidfd_open
435 32 clone3 ppc_clone3 sys_clone3
435 64 clone3 sys_clone3
435 spu clone3 sys_ni_syscall
435 nospu clone3 sys_clone3
436 common close_range sys_close_range
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef PPC_TARGET_ERRNO_DEFS_H
#define PPC_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -296,6 +296,12 @@
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_syscalls 440
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_RISCV_SYSCALL32_NR_H */

View File

@ -302,6 +302,12 @@
#define TARGET_NR_openat2 437
#define TARGET_NR_pidfd_getfd 438
#define TARGET_NR_faccessat2 439
#define TARGET_NR_syscalls 440
#define TARGET_NR_process_madvise 440
#define TARGET_NR_epoll_pwait2 441
#define TARGET_NR_mount_setattr 442
#define TARGET_NR_landlock_create_ruleset 444
#define TARGET_NR_landlock_add_rule 445
#define TARGET_NR_landlock_restrict_self 446
#define TARGET_NR_syscalls 447
#endif /* LINUX_USER_RISCV_SYSCALL64_NR_H */

View File

@ -0,0 +1,7 @@
#ifndef RISCV_TARGET_ERRNO_DEFS_H
#define RISCV_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -26,7 +26,7 @@
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
21 common mount sys_mount sys_mount
22 common umount sys_oldumount sys_oldumount
23 32 setuid - sys_setuid16
24 32 getuid - sys_getuid16
@ -134,8 +134,8 @@
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
145 common readv sys_readv sys_readv
146 common writev sys_writev sys_writev
147 common getsid sys_getsid sys_getsid
148 common fdatasync sys_fdatasync sys_fdatasync
149 common _sysctl - -
@ -316,7 +316,7 @@
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
309 common vmsplice sys_vmsplice 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
@ -347,8 +347,8 @@
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
340 common process_vm_readv sys_process_vm_readv sys_process_vm_readv
341 common process_vm_writev sys_process_vm_writev 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
@ -442,3 +442,10 @@
437 common openat2 sys_openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef S390X_TARGET_ERRNO_DEFS_H
#define S390X_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -11,7 +11,7 @@
*/
#include "hostdep.h"
#include "errno_defs.h"
#include "target_errno_defs.h"
/* We have the correct host directory on our include path
* so that this will pull in the right fragment for the architecture.

View File

@ -442,3 +442,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef SH4_TARGET_ERRNO_DEFS_H
#define SH4_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -38,7 +38,7 @@
23 64 setuid sys_setuid
24 32 getuid sys_getuid16
24 64 getuid sys_getuid
25 common vmsplice sys_vmsplice compat_sys_vmsplice
25 common vmsplice sys_vmsplice
26 common ptrace sys_ptrace compat_sys_ptrace
27 common alarm sys_alarm
28 common sigaltstack sys_sigaltstack compat_sys_sigaltstack
@ -149,8 +149,8 @@
117 common getrusage sys_getrusage compat_sys_getrusage
118 common getsockopt sys_getsockopt sys_getsockopt
119 common getcwd sys_getcwd
120 common readv sys_readv compat_sys_readv
121 common writev sys_writev compat_sys_writev
120 common readv sys_readv
121 common writev sys_writev
122 common settimeofday sys_settimeofday compat_sys_settimeofday
123 32 fchown sys_fchown16
123 64 fchown sys_fchown
@ -201,7 +201,7 @@
164 64 utrap_install sys_utrap_install
165 common quotactl sys_quotactl
166 common set_tid_address sys_set_tid_address
167 common mount sys_mount compat_sys_mount
167 common mount sys_mount
168 common ustat sys_ustat compat_sys_ustat
169 common setxattr sys_setxattr
170 common lsetxattr sys_lsetxattr
@ -406,8 +406,8 @@
335 common syncfs sys_syncfs
336 common sendmmsg sys_sendmmsg compat_sys_sendmmsg
337 common setns sys_setns
338 common process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
339 common process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
338 common process_vm_readv sys_process_vm_readv
339 common process_vm_writev sys_process_vm_writev
340 32 kern_features sys_ni_syscall sys_kern_features
340 64 kern_features sys_kern_features
341 common kcmp sys_kcmp
@ -485,3 +485,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -1,7 +1,12 @@
#ifndef SPARC_TARGET_ERRNO_H
#define SPARC_TARGET_ERRNO_H
#ifndef SPARC_TARGET_ERRNO_DEFS_H
#define SPARC_TARGET_ERRNO_DEFS_H
/* Target errno definitions taken from asm-sparc/errno.h */
#include "../generic/target_errno_defs.h"
/*
* Generic target errno overridden with definitions taken
* from asm-sparc/errno.h
*/
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_EINPROGRESS

View File

@ -1,8 +1,6 @@
#ifndef SPARC_TARGET_SYSCALL_H
#define SPARC_TARGET_SYSCALL_H
#include "target_errno.h"
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
struct target_pt_regs {
abi_ulong u_regs[16];

View File

@ -507,152 +507,26 @@ static inline int next_free_host_timer(void)
}
#endif
#define ERRNO_TABLE_SIZE 1200
/* target_to_host_errno_table[] is initialized from
* host_to_target_errno_table[] in syscall_init(). */
static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
};
/*
* This list is the union of errno values overridden in asm-<arch>/errno.h
* minus the errnos that are not actually generic to all archs.
*/
static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
[EAGAIN] = TARGET_EAGAIN,
[EIDRM] = TARGET_EIDRM,
[ECHRNG] = TARGET_ECHRNG,
[EL2NSYNC] = TARGET_EL2NSYNC,
[EL3HLT] = TARGET_EL3HLT,
[EL3RST] = TARGET_EL3RST,
[ELNRNG] = TARGET_ELNRNG,
[EUNATCH] = TARGET_EUNATCH,
[ENOCSI] = TARGET_ENOCSI,
[EL2HLT] = TARGET_EL2HLT,
[EDEADLK] = TARGET_EDEADLK,
[ENOLCK] = TARGET_ENOLCK,
[EBADE] = TARGET_EBADE,
[EBADR] = TARGET_EBADR,
[EXFULL] = TARGET_EXFULL,
[ENOANO] = TARGET_ENOANO,
[EBADRQC] = TARGET_EBADRQC,
[EBADSLT] = TARGET_EBADSLT,
[EBFONT] = TARGET_EBFONT,
[ENOSTR] = TARGET_ENOSTR,
[ENODATA] = TARGET_ENODATA,
[ETIME] = TARGET_ETIME,
[ENOSR] = TARGET_ENOSR,
[ENONET] = TARGET_ENONET,
[ENOPKG] = TARGET_ENOPKG,
[EREMOTE] = TARGET_EREMOTE,
[ENOLINK] = TARGET_ENOLINK,
[EADV] = TARGET_EADV,
[ESRMNT] = TARGET_ESRMNT,
[ECOMM] = TARGET_ECOMM,
[EPROTO] = TARGET_EPROTO,
[EDOTDOT] = TARGET_EDOTDOT,
[EMULTIHOP] = TARGET_EMULTIHOP,
[EBADMSG] = TARGET_EBADMSG,
[ENAMETOOLONG] = TARGET_ENAMETOOLONG,
[EOVERFLOW] = TARGET_EOVERFLOW,
[ENOTUNIQ] = TARGET_ENOTUNIQ,
[EBADFD] = TARGET_EBADFD,
[EREMCHG] = TARGET_EREMCHG,
[ELIBACC] = TARGET_ELIBACC,
[ELIBBAD] = TARGET_ELIBBAD,
[ELIBSCN] = TARGET_ELIBSCN,
[ELIBMAX] = TARGET_ELIBMAX,
[ELIBEXEC] = TARGET_ELIBEXEC,
[EILSEQ] = TARGET_EILSEQ,
[ENOSYS] = TARGET_ENOSYS,
[ELOOP] = TARGET_ELOOP,
[ERESTART] = TARGET_ERESTART,
[ESTRPIPE] = TARGET_ESTRPIPE,
[ENOTEMPTY] = TARGET_ENOTEMPTY,
[EUSERS] = TARGET_EUSERS,
[ENOTSOCK] = TARGET_ENOTSOCK,
[EDESTADDRREQ] = TARGET_EDESTADDRREQ,
[EMSGSIZE] = TARGET_EMSGSIZE,
[EPROTOTYPE] = TARGET_EPROTOTYPE,
[ENOPROTOOPT] = TARGET_ENOPROTOOPT,
[EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
[ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
[EOPNOTSUPP] = TARGET_EOPNOTSUPP,
[EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
[EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
[EADDRINUSE] = TARGET_EADDRINUSE,
[EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
[ENETDOWN] = TARGET_ENETDOWN,
[ENETUNREACH] = TARGET_ENETUNREACH,
[ENETRESET] = TARGET_ENETRESET,
[ECONNABORTED] = TARGET_ECONNABORTED,
[ECONNRESET] = TARGET_ECONNRESET,
[ENOBUFS] = TARGET_ENOBUFS,
[EISCONN] = TARGET_EISCONN,
[ENOTCONN] = TARGET_ENOTCONN,
[EUCLEAN] = TARGET_EUCLEAN,
[ENOTNAM] = TARGET_ENOTNAM,
[ENAVAIL] = TARGET_ENAVAIL,
[EISNAM] = TARGET_EISNAM,
[EREMOTEIO] = TARGET_EREMOTEIO,
[EDQUOT] = TARGET_EDQUOT,
[ESHUTDOWN] = TARGET_ESHUTDOWN,
[ETOOMANYREFS] = TARGET_ETOOMANYREFS,
[ETIMEDOUT] = TARGET_ETIMEDOUT,
[ECONNREFUSED] = TARGET_ECONNREFUSED,
[EHOSTDOWN] = TARGET_EHOSTDOWN,
[EHOSTUNREACH] = TARGET_EHOSTUNREACH,
[EALREADY] = TARGET_EALREADY,
[EINPROGRESS] = TARGET_EINPROGRESS,
[ESTALE] = TARGET_ESTALE,
[ECANCELED] = TARGET_ECANCELED,
[ENOMEDIUM] = TARGET_ENOMEDIUM,
[EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
#ifdef ENOKEY
[ENOKEY] = TARGET_ENOKEY,
#endif
#ifdef EKEYEXPIRED
[EKEYEXPIRED] = TARGET_EKEYEXPIRED,
#endif
#ifdef EKEYREVOKED
[EKEYREVOKED] = TARGET_EKEYREVOKED,
#endif
#ifdef EKEYREJECTED
[EKEYREJECTED] = TARGET_EKEYREJECTED,
#endif
#ifdef EOWNERDEAD
[EOWNERDEAD] = TARGET_EOWNERDEAD,
#endif
#ifdef ENOTRECOVERABLE
[ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
#endif
#ifdef ENOMSG
[ENOMSG] = TARGET_ENOMSG,
#endif
#ifdef ERKFILL
[ERFKILL] = TARGET_ERFKILL,
#endif
#ifdef EHWPOISON
[EHWPOISON] = TARGET_EHWPOISON,
#endif
};
static inline int host_to_target_errno(int err)
static inline int host_to_target_errno(int host_errno)
{
if (err >= 0 && err < ERRNO_TABLE_SIZE &&
host_to_target_errno_table[err]) {
return host_to_target_errno_table[err];
switch (host_errno) {
#define E(X) case X: return TARGET_##X;
#include "errnos.c.inc"
#undef E
default:
return host_errno;
}
return err;
}
static inline int target_to_host_errno(int err)
static inline int target_to_host_errno(int target_errno)
{
if (err >= 0 && err < ERRNO_TABLE_SIZE &&
target_to_host_errno_table[err]) {
return target_to_host_errno_table[err];
switch (target_errno) {
#define E(X) case TARGET_##X: return X;
#include "errnos.c.inc"
#undef E
default:
return target_errno;
}
return err;
}
static inline abi_long get_errno(abi_long ret)
@ -672,9 +546,6 @@ const char *target_strerror(int err)
return "Successful exit from sigreturn";
}
if ((err >= ERRNO_TABLE_SIZE) || (err < 0)) {
return NULL;
}
return strerror(target_to_host_errno(err));
}
@ -7102,7 +6973,6 @@ void syscall_init(void)
IOCTLEntry *ie;
const argtype *arg_type;
int size;
int i;
thunk_init(STRUCT_MAX);
@ -7112,12 +6982,6 @@ void syscall_init(void)
#undef STRUCT
#undef STRUCT_SPECIAL
/* Build target_to_host_errno_table[] table from
* host_to_target_errno_table[]. */
for (i = 0; i < ERRNO_TABLE_SIZE; i++) {
target_to_host_errno_table[host_to_target_errno_table[i]] = i;
}
/* we patch the ioctl size if necessary. We rely on the fact that
no ioctl has all the bits at '1' in the size field */
ie = ioctl_entries;

View File

@ -2751,7 +2751,7 @@ struct target_drm_i915_getparam {
#include "socket.h"
#include "errno_defs.h"
#include "target_errno_defs.h"
#define FUTEX_WAIT 0
#define FUTEX_WAKE 1

View File

@ -361,18 +361,25 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self
#
# x32-specific system call numbers start at 512 to avoid cache impact
# for native 64-bit operation. The __x32_compat_sys stubs are created
# on-the-fly for compat_sys_*() compatibility system calls if X86_X32
# is defined.
# Due to a historical design error, certain syscalls are numbered differently
# in x32 as compared to native x86_64. These syscalls have numbers 512-547.
# Do not add new syscalls to this range. Numbers 548 and above are available
# for non-x32 use.
#
512 x32 rt_sigaction compat_sys_rt_sigaction
513 x32 rt_sigreturn compat_sys_x32_rt_sigreturn
514 x32 ioctl compat_sys_ioctl
515 x32 readv compat_sys_readv
516 x32 writev compat_sys_writev
515 x32 readv sys_readv
516 x32 writev sys_writev
517 x32 recvfrom compat_sys_recvfrom
518 x32 sendmsg compat_sys_sendmsg
519 x32 recvmsg compat_sys_recvmsg
@ -388,15 +395,15 @@
529 x32 waitid compat_sys_waitid
530 x32 set_robust_list compat_sys_set_robust_list
531 x32 get_robust_list compat_sys_get_robust_list
532 x32 vmsplice compat_sys_vmsplice
532 x32 vmsplice sys_vmsplice
533 x32 move_pages compat_sys_move_pages
534 x32 preadv compat_sys_preadv64
535 x32 pwritev compat_sys_pwritev64
536 x32 rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
537 x32 recvmmsg compat_sys_recvmmsg_time64
538 x32 sendmmsg compat_sys_sendmmsg
539 x32 process_vm_readv compat_sys_process_vm_readv
540 x32 process_vm_writev compat_sys_process_vm_writev
539 x32 process_vm_readv sys_process_vm_readv
540 x32 process_vm_writev sys_process_vm_writev
541 x32 setsockopt sys_setsockopt
542 x32 getsockopt sys_getsockopt
543 x32 io_setup compat_sys_io_setup
@ -404,3 +411,5 @@
545 x32 execveat compat_sys_execveat
546 x32 preadv2 compat_sys_preadv64v2
547 x32 pwritev2 compat_sys_pwritev64v2
# This is the end of the legacy x32 range. Numbers 548 and above are
# not special and are not to be used for x32-specific syscalls.

View File

@ -0,0 +1,7 @@
#ifndef X86_64_TARGET_ERRNO_DEFS_H
#define X86_64_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -410,3 +410,10 @@
437 common openat2 sys_openat2
438 common pidfd_getfd sys_pidfd_getfd
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
442 common mount_setattr sys_mount_setattr
# 443 reserved for quotactl_path
444 common landlock_create_ruleset sys_landlock_create_ruleset
445 common landlock_add_rule sys_landlock_add_rule
446 common landlock_restrict_self sys_landlock_restrict_self

View File

@ -0,0 +1,7 @@
#ifndef XTENSA_TARGET_ERRNO_DEFS_H
#define XTENSA_TARGET_ERRNO_DEFS_H
/* Target uses generic errno */
#include "../generic/target_errno_defs.h"
#endif

View File

@ -1,9 +1,9 @@
#!/bin/sh
URL=https://raw.githubusercontent.com/strace/strace/master
URL=https://raw.githubusercontent.com/strace/strace/master/src
FILES="sysent.h sysent_shorthand_defs.h linux/mips/syscallent-compat.h \
linux/mips/syscallent-o32.h linux/syscallent-common-32.h \
linux/syscallent-common.h"
linux/mips/syscallent-o32.h linux/32/syscallent-common-32.h \
linux/generic/syscallent-common.h"
output="$1"
if [ "$output" = "" ] ; then
@ -16,10 +16,11 @@ TMP=$(mktemp -d)
cd $TMP
for file in $FILES; do
curl -O $URL/$file
curl --create-dirs $URL/$file -o $TMP/$file
done
> subcall32.h
> linux/generic/subcallent.h
> linux/32/subcallent.h
cat > gen_mips_o32.c <<EOF
#include <stdio.h>
@ -52,6 +53,6 @@ int main(void)
}
EOF
cc -o gen_mips_o32 gen_mips_o32.c && ./gen_mips_o32 > "$output/$INC"
cc -o gen_mips_o32 -I linux/mips -I linux/generic gen_mips_o32.c && ./gen_mips_o32 > "$output/$INC"
rm -fr "$TMP"