blob: 70571629b0c19638ad5a0dbdcbc96d57ab9cd288 [file] [log] [blame]
Nicholas Flintham9fafe902014-03-31 13:51:31 +01001#ifndef _ASMAXP_PTRACE_H
2#define _ASMAXP_PTRACE_H
3
4
5
6struct pt_regs {
7 unsigned long r0;
8 unsigned long r1;
9 unsigned long r2;
10 unsigned long r3;
11 unsigned long r4;
12 unsigned long r5;
13 unsigned long r6;
14 unsigned long r7;
15 unsigned long r8;
16 unsigned long r19;
17 unsigned long r20;
18 unsigned long r21;
19 unsigned long r22;
20 unsigned long r23;
21 unsigned long r24;
22 unsigned long r25;
23 unsigned long r26;
24 unsigned long r27;
25 unsigned long r28;
26 unsigned long hae;
27 unsigned long trap_a0;
28 unsigned long trap_a1;
29 unsigned long trap_a2;
30 unsigned long ps;
31 unsigned long pc;
32 unsigned long gp;
33 unsigned long r16;
34 unsigned long r17;
35 unsigned long r18;
36};
37
38struct switch_stack {
39 unsigned long r9;
40 unsigned long r10;
41 unsigned long r11;
42 unsigned long r12;
43 unsigned long r13;
44 unsigned long r14;
45 unsigned long r15;
46 unsigned long r26;
47 unsigned long fp[32];
48};
49
50#ifdef __KERNEL__
51
52#define arch_has_single_step() (1)
53#define user_mode(regs) (((regs)->ps & 8) != 0)
54#define instruction_pointer(regs) ((regs)->pc)
55#define profile_pc(regs) instruction_pointer(regs)
56
57#define task_pt_regs(task) \
58 ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
59
60#define force_successful_syscall_return() (task_pt_regs(current)->r0 = 0)
61
62#endif
63
64#endif