diff options
author | Peter Maydell | 2021-05-18 17:17:22 +0200 |
---|---|---|
committer | Peter Maydell | 2021-05-18 17:17:22 +0200 |
commit | c313e52e6459de2e9064767083a0c949c476e32b (patch) | |
tree | 9bf8c4a6927fe0c714c06c5e4967e0501a1ca335 /linux-user/sparc/target_syscall.h | |
parent | Merge remote-tracking branch 'remotes/nvme/tags/nvme-next-pull-request' into ... (diff) | |
parent | linux-user/elfload: add s390x core dumping support (diff) | |
download | qemu-c313e52e6459de2e9064767083a0c949c476e32b.tar.gz qemu-c313e52e6459de2e9064767083a0c949c476e32b.tar.xz qemu-c313e52e6459de2e9064767083a0c949c476e32b.zip |
Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-6.1-pull-request' into staging
linux-user pull request 20210517
- alpha sigaction fixes/cleanups
- s390x sigaction fixes/cleanup
- sparc sigaction fixes/cleanup
- s390x core dumping support
- core dump fix (app name)
- arm fpa11 fix and cleanup
- strace fixes (unshare(), llseek())
- fix copy_file_range()
- use GDateTime
- Remove dead code
# gpg: Signature made Tue 18 May 2021 06:31:12 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: (59 commits)
linux-user/elfload: add s390x core dumping support
linux-user/elfload: fix filling psinfo->pr_psargs
linux-user: Tidy TARGET_NR_rt_sigaction
linux-user/alpha: Share code for TARGET_NR_sigaction
linux-user/alpha: Define TARGET_ARCH_HAS_KA_RESTORER
linux-user: Honor TARGET_ARCH_HAS_SA_RESTORER in do_syscall
linux-user: Pass ka_restorer to do_sigaction
linux-user/alpha: Rename the sigaction restorer field
linux-user/alpha: Fix rt sigframe return
linux-user: use GDateTime for formatting timestamp for core file
linux-user: Fix erroneous conversion in copy_file_range
linux-user: Add copy_file_range to strace.list
linux-user/s390x: Handle vector regs in signal stack
linux-user/s390x: Clean up signal.c
linux-user/s390x: Add build asserts for sigset sizes
linux-user/s390x: Fix frame_addr corruption in setup_frame
linux-user/s390x: Add stub sigframe argument for last_break
linux-user/s390x: Set psw.mask properly for the signal handler
linux-user/s390x: Clean up single-use gotos in signal.c
linux-user/s390x: Tidy save_sigregs
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'linux-user/sparc/target_syscall.h')
-rw-r--r-- | linux-user/sparc/target_syscall.h | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h index d8ea04ea83..15d531f389 100644 --- a/linux-user/sparc/target_syscall.h +++ b/linux-user/sparc/target_syscall.h @@ -3,18 +3,34 @@ #include "target_errno.h" +#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) struct target_pt_regs { - abi_ulong psr; - abi_ulong pc; - abi_ulong npc; - abi_ulong y; - abi_ulong u_regs[16]; + abi_ulong u_regs[16]; + abi_ulong tstate; + abi_ulong pc; + abi_ulong npc; + uint32_t y; + uint32_t magic; }; +#else +struct target_pt_regs { + abi_ulong psr; + abi_ulong pc; + abi_ulong npc; + abi_ulong y; + abi_ulong u_regs[16]; +}; +#endif -#define UNAME_MACHINE "sparc" +#ifdef TARGET_SPARC64 +# define UNAME_MACHINE "sparc64" +#else +# define UNAME_MACHINE "sparc" +#endif #define UNAME_MINIMUM_RELEASE "2.6.32" -/* SPARC kernels don't define this in their Kconfig, but they have the +/* + * SPARC kernels don't define this in their Kconfig, but they have the * same ABI as if they did, implemented by sparc-specific code which fishes * directly in the u_regs() struct for half the parameters in sparc_do_fork() * and copy_thread(). @@ -25,20 +41,24 @@ struct target_pt_regs { #define TARGET_MCL_FUTURE 0x4000 #define TARGET_MCL_ONFAULT 0x8000 -/* For SPARC SHMLBA is determined at runtime in the kernel, and - * libc has to runtime-detect it using the hwcaps (see glibc - * sysdeps/unix/sysv/linux/sparc/getshmlba; we follow the same - * logic here, though we know we're not the sparc v9 64-bit case). +/* + * For SPARC SHMLBA is determined at runtime in the kernel, and + * libc has to runtime-detect it using the hwcaps. + * See glibc sysdeps/unix/sysv/linux/sparc/getshmlba. */ #define TARGET_FORCE_SHMLBA static inline abi_ulong target_shmlba(CPUSPARCState *env) { +#ifdef TARGET_SPARC64 + return MAX(TARGET_PAGE_SIZE, 16 * 1024); +#else if (!(env->def.features & CPU_FEATURE_FLUSH)) { return 64 * 1024; } else { return 256 * 1024; } +#endif } #endif /* SPARC_TARGET_SYSCALL_H */ |