1*386561f8SAndrew Jones /* SPDX-License-Identifier: GPL-2.0-only */ 2*386561f8SAndrew Jones #ifndef _ASMRISCV_PTRACE_H_ 3*386561f8SAndrew Jones #define _ASMRISCV_PTRACE_H_ 4*386561f8SAndrew Jones 5*386561f8SAndrew Jones struct pt_regs { 6*386561f8SAndrew Jones unsigned long epc; 7*386561f8SAndrew Jones unsigned long ra; 8*386561f8SAndrew Jones unsigned long sp; 9*386561f8SAndrew Jones unsigned long gp; 10*386561f8SAndrew Jones unsigned long tp; 11*386561f8SAndrew Jones unsigned long t0; 12*386561f8SAndrew Jones unsigned long t1; 13*386561f8SAndrew Jones unsigned long t2; 14*386561f8SAndrew Jones unsigned long s0; 15*386561f8SAndrew Jones unsigned long s1; 16*386561f8SAndrew Jones unsigned long a0; 17*386561f8SAndrew Jones unsigned long a1; 18*386561f8SAndrew Jones unsigned long a2; 19*386561f8SAndrew Jones unsigned long a3; 20*386561f8SAndrew Jones unsigned long a4; 21*386561f8SAndrew Jones unsigned long a5; 22*386561f8SAndrew Jones unsigned long a6; 23*386561f8SAndrew Jones unsigned long a7; 24*386561f8SAndrew Jones unsigned long s2; 25*386561f8SAndrew Jones unsigned long s3; 26*386561f8SAndrew Jones unsigned long s4; 27*386561f8SAndrew Jones unsigned long s5; 28*386561f8SAndrew Jones unsigned long s6; 29*386561f8SAndrew Jones unsigned long s7; 30*386561f8SAndrew Jones unsigned long s8; 31*386561f8SAndrew Jones unsigned long s9; 32*386561f8SAndrew Jones unsigned long s10; 33*386561f8SAndrew Jones unsigned long s11; 34*386561f8SAndrew Jones unsigned long t3; 35*386561f8SAndrew Jones unsigned long t4; 36*386561f8SAndrew Jones unsigned long t5; 37*386561f8SAndrew Jones unsigned long t6; 38*386561f8SAndrew Jones /* Supervisor/Machine CSRs */ 39*386561f8SAndrew Jones unsigned long status; 40*386561f8SAndrew Jones unsigned long badaddr; 41*386561f8SAndrew Jones unsigned long cause; 42*386561f8SAndrew Jones /* a0 value before the syscall */ 43*386561f8SAndrew Jones unsigned long orig_a0; 44*386561f8SAndrew Jones }; 45*386561f8SAndrew Jones 46*386561f8SAndrew Jones #endif /* _ASMRISCV_PTRACE_H_ */ 47