diff options
Diffstat (limited to 'arch/mips/include/asm/ptrace.h')
| -rw-r--r-- | arch/mips/include/asm/ptrace.h | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h index a3186f2bb8a..5e6cd094739 100644 --- a/arch/mips/include/asm/ptrace.h +++ b/arch/mips/include/asm/ptrace.h @@ -16,6 +16,38 @@  #include <asm/isadep.h>  #include <uapi/asm/ptrace.h> +/* + * This struct defines the way the registers are stored on the stack during a + * system call/exception. As usual the registers k0/k1 aren't being saved. + */ +struct pt_regs { +#ifdef CONFIG_32BIT +	/* Pad bytes for argument save space on the stack. */ +	unsigned long pad0[6]; +#endif + +	/* Saved main processor registers. */ +	unsigned long regs[32]; + +	/* Saved special registers. */ +	unsigned long cp0_status; +	unsigned long hi; +	unsigned long lo; +#ifdef CONFIG_CPU_HAS_SMARTMIPS +	unsigned long acx; +#endif +	unsigned long cp0_badvaddr; +	unsigned long cp0_cause; +	unsigned long cp0_epc; +#ifdef CONFIG_MIPS_MT_SMTC +	unsigned long cp0_tcstatus; +#endif /* CONFIG_MIPS_MT_SMTC */ +#ifdef CONFIG_CPU_CAVIUM_OCTEON +	unsigned long long mpl[3];	  /* MTM{0,1,2} */ +	unsigned long long mtp[3];	  /* MTP{0,1,2} */ +#endif +} __aligned(8); +  struct task_struct;  extern int ptrace_getregs(struct task_struct *child, __s64 __user *data);  |