22#ifndef NAT_LINUX_BTRACE_H
23#define NAT_LINUX_BTRACE_H
25#include "gdbsupport/btrace-common.h"
26#include "gdbsupport/gdb-checked-static-cast.h"
27#if HAVE_LINUX_PERF_EVENT_H
28# include <linux/perf_event.h>
33#if HAVE_LINUX_PERF_EVENT_H
35struct perf_event_buffer
44 volatile __u64 *data_head;
55 : btrace_target_info (ptid)
58#if HAVE_LINUX_PERF_EVENT_H
60 struct perf_event_attr attr {};
66 volatile struct perf_event_mmap_page *header =
nullptr;
69 struct perf_event_buffer pev {};
74extern struct btrace_target_info *
82 struct btrace_target_info *btinfo,
83 enum btrace_read_type
type);
86extern const struct btrace_config *
enum btrace_error linux_read_btrace(struct btrace_data *btrace, struct btrace_target_info *btinfo, enum btrace_read_type type)
const struct btrace_config * linux_btrace_conf(const struct btrace_target_info *)
struct btrace_target_info * linux_enable_btrace(ptid_t ptid, const struct btrace_config *conf)
enum btrace_error linux_disable_btrace(struct btrace_target_info *ti)
linux_btrace_target_info(ptid_t ptid)