13622634bSMarkus Armbruster #ifndef SPARC_TARGET_SYSCALL_H 23622634bSMarkus Armbruster #define SPARC_TARGET_SYSCALL_H 3460c579fSLluís Vilanova 405623849SLaurent Vivier #include "target_errno.h" 505623849SLaurent Vivier 67a3f1944Sbellard struct target_pt_regs { 7992f48a0Sblueswir1 abi_ulong psr; 8992f48a0Sblueswir1 abi_ulong pc; 9992f48a0Sblueswir1 abi_ulong npc; 10992f48a0Sblueswir1 abi_ulong y; 11992f48a0Sblueswir1 abi_ulong u_regs[16]; 127a3f1944Sbellard }; 13cf720db3Sbellard 149a93c152SLaurent Vivier #define UNAME_MACHINE "sparc" 15cbc14e6fSRiku Voipio #define UNAME_MINIMUM_RELEASE "2.6.32" 164ce6243dSPeter Maydell 174ce6243dSPeter Maydell /* SPARC kernels don't define this in their Kconfig, but they have the 184ce6243dSPeter Maydell * same ABI as if they did, implemented by sparc-specific code which fishes 194ce6243dSPeter Maydell * directly in the u_regs() struct for half the parameters in sparc_do_fork() 204ce6243dSPeter Maydell * and copy_thread(). 214ce6243dSPeter Maydell */ 224ce6243dSPeter Maydell #define TARGET_CLONE_BACKWARDS 230903c8beSTom Musta #define TARGET_MINSIGSTKSZ 4096 24*02e5d7d7SFilip Bozuta #define TARGET_MCL_CURRENT 0x2000 25*02e5d7d7SFilip Bozuta #define TARGET_MCL_FUTURE 0x4000 26*02e5d7d7SFilip Bozuta #define TARGET_MCL_ONFAULT 0x8000 27460c579fSLluís Vilanova 28ee8e7614SPeter Maydell /* For SPARC SHMLBA is determined at runtime in the kernel, and 29ee8e7614SPeter Maydell * libc has to runtime-detect it using the hwcaps (see glibc 30ee8e7614SPeter Maydell * sysdeps/unix/sysv/linux/sparc/getshmlba; we follow the same 31ee8e7614SPeter Maydell * logic here, though we know we're not the sparc v9 64-bit case). 32ee8e7614SPeter Maydell */ 33ee8e7614SPeter Maydell #define TARGET_FORCE_SHMLBA 34ee8e7614SPeter Maydell 35ee8e7614SPeter Maydell static inline abi_ulong target_shmlba(CPUSPARCState *env) 36ee8e7614SPeter Maydell { 37576e1c4cSIgor Mammedov if (!(env->def.features & CPU_FEATURE_FLUSH)) { 38ee8e7614SPeter Maydell return 64 * 1024; 39ee8e7614SPeter Maydell } else { 40ee8e7614SPeter Maydell return 256 * 1024; 41ee8e7614SPeter Maydell } 42ee8e7614SPeter Maydell } 43ee8e7614SPeter Maydell 443622634bSMarkus Armbruster #endif /* SPARC_TARGET_SYSCALL_H */ 45