Lines Matching defs:x86_pmu
492 struct x86_pmu { struct
496 const char *name;
497 int version;
498 int (*handle_irq)(struct pt_regs *);
499 void (*disable_all)(void);
500 void (*enable_all)(int added);
501 void (*enable)(struct perf_event *);
502 void (*disable)(struct perf_event *);
503 int (*hw_config)(struct perf_event *event);
504 int (*schedule_events)(struct cpu_hw_events *cpuc, int n, int *assign);
505 unsigned eventsel;
506 unsigned perfctr;
507 int (*addr_offset)(int index, bool eventsel);
508 int (*rdpmc_index)(int index);
509 u64 (*event_map)(int);
510 int max_events;
511 int num_counters;
512 int num_counters_fixed;
513 int cntval_bits;
537 struct x86_pmu_quirk *quirks; argument
538 int perfctr_second_write;
539 bool late_ack;
540 unsigned (*limit_period)(struct perf_event *event, unsigned l);
545 int attr_rdpmc_broken;
546 int attr_rdpmc;
547 struct attribute **format_attrs;
548 struct attribute **event_attrs;
550 ssize_t (*events_sysfs_show)(char *page, u64 config);
551 struct attribute **cpu_events;
556 int (*cpu_prepare)(int cpu);
557 void (*cpu_starting)(int cpu);
558 void (*cpu_dying)(int cpu);
559 void (*cpu_dead)(int cpu);
561 void (*check_microcode)(void);
562 void (*sched_task)(struct perf_event_context *ctx,
568 u64 intel_ctrl;
569 union perf_capabilities intel_cap;
574 unsigned int bts :1,
575 bts_active :1,
576 pebs :1,
577 pebs_active :1,
578 pebs_broken :1;
579 int pebs_record_size;
580 void (*drain_pebs)(struct pt_regs *regs);
581 struct event_constraint *pebs_constraints;
582 void (*pebs_aliases)(struct perf_event *event);
583 int max_pebs_events;
588 unsigned long lbr_tos, lbr_from, lbr_to; /* MSR base regs */
589 int lbr_nr; /* hardware stack size */
590 u64 lbr_sel_mask; /* LBR_SELECT valid bits */
591 const int *lbr_sel_map; /* lbr_select mappings */
592 bool lbr_double_abort; /* duplicated lbr aborts */
620 static struct x86_pmu_quirk __quirk __initdata = { \ argument
623 __quirk.next = x86_pmu.quirks; \ argument