blob: a5f49aac2ddc22f203474623d4d45b46b804a8bb [file] [log] [blame]
Elliott Hughesabd62612013-11-08 11:45:48 -08001/****************************************************************************
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
Christopher Ferris82d75042015-01-26 10:57:07 -080021#include <linux/types.h>
Elliott Hughesabd62612013-11-08 11:45:48 -080022#define FPR_BASE 32
Christopher Ferris82d75042015-01-26 10:57:07 -080023#define PC 64
Elliott Hughesabd62612013-11-08 11:45:48 -080024#define CAUSE 65
25#define BADVADDR 66
26#define MMHI 67
Christopher Ferris82d75042015-01-26 10:57:07 -080027#define MMLO 68
Elliott Hughesabd62612013-11-08 11:45:48 -080028#define FPC_CSR 69
29#define FPC_EIR 70
30#define DSP_BASE 71
Christopher Ferris82d75042015-01-26 10:57:07 -080031#define DSP_CONTROL 77
Elliott Hughesabd62612013-11-08 11:45:48 -080032#define ACX 78
33struct pt_regs {
Tao Baod7db5942015-01-28 10:07:51 -080034 __u64 regs[32];
Tao Baod7db5942015-01-28 10:07:51 -080035 __u64 lo;
36 __u64 hi;
37 __u64 cp0_epc;
38 __u64 cp0_badvaddr;
Tao Baod7db5942015-01-28 10:07:51 -080039 __u64 cp0_status;
40 __u64 cp0_cause;
41} __attribute__((aligned(8)));
Elliott Hughesabd62612013-11-08 11:45:48 -080042#define PTRACE_GETREGS 12
Christopher Ferris82d75042015-01-26 10:57:07 -080043#define PTRACE_SETREGS 13
Elliott Hughesabd62612013-11-08 11:45:48 -080044#define PTRACE_GETFPREGS 14
45#define PTRACE_SETFPREGS 15
46#define PTRACE_OLDSETOPTIONS 21
Christopher Ferris82d75042015-01-26 10:57:07 -080047#define PTRACE_GET_THREAD_AREA 25
Elliott Hughesabd62612013-11-08 11:45:48 -080048#define PTRACE_SET_THREAD_AREA 26
49#define PTRACE_PEEKTEXT_3264 0xc0
50#define PTRACE_PEEKDATA_3264 0xc1
Christopher Ferris82d75042015-01-26 10:57:07 -080051#define PTRACE_POKETEXT_3264 0xc2
Elliott Hughesabd62612013-11-08 11:45:48 -080052#define PTRACE_POKEDATA_3264 0xc3
53#define PTRACE_GET_THREAD_AREA_3264 0xc4
54enum pt_watch_style {
Tao Baod7db5942015-01-28 10:07:51 -080055 pt_watch_style_mips32,
56 pt_watch_style_mips64
Elliott Hughesabd62612013-11-08 11:45:48 -080057};
58struct mips32_watch_regs {
Tao Baod7db5942015-01-28 10:07:51 -080059 unsigned int watchlo[8];
60 unsigned short watchhi[8];
61 unsigned short watch_masks[8];
62 unsigned int num_valid;
Christopher Ferris82d75042015-01-26 10:57:07 -080063} __attribute__((aligned(8)));
Elliott Hughesabd62612013-11-08 11:45:48 -080064struct mips64_watch_regs {
Tao Baod7db5942015-01-28 10:07:51 -080065 unsigned long long watchlo[8];
66 unsigned short watchhi[8];
Tao Baod7db5942015-01-28 10:07:51 -080067 unsigned short watch_masks[8];
68 unsigned int num_valid;
Elliott Hughesabd62612013-11-08 11:45:48 -080069} __attribute__((aligned(8)));
70struct pt_watch_regs {
Tao Baod7db5942015-01-28 10:07:51 -080071 enum pt_watch_style style;
72 union {
73 struct mips32_watch_regs mips32;
74 struct mips64_watch_regs mips64;
Tao Baod7db5942015-01-28 10:07:51 -080075 };
Elliott Hughesabd62612013-11-08 11:45:48 -080076};
77#define PTRACE_GET_WATCH_REGS 0xd0
78#define PTRACE_SET_WATCH_REGS 0xd1
Christopher Ferris82d75042015-01-26 10:57:07 -080079#endif