13622634bSMarkus Armbruster #ifndef SPARC_TARGET_SYSCALL_H 23622634bSMarkus Armbruster #define SPARC_TARGET_SYSCALL_H 3460c579fSLluís Vilanova 47a3f1944Sbellard struct target_pt_regs { 5992f48a0Sblueswir1 abi_ulong psr; 6992f48a0Sblueswir1 abi_ulong pc; 7992f48a0Sblueswir1 abi_ulong npc; 8992f48a0Sblueswir1 abi_ulong y; 9992f48a0Sblueswir1 abi_ulong u_regs[16]; 107a3f1944Sbellard }; 11cf720db3Sbellard 12cf720db3Sbellard #define UNAME_MACHINE "sun4" 13cbc14e6fSRiku Voipio #define UNAME_MINIMUM_RELEASE "2.6.32" 144ce6243dSPeter Maydell 154ce6243dSPeter Maydell /* SPARC kernels don't define this in their Kconfig, but they have the 164ce6243dSPeter Maydell * same ABI as if they did, implemented by sparc-specific code which fishes 174ce6243dSPeter Maydell * directly in the u_regs() struct for half the parameters in sparc_do_fork() 184ce6243dSPeter Maydell * and copy_thread(). 194ce6243dSPeter Maydell */ 204ce6243dSPeter Maydell #define TARGET_CLONE_BACKWARDS 210903c8beSTom Musta #define TARGET_MINSIGSTKSZ 4096 226f6a4032STom Musta #define TARGET_MLOCKALL_MCL_CURRENT 0x2000 236f6a4032STom Musta #define TARGET_MLOCKALL_MCL_FUTURE 0x4000 24460c579fSLluís Vilanova 25*ee8e7614SPeter Maydell /* For SPARC SHMLBA is determined at runtime in the kernel, and 26*ee8e7614SPeter Maydell * libc has to runtime-detect it using the hwcaps (see glibc 27*ee8e7614SPeter Maydell * sysdeps/unix/sysv/linux/sparc/getshmlba; we follow the same 28*ee8e7614SPeter Maydell * logic here, though we know we're not the sparc v9 64-bit case). 29*ee8e7614SPeter Maydell */ 30*ee8e7614SPeter Maydell #define TARGET_FORCE_SHMLBA 31*ee8e7614SPeter Maydell 32*ee8e7614SPeter Maydell static inline abi_ulong target_shmlba(CPUSPARCState *env) 33*ee8e7614SPeter Maydell { 34*ee8e7614SPeter Maydell if (!(env->def->features & CPU_FEATURE_FLUSH)) { 35*ee8e7614SPeter Maydell return 64 * 1024; 36*ee8e7614SPeter Maydell } else { 37*ee8e7614SPeter Maydell return 256 * 1024; 38*ee8e7614SPeter Maydell } 39*ee8e7614SPeter Maydell } 40*ee8e7614SPeter Maydell 413622634bSMarkus Armbruster #endif /* SPARC_TARGET_SYSCALL_H */ 42