Merge remote-tracking branch 'remotes/aperard/tags/pull-xen-20201020' into staging
[qemu.git] / linux-user / sparc64 / target_syscall.h
1 #ifndef SPARC64_TARGET_SYSCALL_H
2 #define SPARC64_TARGET_SYSCALL_H
3
4 #include "../sparc/target_errno.h"
5
6 struct target_pt_regs {
7 abi_ulong u_regs[16];
8 abi_ulong tstate;
9 abi_ulong pc;
10 abi_ulong npc;
11 abi_ulong y;
12 abi_ulong fprs;
13 };
14
15 #define UNAME_MACHINE "sparc64"
16 #define UNAME_MINIMUM_RELEASE "2.6.32"
17
18 /* SPARC kernels don't define this in their Kconfig, but they have the
19 * same ABI as if they did, implemented by sparc-specific code which fishes
20 * directly in the u_regs() struct for half the parameters in sparc_do_fork()
21 * and copy_thread().
22 */
23 #define TARGET_CLONE_BACKWARDS
24 #define TARGET_MINSIGSTKSZ 4096
25 #define TARGET_MCL_CURRENT 0x2000
26 #define TARGET_MCL_FUTURE 0x4000
27 #define TARGET_MCL_ONFAULT 0x8000
28
29 #define TARGET_FORCE_SHMLBA
30
31 static inline abi_ulong target_shmlba(CPUSPARCState *env)
32 {
33 return MAX(TARGET_PAGE_SIZE, 16 * 1024);
34 }
35 #endif /* SPARC64_TARGET_SYSCALL_H */