|
@@ -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);
|