1#ifndef _PARISC_PTRACE_H
2#define _PARISC_PTRACE_H
3
4
5
6
7
8#include <linux/types.h>
9
10
11
12
13struct pt_regs {
14 unsigned long gr[32];
15 __u64 fr[32];
16 unsigned long sr[ 8];
17 unsigned long iasq[2];
18 unsigned long iaoq[2];
19 unsigned long cr24;
20 unsigned long cr25;
21 unsigned long cr26;
22 unsigned long cr27;
23 unsigned long cr30;
24 unsigned long orig_r28;
25 unsigned long ksp;
26 unsigned long kpc;
27 unsigned long sar;
28 unsigned long iir;
29 unsigned long isr;
30 unsigned long ior;
31 unsigned long ipsw;
32 unsigned long cr_pid[4];
33};
34
35#define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS))
36
37
38
39
40
41
42
43
44#define PTRACE_SINGLEBLOCK 12
45#define PTRACE_GETSIGINFO 13
46#define PTRACE_SETSIGINFO 14
47
48#ifdef __KERNEL__
49
50
51#define user_mode(regs) (((regs)->iaoq[0] & 3) ? 1 : 0)
52#define instruction_pointer(regs) ((regs)->iaoq[0] & ~3)
53extern void show_regs(struct pt_regs *);
54#endif
55
56#endif
57