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_MLOCKALL_MCL_CURRENT 0x2000
26 #define TARGET_MLOCKALL_MCL_FUTURE  0x4000
27 
28 #define TARGET_FORCE_SHMLBA
29 
target_shmlba(CPUSPARCState * env)30 static inline abi_ulong target_shmlba(CPUSPARCState *env)
31 {
32     return MAX(TARGET_PAGE_SIZE, 16 * 1024);
33 }
34 #endif /* SPARC64_TARGET_SYSCALL_H */
35