#include <linux/kernel.h>
#include <linux/jump_label.h>
#include <asm/msr.h>
#include <asm/cpufeature.h>
#include "../perf_event.h"
#define BRS_POISON …
amd_debug_extn_cfg;
static inline unsigned int brs_from(int idx)
{ … }
static inline unsigned int brs_to(int idx)
{ … }
static __always_inline void set_debug_extn_cfg(u64 val)
{ … }
static __always_inline u64 get_debug_extn_cfg(void)
{ … }
static bool __init amd_brs_detect(void)
{ … }
static int amd_brs_setup_filter(struct perf_event *event)
{ … }
static inline int amd_is_brs_event(struct perf_event *e)
{ … }
int amd_brs_hw_config(struct perf_event *event)
{ … }
static inline int amd_brs_get_tos(union amd_debug_extn_cfg *cfg)
{ … }
void amd_brs_reset(void)
{ … }
int __init amd_brs_init(void)
{ … }
void amd_brs_enable(void)
{ … }
void amd_brs_enable_all(void)
{ … }
void amd_brs_disable(void)
{ … }
void amd_brs_disable_all(void)
{ … }
static bool amd_brs_match_plm(struct perf_event *event, u64 to)
{ … }
void amd_brs_drain(void)
{ … }
static void amd_brs_poison_buffer(void)
{ … }
void amd_pmu_brs_sched_task(struct perf_event_pmu_context *pmu_ctx, bool sched_in)
{ … }
void noinstr perf_amd_brs_lopwr_cb(bool lopwr_in)
{ … }
DEFINE_STATIC_CALL_NULL(…);
EXPORT_STATIC_CALL_TRAMP_GPL(…);
void __init amd_brs_lopwr_init(void)
{ … }