| 
									
										
										
										
											2016-06-29 10:47:26 +02:00
										 |  |  | #ifndef SPARC_TARGET_SYSCALL_H
 | 
					
						
							|  |  |  | #define SPARC_TARGET_SYSCALL_H
 | 
					
						
							| 
									
										
										
										
											2016-02-01 19:38:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-10 01:11:22 +02:00
										 |  |  | #include "target_errno.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-09-30 20:36:07 +00:00
										 |  |  | struct target_pt_regs { | 
					
						
							| 
									
										
										
										
											2007-10-14 16:27:31 +00:00
										 |  |  | 	abi_ulong psr; | 
					
						
							|  |  |  | 	abi_ulong pc; | 
					
						
							|  |  |  | 	abi_ulong npc; | 
					
						
							|  |  |  | 	abi_ulong y; | 
					
						
							|  |  |  | 	abi_ulong u_regs[16]; | 
					
						
							| 
									
										
										
										
											2003-09-30 20:36:07 +00:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2004-09-13 21:41:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-10 01:11:23 +02:00
										 |  |  | #define UNAME_MACHINE "sparc"
 | 
					
						
							| 
									
										
										
										
											2014-02-19 14:50:41 +02:00
										 |  |  | #define UNAME_MINIMUM_RELEASE "2.6.32"
 | 
					
						
							| 
									
										
										
										
											2013-07-16 18:44:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* 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(). | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define TARGET_CLONE_BACKWARDS
 | 
					
						
							| 
									
										
										
										
											2014-08-12 13:53:40 -05:00
										 |  |  | #define TARGET_MINSIGSTKSZ      4096
 | 
					
						
							| 
									
										
										
										
											2020-08-11 18:45:51 +02:00
										 |  |  | #define TARGET_MCL_CURRENT 0x2000
 | 
					
						
							|  |  |  | #define TARGET_MCL_FUTURE  0x4000
 | 
					
						
							|  |  |  | #define TARGET_MCL_ONFAULT 0x8000
 | 
					
						
							| 
									
										
										
										
											2016-02-01 19:38:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-11 16:48:11 +01:00
										 |  |  | /* 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). | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define TARGET_FORCE_SHMLBA
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline abi_ulong target_shmlba(CPUSPARCState *env) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-08-24 18:31:26 +02:00
										 |  |  |     if (!(env->def.features & CPU_FEATURE_FLUSH)) { | 
					
						
							| 
									
										
										
										
											2016-07-11 16:48:11 +01:00
										 |  |  |         return 64 * 1024; | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         return 256 * 1024; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-29 10:47:26 +02:00
										 |  |  | #endif /* SPARC_TARGET_SYSCALL_H */
 |