aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/perf_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/cpu/perf_event.h')
-rw-r--r--arch/x86/kernel/cpu/perf_event.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/x86/kernel/cpu/perf_event.h b/arch/x86/kernel/cpu/perf_event.h
index d0e35ebb2adb..7bb61e32fb29 100644
--- a/arch/x86/kernel/cpu/perf_event.h
+++ b/arch/x86/kernel/cpu/perf_event.h
@@ -14,17 +14,7 @@
14 14
15#include <linux/perf_event.h> 15#include <linux/perf_event.h>
16 16
17#if 0 17/* To enable MSR tracing please use the generic trace points. */
18#undef wrmsrl
19#define wrmsrl(msr, val) \
20do { \
21 unsigned int _msr = (msr); \
22 u64 _val = (val); \
23 trace_printk("wrmsrl(%x, %Lx)\n", (unsigned int)(_msr), \
24 (unsigned long long)(_val)); \
25 native_write_msr((_msr), (u32)(_val), (u32)(_val >> 32)); \
26} while (0)
27#endif
28 18
29/* 19/*
30 * | NHM/WSM | SNB | 20 * | NHM/WSM | SNB |
@@ -318,6 +308,10 @@ struct cpu_hw_events {
318#define INTEL_UEVENT_CONSTRAINT(c, n) \ 308#define INTEL_UEVENT_CONSTRAINT(c, n) \
319 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK) 309 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK)
320 310
311/* Constraint on specific umask bit only + event */
312#define INTEL_UBIT_EVENT_CONSTRAINT(c, n) \
313 EVENT_CONSTRAINT(c, n, ARCH_PERFMON_EVENTSEL_EVENT|(c))
314
321/* Like UEVENT_CONSTRAINT, but match flags too */ 315/* Like UEVENT_CONSTRAINT, but match flags too */
322#define INTEL_FLAGS_UEVENT_CONSTRAINT(c, n) \ 316#define INTEL_FLAGS_UEVENT_CONSTRAINT(c, n) \
323 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS) 317 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS)
@@ -589,7 +583,8 @@ struct x86_pmu {
589 bts_active :1, 583 bts_active :1,
590 pebs :1, 584 pebs :1,
591 pebs_active :1, 585 pebs_active :1,
592 pebs_broken :1; 586 pebs_broken :1,
587 pebs_prec_dist :1;
593 int pebs_record_size; 588 int pebs_record_size;
594 void (*drain_pebs)(struct pt_regs *regs); 589 void (*drain_pebs)(struct pt_regs *regs);
595 struct event_constraint *pebs_constraints; 590 struct event_constraint *pebs_constraints;
@@ -907,6 +902,8 @@ void intel_pmu_lbr_init_hsw(void);
907 902
908void intel_pmu_lbr_init_skl(void); 903void intel_pmu_lbr_init_skl(void);
909 904
905void intel_pmu_lbr_init_knl(void);
906
910int intel_pmu_setup_lbr_filter(struct perf_event *event); 907int intel_pmu_setup_lbr_filter(struct perf_event *event);
911 908
912void intel_pt_interrupt(void); 909void intel_pt_interrupt(void);