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