ptrace.h revision 96c1db7b9d601c31d103389cac074a6cce0d7633
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_ASM_PTRACE_H
20#define _UAPI_ASM_PTRACE_H
21#include <linux/types.h>
22#define FPR_BASE 32
23#define PC 64
24#define CAUSE 65
25#define BADVADDR 66
26#define MMHI 67
27#define MMLO 68
28#define FPC_CSR 69
29#define FPC_EIR 70
30#define DSP_BASE 71
31#define DSP_CONTROL 77
32#define ACX 78
33struct pt_regs {
34  __u64 regs[32];
35  __u64 lo;
36  __u64 hi;
37  __u64 cp0_epc;
38  __u64 cp0_badvaddr;
39  __u64 cp0_status;
40  __u64 cp0_cause;
41} __attribute__((aligned(8)));
42#define PTRACE_GETREGS 12
43#define PTRACE_SETREGS 13
44#define PTRACE_GETFPREGS 14
45#define PTRACE_SETFPREGS 15
46#define PTRACE_OLDSETOPTIONS 21
47#define PTRACE_GET_THREAD_AREA 25
48#define PTRACE_SET_THREAD_AREA 26
49#define PTRACE_PEEKTEXT_3264 0xc0
50#define PTRACE_PEEKDATA_3264 0xc1
51#define PTRACE_POKETEXT_3264 0xc2
52#define PTRACE_POKEDATA_3264 0xc3
53#define PTRACE_GET_THREAD_AREA_3264 0xc4
54enum pt_watch_style {
55  pt_watch_style_mips32,
56  pt_watch_style_mips64
57};
58struct mips32_watch_regs {
59  unsigned int watchlo[8];
60  unsigned short watchhi[8];
61  unsigned short watch_masks[8];
62  unsigned int num_valid;
63} __attribute__((aligned(8)));
64struct mips64_watch_regs {
65  unsigned long long watchlo[8];
66  unsigned short watchhi[8];
67  unsigned short watch_masks[8];
68  unsigned int num_valid;
69} __attribute__((aligned(8)));
70struct pt_watch_regs {
71  enum pt_watch_style style;
72  union {
73    struct mips32_watch_regs mips32;
74    struct mips64_watch_regs mips64;
75  };
76};
77#define PTRACE_GET_WATCH_REGS 0xd0
78#define PTRACE_SET_WATCH_REGS 0xd1
79#endif
80