struct cpu_cf_events *cpuhw = this_cpu_ptr(&cpu_cf_events); debug_sprintf_event(cf_diag_dbg, 5, "%s event %p cpu %d flags %#x\n", __func__, event, event->cpu, flags); cf_diag_stop(event, PERF_EF_UPDATE); ctr_set_multiple_stop(&cpuhw->state, event->hw.config_base); ctr_set_multiple_disable(&cpuhw->state, event->hw.config_base); cpuhw->flags &= ~PMU_F_IN_USE; } CPUMF_EVENT_ATTR(CF_DIAG, CF_DIAG, PERF_EVENT_CPUM_CF_DIAG); static struct attribute *cf_diag_events_attr[] = { CPUMF_EVENT_PTR(CF_DIAG, CF_DIAG), NULL, }; PMU_FORMAT_ATTR(event, "config:0-63"); static struct attribute *cf_diag_format_attr[] = { &format_attr_event.attr, NULL, }; static struct attribute_group cf_diag_events_group = { .name = "events", .attrs = cf_diag_events_attr, }; static struct attribute_group cf_diag_format_group = {
CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES_IV, 0x0098); CPUMF_EVENT_ATTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES, 0x0099); CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES, 0x009a); CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES, 0x009b); CPUMF_EVENT_ATTR(cf_zec12, L1I_ONBOOK_L4_SOURCED_WRITES, 0x009c); CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L4_SOURCED_WRITES, 0x009d); CPUMF_EVENT_ATTR(cf_zec12, TX_C_TEND, 0x009e); CPUMF_EVENT_ATTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES_IV, 0x009f); CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES_IV, 0x00a0); CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES_IV, 0x00a1); CPUMF_EVENT_ATTR(cf_zec12, TX_NC_TABORT, 0x00b1); CPUMF_EVENT_ATTR(cf_zec12, TX_C_TABORT_NO_SPECIAL, 0x00b2); CPUMF_EVENT_ATTR(cf_zec12, TX_C_TABORT_SPECIAL, 0x00b3); static struct attribute *cpumcf_pmu_event_attr[] = { CPUMF_EVENT_PTR(cf, CPU_CYCLES), CPUMF_EVENT_PTR(cf, INSTRUCTIONS), CPUMF_EVENT_PTR(cf, L1I_DIR_WRITES), CPUMF_EVENT_PTR(cf, L1I_PENALTY_CYCLES), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_CPU_CYCLES), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_INSTRUCTIONS), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_L1I_DIR_WRITES), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_L1I_PENALTY_CYCLES), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_L1D_DIR_WRITES), CPUMF_EVENT_PTR(cf, PROBLEM_STATE_L1D_PENALTY_CYCLES), CPUMF_EVENT_PTR(cf, L1D_DIR_WRITES), CPUMF_EVENT_PTR(cf, L1D_PENALTY_CYCLES), CPUMF_EVENT_PTR(cf, PRNG_FUNCTIONS), CPUMF_EVENT_PTR(cf, PRNG_CYCLES), CPUMF_EVENT_PTR(cf, PRNG_BLOCKED_FUNCTIONS), CPUMF_EVENT_PTR(cf, PRNG_BLOCKED_CYCLES),