Lines Matching defs:x86_pmu
506 struct x86_pmu { struct
510 const char *name;
511 int version;
512 int (*handle_irq)(struct pt_regs *);
513 void (*disable_all)(void);
514 void (*enable_all)(int added);
515 void (*enable)(struct perf_event *);
516 void (*disable)(struct perf_event *);
517 int (*hw_config)(struct perf_event *event);
518 int (*schedule_events)(struct cpu_hw_events *cpuc, int n, int *assign);
519 unsigned eventsel;
520 unsigned perfctr;
521 int (*addr_offset)(int index, bool eventsel);
522 int (*rdpmc_index)(int index);
523 u64 (*event_map)(int);
524 int max_events;
525 int num_counters;
526 int num_counters_fixed;
527 int cntval_bits;
551 struct x86_pmu_quirk *quirks; argument
552 int perfctr_second_write;
553 bool late_ack;
554 unsigned (*limit_period)(struct perf_event *event, unsigned l);
559 int attr_rdpmc_broken;
560 int attr_rdpmc;
561 struct attribute **format_attrs;
562 struct attribute **event_attrs;
564 ssize_t (*events_sysfs_show)(char *page, u64 config);
565 struct attribute **cpu_events;
570 int (*cpu_prepare)(int cpu);
571 void (*cpu_starting)(int cpu);
572 void (*cpu_dying)(int cpu);
573 void (*cpu_dead)(int cpu);
575 void (*check_microcode)(void);
576 void (*sched_task)(struct perf_event_context *ctx,
582 u64 intel_ctrl;
583 union perf_capabilities intel_cap;
588 unsigned int bts :1,
589 bts_active :1,
590 pebs :1,
591 pebs_active :1,
592 pebs_broken :1;
593 int pebs_record_size;
594 int pebs_buffer_size;
595 void (*drain_pebs)(struct pt_regs *regs);
596 struct event_constraint *pebs_constraints;
597 void (*pebs_aliases)(struct perf_event *event);
598 int max_pebs_events;
599 unsigned long free_running_flags;
604 unsigned long lbr_tos, lbr_from, lbr_to; /* MSR base regs */
605 int lbr_nr; /* hardware stack size */
606 u64 lbr_sel_mask; /* LBR_SELECT valid bits */
607 const int *lbr_sel_map; /* lbr_select mappings */
608 bool lbr_double_abort; /* duplicated lbr aborts */
613 atomic_t lbr_exclusive[x86_lbr_exclusive_max];
641 __quirk.next = x86_pmu.quirks; \ argument