| 
									
										
										
										
											2018-03-03 01:31:11 +13:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * This struct defines the way the registers are stored on the | 
					
						
							|  |  |  |  *  stack during a system call. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Reference: linux/arch/riscv/include/uapi/asm/ptrace.h | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-04 20:16:18 +02:00
										 |  |  | #ifndef LINUX_USER_RISCV_TARGET_SYSCALL_H
 | 
					
						
							|  |  |  | #define LINUX_USER_RISCV_TARGET_SYSCALL_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-03 01:31:11 +13:00
										 |  |  | struct target_pt_regs { | 
					
						
							|  |  |  |     abi_long sepc; | 
					
						
							|  |  |  |     abi_long ra; | 
					
						
							|  |  |  |     abi_long sp; | 
					
						
							|  |  |  |     abi_long gp; | 
					
						
							|  |  |  |     abi_long tp; | 
					
						
							|  |  |  |     abi_long t0; | 
					
						
							|  |  |  |     abi_long t1; | 
					
						
							|  |  |  |     abi_long t2; | 
					
						
							|  |  |  |     abi_long s0; | 
					
						
							|  |  |  |     abi_long s1; | 
					
						
							|  |  |  |     abi_long a0; | 
					
						
							|  |  |  |     abi_long a1; | 
					
						
							|  |  |  |     abi_long a2; | 
					
						
							|  |  |  |     abi_long a3; | 
					
						
							|  |  |  |     abi_long a4; | 
					
						
							|  |  |  |     abi_long a5; | 
					
						
							|  |  |  |     abi_long a6; | 
					
						
							|  |  |  |     abi_long a7; | 
					
						
							|  |  |  |     abi_long s2; | 
					
						
							|  |  |  |     abi_long s3; | 
					
						
							|  |  |  |     abi_long s4; | 
					
						
							|  |  |  |     abi_long s5; | 
					
						
							|  |  |  |     abi_long s6; | 
					
						
							|  |  |  |     abi_long s7; | 
					
						
							|  |  |  |     abi_long s8; | 
					
						
							|  |  |  |     abi_long s9; | 
					
						
							|  |  |  |     abi_long s10; | 
					
						
							|  |  |  |     abi_long s11; | 
					
						
							|  |  |  |     abi_long t3; | 
					
						
							|  |  |  |     abi_long t4; | 
					
						
							|  |  |  |     abi_long t5; | 
					
						
							|  |  |  |     abi_long t6; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef TARGET_RISCV32
 | 
					
						
							|  |  |  | #define UNAME_MACHINE "riscv32"
 | 
					
						
							| 
									
										
										
										
											2021-12-15 23:31:11 -08:00
										 |  |  | #define UNAME_MINIMUM_RELEASE "5.4.0"
 | 
					
						
							| 
									
										
										
										
											2018-03-03 01:31:11 +13:00
										 |  |  | #else
 | 
					
						
							|  |  |  | #define UNAME_MACHINE "riscv64"
 | 
					
						
							| 
									
										
										
										
											2018-04-25 11:02:18 +01:00
										 |  |  | #define UNAME_MINIMUM_RELEASE "4.15.0"
 | 
					
						
							| 
									
										
										
										
											2021-12-15 23:31:11 -08:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2018-03-03 01:31:11 +13:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-11 18:45:51 +02:00
										 |  |  | #define TARGET_MCL_CURRENT 1
 | 
					
						
							|  |  |  | #define TARGET_MCL_FUTURE  2
 | 
					
						
							|  |  |  | #define TARGET_MCL_ONFAULT 4
 | 
					
						
							| 
									
										
										
										
											2018-03-03 01:31:11 +13:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* clone(flags, newsp, ptidptr, tls, ctidptr) for RISC-V */ | 
					
						
							|  |  |  | /* This comes from linux/kernel/fork.c, CONFIG_CLONE_BACKWARDS */ | 
					
						
							|  |  |  | #define TARGET_CLONE_BACKWARDS
 | 
					
						
							| 
									
										
										
										
											2019-06-04 20:16:18 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |