/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1#ifndef _UAPI__ASM_SH_PTRACE_32_H2#define _UAPI__ASM_SH_PTRACE_32_H34/*5* GCC defines register number like this:6* -----------------------------7* 0 - 15 are integer registers8* 17 - 22 are control/special registers9* 24 - 39 fp registers10* 40 - 47 xd registers11* 48 - fpscr register12* -----------------------------13*14* We follows above, except:15* 16 --- program counter (PC)16* 22 --- syscall #17* 23 --- floating point communication register18*/19#define REG_REG0 020#define REG_REG15 152122#define REG_PC 162324#define REG_PR 1725#define REG_SR 1826#define REG_GBR 1927#define REG_MACH 2028#define REG_MACL 212930#define REG_SYSCALL 223132#define REG_FPREG0 2333#define REG_FPREG15 3834#define REG_XFREG0 3935#define REG_XFREG15 543637#define REG_FPSCR 5538#define REG_FPUL 563940/*41* This struct defines the way the registers are stored on the42* kernel stack during a system call or other kernel entry.43*/44struct pt_regs {45unsigned long regs[16];46unsigned long pc;47unsigned long pr;48unsigned long sr;49unsigned long gbr;50unsigned long mach;51unsigned long macl;52long tra;53};5455/*56* This struct defines the way the DSP registers are stored on the57* kernel stack during a system call or other kernel entry.58*/59struct pt_dspregs {60unsigned long a1;61unsigned long a0g;62unsigned long a1g;63unsigned long m0;64unsigned long m1;65unsigned long a0;66unsigned long x0;67unsigned long x1;68unsigned long y0;69unsigned long y1;70unsigned long dsr;71unsigned long rs;72unsigned long re;73unsigned long mod;74};757677#endif /* _UAPI__ASM_SH_PTRACE_32_H */787980