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 _ASM_PTRACE_H 20 #define _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 33 struct 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 54 enum pt_watch_style { 55 pt_watch_style_mips32, 56 pt_watch_style_mips64 57 }; 58 struct 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))); 64 struct 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))); 70 struct 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