|
Packit |
577717 |
/*
|
|
Packit |
577717 |
* pfmlib_powerpc_nest.c
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include "pfmlib_priv.h"
|
|
Packit |
577717 |
#include "pfmlib_power_priv.h"
|
|
Packit |
577717 |
#include "events/powerpc_nest_events.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
static int pfm_powerpc_nest_detect(void* this)
|
|
Packit |
577717 |
{
|
|
Packit |
577717 |
if (__is_processor(PV_POWER8))
|
|
Packit |
577717 |
return PFM_SUCCESS;
|
|
Packit |
577717 |
return PFM_ERR_NOTSUPP;
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
pfmlib_pmu_t powerpc_nest_mcs_read_support={
|
|
Packit |
577717 |
.desc = "POWERPC_NEST_MCS_RD_BW",
|
|
Packit |
577717 |
.name = "powerpc_nest_mcs_read",
|
|
Packit |
577717 |
.pmu = PFM_PMU_POWERPC_NEST_MCS_READ_BW,
|
|
Packit |
577717 |
.perf_name = "Nest_MCS_Read_BW",
|
|
Packit |
577717 |
.pme_count = LIBPFM_ARRAY_SIZE(powerpc_nest_read_pe),
|
|
Packit |
577717 |
.type = PFM_PMU_TYPE_UNCORE,
|
|
Packit |
577717 |
.num_cntrs = 4,
|
|
Packit |
577717 |
.num_fixed_cntrs = 0,
|
|
Packit |
577717 |
.max_encoding = 1,
|
|
Packit |
577717 |
.pe = powerpc_nest_read_pe,
|
|
Packit |
577717 |
.pmu_detect = pfm_powerpc_nest_detect,
|
|
Packit |
577717 |
.get_event_encoding[PFM_OS_NONE] = pfm_gen_powerpc_get_encoding,
|
|
Packit |
577717 |
PFMLIB_ENCODE_PERF(pfm_gen_powerpc_get_nest_perf_encoding),
|
|
Packit |
577717 |
PFMLIB_VALID_PERF_PATTRS(pfm_gen_powerpc_perf_validate_pattrs),
|
|
Packit |
577717 |
.get_event_first = pfm_gen_powerpc_get_event_first,
|
|
Packit |
577717 |
.get_event_next = pfm_gen_powerpc_get_event_next,
|
|
Packit |
577717 |
.event_is_valid = pfm_gen_powerpc_event_is_valid,
|
|
Packit |
577717 |
.validate_table = pfm_gen_powerpc_validate_table,
|
|
Packit |
577717 |
.get_event_info = pfm_gen_powerpc_get_event_info,
|
|
Packit |
577717 |
.get_event_attr_info = pfm_gen_powerpc_get_event_attr_info,
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
|
|
Packit |
577717 |
pfmlib_pmu_t powerpc_nest_mcs_write_support={
|
|
Packit |
577717 |
.desc = "POWERPC_NEST_MCS_WR_BW",
|
|
Packit |
577717 |
.name = "powerpc_nest_mcs_write",
|
|
Packit |
577717 |
.pmu = PFM_PMU_POWERPC_NEST_MCS_WRITE_BW,
|
|
Packit |
577717 |
.perf_name = "Nest_MCS_Write_BW",
|
|
Packit |
577717 |
.pme_count = LIBPFM_ARRAY_SIZE(powerpc_nest_write_pe),
|
|
Packit |
577717 |
.type = PFM_PMU_TYPE_UNCORE,
|
|
Packit |
577717 |
.num_cntrs = 4,
|
|
Packit |
577717 |
.num_fixed_cntrs = 0,
|
|
Packit |
577717 |
.max_encoding = 1,
|
|
Packit |
577717 |
.pe = powerpc_nest_write_pe,
|
|
Packit |
577717 |
.pmu_detect = pfm_powerpc_nest_detect,
|
|
Packit |
577717 |
.get_event_encoding[PFM_OS_NONE] = pfm_gen_powerpc_get_encoding,
|
|
Packit |
577717 |
PFMLIB_ENCODE_PERF(pfm_gen_powerpc_get_nest_perf_encoding),
|
|
Packit |
577717 |
PFMLIB_VALID_PERF_PATTRS(pfm_gen_powerpc_perf_validate_pattrs),
|
|
Packit |
577717 |
.get_event_first = pfm_gen_powerpc_get_event_first,
|
|
Packit |
577717 |
.get_event_next = pfm_gen_powerpc_get_event_next,
|
|
Packit |
577717 |
.event_is_valid = pfm_gen_powerpc_event_is_valid,
|
|
Packit |
577717 |
.validate_table = pfm_gen_powerpc_validate_table,
|
|
Packit |
577717 |
.get_event_info = pfm_gen_powerpc_get_event_info,
|
|
Packit |
577717 |
.get_event_attr_info = pfm_gen_powerpc_get_event_attr_info,
|
|
Packit |
577717 |
};
|