1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun #ifndef _UAPI_H8300_PTRACE_H 3*4882a593Smuzhiyun #define _UAPI_H8300_PTRACE_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define PT_ER1 0 8*4882a593Smuzhiyun #define PT_ER2 1 9*4882a593Smuzhiyun #define PT_ER3 2 10*4882a593Smuzhiyun #define PT_ER4 3 11*4882a593Smuzhiyun #define PT_ER5 4 12*4882a593Smuzhiyun #define PT_ER6 5 13*4882a593Smuzhiyun #define PT_ER0 6 14*4882a593Smuzhiyun #define PT_USP 7 15*4882a593Smuzhiyun #define PT_ORIG_ER0 8 16*4882a593Smuzhiyun #define PT_CCR 9 17*4882a593Smuzhiyun #define PT_PC 10 18*4882a593Smuzhiyun #define PT_EXR 11 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* this struct defines the way the registers are stored on the 21*4882a593Smuzhiyun stack during a system call. */ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun struct pt_regs { 24*4882a593Smuzhiyun long retpc; 25*4882a593Smuzhiyun long er4; 26*4882a593Smuzhiyun long er5; 27*4882a593Smuzhiyun long er6; 28*4882a593Smuzhiyun long er3; 29*4882a593Smuzhiyun long er2; 30*4882a593Smuzhiyun long er1; 31*4882a593Smuzhiyun long orig_er0; 32*4882a593Smuzhiyun long sp; 33*4882a593Smuzhiyun unsigned short ccr; 34*4882a593Smuzhiyun long er0; 35*4882a593Smuzhiyun long vector; 36*4882a593Smuzhiyun #if defined(__H8300S__) 37*4882a593Smuzhiyun unsigned short exr; 38*4882a593Smuzhiyun #endif 39*4882a593Smuzhiyun unsigned long pc; 40*4882a593Smuzhiyun } __attribute__((aligned(2), packed)); 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 43*4882a593Smuzhiyun #endif /* _UAPI_H8300_PTRACE_H */ 44