diff options
Diffstat (limited to 'arch/mips/include/uapi/asm/ptrace.h')
-rw-r--r-- | arch/mips/include/uapi/asm/ptrace.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/arch/mips/include/uapi/asm/ptrace.h b/arch/mips/include/uapi/asm/ptrace.h index b26f7e317279..bbcfb8ba8106 100644 --- a/arch/mips/include/uapi/asm/ptrace.h +++ b/arch/mips/include/uapi/asm/ptrace.h | |||
@@ -22,24 +22,27 @@ | |||
22 | #define DSP_CONTROL 77 | 22 | #define DSP_CONTROL 77 |
23 | #define ACX 78 | 23 | #define ACX 78 |
24 | 24 | ||
25 | #ifndef __KERNEL__ | ||
26 | /* | 25 | /* |
27 | * This struct defines the way the registers are stored on the stack during a | 26 | * This struct defines the registers as used by PTRACE_{GET,SET}REGS. The |
28 | * system call/exception. As usual the registers k0/k1 aren't being saved. | 27 | * format is the same for both 32- and 64-bit processes. Registers for 32-bit |
28 | * processes are sign extended. | ||
29 | */ | 29 | */ |
30 | #ifdef __KERNEL__ | ||
31 | struct user_pt_regs { | ||
32 | #else | ||
30 | struct pt_regs { | 33 | struct pt_regs { |
34 | #endif | ||
31 | /* Saved main processor registers. */ | 35 | /* Saved main processor registers. */ |
32 | unsigned long regs[32]; | 36 | __u64 regs[32]; |
33 | 37 | ||
34 | /* Saved special registers. */ | 38 | /* Saved special registers. */ |
35 | unsigned long cp0_status; | 39 | __u64 lo; |
36 | unsigned long hi; | 40 | __u64 hi; |
37 | unsigned long lo; | 41 | __u64 cp0_epc; |
38 | unsigned long cp0_badvaddr; | 42 | __u64 cp0_badvaddr; |
39 | unsigned long cp0_cause; | 43 | __u64 cp0_status; |
40 | unsigned long cp0_epc; | 44 | __u64 cp0_cause; |
41 | } __attribute__ ((aligned (8))); | 45 | } __attribute__ ((aligned (8))); |
42 | #endif /* __KERNEL__ */ | ||
43 | 46 | ||
44 | /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ | 47 | /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ |
45 | #define PTRACE_GETREGS 12 | 48 | #define PTRACE_GETREGS 12 |