diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/perf_event.h | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 9b79abbd1ab8..e46b93279e3d 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
@@ -152,21 +152,42 @@ enum perf_event_sample_format { | |||
152 | * The branch types can be combined, however BRANCH_ANY covers all types | 152 | * The branch types can be combined, however BRANCH_ANY covers all types |
153 | * of branches and therefore it supersedes all the other types. | 153 | * of branches and therefore it supersedes all the other types. |
154 | */ | 154 | */ |
155 | enum perf_branch_sample_type_shift { | ||
156 | PERF_SAMPLE_BRANCH_USER_SHIFT = 0, /* user branches */ | ||
157 | PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, /* kernel branches */ | ||
158 | PERF_SAMPLE_BRANCH_HV_SHIFT = 2, /* hypervisor branches */ | ||
159 | |||
160 | PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, /* any branch types */ | ||
161 | PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, /* any call branch */ | ||
162 | PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, /* any return branch */ | ||
163 | PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, /* indirect calls */ | ||
164 | PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, /* transaction aborts */ | ||
165 | PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, /* in transaction */ | ||
166 | PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, /* not in transaction */ | ||
167 | PERF_SAMPLE_BRANCH_COND_SHIFT = 10, /* conditional branches */ | ||
168 | |||
169 | PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ | ||
170 | }; | ||
171 | |||
155 | enum perf_branch_sample_type { | 172 | enum perf_branch_sample_type { |
156 | PERF_SAMPLE_BRANCH_USER = 1U << 0, /* user branches */ | 173 | PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT, |
157 | PERF_SAMPLE_BRANCH_KERNEL = 1U << 1, /* kernel branches */ | 174 | PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT, |
158 | PERF_SAMPLE_BRANCH_HV = 1U << 2, /* hypervisor branches */ | 175 | PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT, |
159 | 176 | ||
160 | PERF_SAMPLE_BRANCH_ANY = 1U << 3, /* any branch types */ | 177 | PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT, |
161 | PERF_SAMPLE_BRANCH_ANY_CALL = 1U << 4, /* any call branch */ | 178 | PERF_SAMPLE_BRANCH_ANY_CALL = |
162 | PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << 5, /* any return branch */ | 179 | 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT, |
163 | PERF_SAMPLE_BRANCH_IND_CALL = 1U << 6, /* indirect calls */ | 180 | PERF_SAMPLE_BRANCH_ANY_RETURN = |
164 | PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */ | 181 | 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT, |
165 | PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */ | 182 | PERF_SAMPLE_BRANCH_IND_CALL = |
166 | PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */ | 183 | 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT, |
167 | PERF_SAMPLE_BRANCH_COND = 1U << 10, /* conditional branches */ | 184 | PERF_SAMPLE_BRANCH_ABORT_TX = |
168 | 185 | 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT, | |
169 | PERF_SAMPLE_BRANCH_MAX = 1U << 11, /* non-ABI */ | 186 | PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT, |
187 | PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT, | ||
188 | PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT, | ||
189 | |||
190 | PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, | ||
170 | }; | 191 | }; |
171 | 192 | ||
172 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ | 193 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ |