static void arm_spe_setup_evsel(struct evsel *evsel, struct perf_cpu_map *cpus)
{
- u64 bit;
+ u64 pa_enable_bit;
evsel->core.attr.freq = 0;
evsel->core.attr.sample_period = arm_spe_pmu__sample_period(evsel->pmu);
* inform that the resulting output's SPE samples contain physical addresses
* where applicable.
*/
- bit = perf_pmu__format_bits(evsel->pmu, "pa_enable");
- if (evsel->core.attr.config & bit)
- evsel__set_sample_bit(evsel, PHYS_ADDR);
+
+ if (!evsel__get_config_val(evsel, "pa_enable", &pa_enable_bit))
+ if (pa_enable_bit)
+ evsel__set_sample_bit(evsel, PHYS_ADDR);
}
static int arm_spe_setup_aux_buffer(struct record_opts *opts)
struct perf_cpu_map *cpus = evlist->core.user_requested_cpus;
bool discard = false;
int err;
+ u64 discard_bit;
sper->evlist = evlist;
evlist__for_each_entry_safe(evlist, tmp, evsel) {
if (evsel__is_aux_event(evsel)) {
arm_spe_setup_evsel(evsel, cpus);
- if (evsel->core.attr.config &
- perf_pmu__format_bits(evsel->pmu, "discard"))
- discard = true;
+ if (!evsel__get_config_val(evsel, "discard", &discard_bit))
+ discard = !!discard_bit;
}
}