aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Horne <mhorne@FreeBSD.org>2021-05-31 14:24:44 +0000
committerMitchell Horne <mhorne@FreeBSD.org>2021-07-29 15:01:10 +0000
commit87c9a2933bdb537cc163aaeb16e588d303dc1d50 (patch)
tree2892403fb4519c260f606ccc8a2e58e2273ea366
parent6911f39887662f95a2a20c521ce5b5a8d048f687 (diff)
downloadsrc-87c9a2933bdb537cc163aaeb16e588d303dc1d50.tar.gz
src-87c9a2933bdb537cc163aaeb16e588d303dc1d50.zip
libpmc: make libpmc_pmu_utils.c more amenable to porting
The current version has every function stubbed out for !x86. Only two functions (pmu_alias_get() and pmc_pmu_pmcallocate() are really platform dependent, so reduce the width of the ifdefs and remove some of the stubs. Reviewed by: ray MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30532 (cherry picked from commit 0024f1aa7720d5f4f587a6c5911fc5238195ae49)
-rw-r--r--lib/libpmc/libpmc_pmu_util.c65
1 files changed, 12 insertions, 53 deletions
diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index 90ce0feafa52..81320a3dc954 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -43,12 +43,12 @@
#include <libpmcstat.h>
#include "pmu-events/pmu-events.h"
-#if defined(__amd64__) || defined(__i386__)
struct pmu_alias {
const char *pa_alias;
const char *pa_name;
};
+#if defined(__amd64__) || defined(__i386__)
typedef enum {
PMU_INVALID,
PMU_INTEL,
@@ -139,6 +139,16 @@ pmu_alias_get(const char *name)
return (name);
}
+#else
+
+static const char *
+pmu_alias_get(const char *name)
+{
+
+ return (name);
+}
+#endif
+
struct pmu_event_desc {
uint64_t ped_period;
uint64_t ped_offcore_rsp;
@@ -417,6 +427,7 @@ pmc_pmu_print_counter_full(const char *ev)
}
}
+#if defined(__amd64__) || defined(__i386__)
static int
pmc_pmu_amd_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm,
struct pmu_event_desc *ped)
@@ -540,61 +551,9 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm)
#else
-uint64_t
-pmc_pmu_sample_rate_get(const char *event_name __unused)
-{
- return (DEFAULT_SAMPLE_COUNT);
-}
-
-void
-pmc_pmu_print_counters(const char *event_name __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_desc(const char *e __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_desc_long(const char *e __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_full(const char *e __unused)
-{
-
-}
-
-int
-pmc_pmu_enabled(void)
-{
- return (0);
-}
-
int
pmc_pmu_pmcallocate(const char *e __unused, struct pmc_op_pmcallocate *p __unused)
{
return (EOPNOTSUPP);
}
-
-const char *
-pmc_pmu_event_get_by_idx(const char *c __unused, int idx __unused)
-{
- return (NULL);
-}
-
-int
-pmc_pmu_stat_mode(const char ***a __unused)
-{
- return (EOPNOTSUPP);
-}
-
-int
-pmc_pmu_idx_get_by_event(const char *c __unused, const char *e __unused)
-{
- return (-1);
-}
-
#endif