diff options
Diffstat (limited to 'include/asm-x86/ptrace-abi.h')
-rw-r--r-- | include/asm-x86/ptrace-abi.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h index 7524e1233833..81a8ee4c55fc 100644 --- a/include/asm-x86/ptrace-abi.h +++ b/include/asm-x86/ptrace-abi.h | |||
@@ -78,4 +78,66 @@ | |||
78 | # define PTRACE_SYSEMU_SINGLESTEP 32 | 78 | # define PTRACE_SYSEMU_SINGLESTEP 32 |
79 | #endif | 79 | #endif |
80 | 80 | ||
81 | #define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */ | ||
82 | |||
83 | #ifndef __ASSEMBLY__ | ||
84 | |||
85 | #include <asm/types.h> | ||
86 | |||
87 | /* configuration/status structure used in PTRACE_BTS_CONFIG and | ||
88 | PTRACE_BTS_STATUS commands. | ||
89 | */ | ||
90 | struct ptrace_bts_config { | ||
91 | /* requested or actual size of BTS buffer in bytes */ | ||
92 | u32 size; | ||
93 | /* bitmask of below flags */ | ||
94 | u32 flags; | ||
95 | /* buffer overflow signal */ | ||
96 | u32 signal; | ||
97 | /* actual size of bts_struct in bytes */ | ||
98 | u32 bts_size; | ||
99 | }; | ||
100 | #endif | ||
101 | |||
102 | #define PTRACE_BTS_O_TRACE 0x1 /* branch trace */ | ||
103 | #define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */ | ||
104 | #define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG<signal> on buffer overflow | ||
105 | instead of wrapping around */ | ||
106 | #define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available | ||
107 | instead of failing */ | ||
108 | |||
109 | #define PTRACE_BTS_CONFIG 40 | ||
110 | /* Configure branch trace recording. | ||
111 | ADDR points to a struct ptrace_bts_config. | ||
112 | DATA gives the size of that buffer. | ||
113 | A new buffer is allocated, iff the size changes. | ||
114 | Returns the number of bytes read. | ||
115 | */ | ||
116 | #define PTRACE_BTS_STATUS 41 | ||
117 | /* Return the current configuration in a struct ptrace_bts_config | ||
118 | pointed to by ADDR; DATA gives the size of that buffer. | ||
119 | Returns the number of bytes written. | ||
120 | */ | ||
121 | #define PTRACE_BTS_SIZE 42 | ||
122 | /* Return the number of available BTS records. | ||
123 | DATA and ADDR are ignored. | ||
124 | */ | ||
125 | #define PTRACE_BTS_GET 43 | ||
126 | /* Get a single BTS record. | ||
127 | DATA defines the index into the BTS array, where 0 is the newest | ||
128 | entry, and higher indices refer to older entries. | ||
129 | ADDR is pointing to struct bts_struct (see asm/ds.h). | ||
130 | */ | ||
131 | #define PTRACE_BTS_CLEAR 44 | ||
132 | /* Clear the BTS buffer. | ||
133 | DATA and ADDR are ignored. | ||
134 | */ | ||
135 | #define PTRACE_BTS_DRAIN 45 | ||
136 | /* Read all available BTS records and clear the buffer. | ||
137 | ADDR points to an array of struct bts_struct. | ||
138 | DATA gives the size of that buffer. | ||
139 | BTS records are read from oldest to newest. | ||
140 | Returns number of BTS records drained. | ||
141 | */ | ||
142 | |||
81 | #endif | 143 | #endif |