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