1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #ifndef _CSKY_PTRACE_H 5*4882a593Smuzhiyun #define _CSKY_PTRACE_H 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun struct pt_regs { 10*4882a593Smuzhiyun unsigned long tls; 11*4882a593Smuzhiyun unsigned long lr; 12*4882a593Smuzhiyun unsigned long pc; 13*4882a593Smuzhiyun unsigned long sr; 14*4882a593Smuzhiyun unsigned long usp; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* 17*4882a593Smuzhiyun * a0, a1, a2, a3: 18*4882a593Smuzhiyun * abiv1: r2, r3, r4, r5 19*4882a593Smuzhiyun * abiv2: r0, r1, r2, r3 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun unsigned long orig_a0; 22*4882a593Smuzhiyun unsigned long a0; 23*4882a593Smuzhiyun unsigned long a1; 24*4882a593Smuzhiyun unsigned long a2; 25*4882a593Smuzhiyun unsigned long a3; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* 28*4882a593Smuzhiyun * ABIV2: r4 ~ r13 29*4882a593Smuzhiyun * ABIV1: r6 ~ r14, r1 30*4882a593Smuzhiyun */ 31*4882a593Smuzhiyun unsigned long regs[10]; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #if defined(__CSKYABIV2__) 34*4882a593Smuzhiyun /* r16 ~ r30 */ 35*4882a593Smuzhiyun unsigned long exregs[15]; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun unsigned long rhi; 38*4882a593Smuzhiyun unsigned long rlo; 39*4882a593Smuzhiyun unsigned long dcsr; 40*4882a593Smuzhiyun #endif 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun struct user_fp { 44*4882a593Smuzhiyun unsigned long vr[96]; 45*4882a593Smuzhiyun unsigned long fcr; 46*4882a593Smuzhiyun unsigned long fesr; 47*4882a593Smuzhiyun unsigned long fid; 48*4882a593Smuzhiyun unsigned long reserved; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 52*4882a593Smuzhiyun #endif /* _CSKY_PTRACE_H */ 53