22 #ifndef LINUX_BTRACE_H
23 #define LINUX_BTRACE_H
27 #if HAVE_LINUX_PERF_EVENT_H
28 # include <linux/perf_event.h>
33 #if HAVE_LINUX_PERF_EVENT_H
35 struct perf_event_buffer
41 unsigned long long size;
44 volatile unsigned long long *data_head;
47 unsigned long long last_head;
51 struct btrace_tinfo_bts
54 struct perf_event_attr attr;
60 volatile struct perf_event_mmap_page *header;
63 struct perf_event_buffer bts;
67 struct btrace_tinfo_pt
70 struct perf_event_attr attr;
76 volatile struct perf_event_mmap_page *header;
79 struct perf_event_buffer pt;
92 #if HAVE_LINUX_PERF_EVENT_H
97 struct btrace_tinfo_bts bts;
100 struct btrace_tinfo_pt pt;
struct btrace_target_info * linux_enable_btrace(ptid_t ptid, const struct btrace_config *conf)
enum btrace_error linux_read_btrace(struct btrace_data *btrace, struct btrace_target_info *btinfo, enum btrace_read_type type)
int linux_supports_btrace(struct target_ops *, enum btrace_format)
const struct btrace_config * linux_btrace_conf(const struct btrace_target_info *)
struct btrace_config conf
enum btrace_error linux_disable_btrace(struct btrace_target_info *ti)