diff options
Diffstat (limited to '')
-rw-r--r-- | tools/perf/arch/nds32/Build | 1 | ||||
-rw-r--r-- | tools/perf/arch/nds32/util/Build | 1 | ||||
-rw-r--r-- | tools/perf/arch/nds32/util/header.c | 29 |
3 files changed, 31 insertions, 0 deletions
diff --git a/tools/perf/arch/nds32/Build b/tools/perf/arch/nds32/Build new file mode 100644 index 000000000..e4e5f33c8 --- /dev/null +++ b/tools/perf/arch/nds32/Build @@ -0,0 +1 @@ +perf-y += util/ diff --git a/tools/perf/arch/nds32/util/Build b/tools/perf/arch/nds32/util/Build new file mode 100644 index 000000000..d0bc205fe --- /dev/null +++ b/tools/perf/arch/nds32/util/Build @@ -0,0 +1 @@ +perf-y += header.o diff --git a/tools/perf/arch/nds32/util/header.c b/tools/perf/arch/nds32/util/header.c new file mode 100644 index 000000000..ef9dbdbe7 --- /dev/null +++ b/tools/perf/arch/nds32/util/header.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0 +// Copyright (C) 2005-2017 Andes Technology Corporation + +#include <stdio.h> +#include <stdlib.h> +#include <api/fs/fs.h> +#include "header.h" + +#define STR_LEN 1024 + +char *get_cpuid_str(struct perf_pmu *pmu) +{ + /* In nds32, we only have one cpu */ + char *buf = NULL; + struct cpu_map *cpus; + const char *sysfs = sysfs__mountpoint(); + + if (!sysfs || !pmu || !pmu->cpus) + return NULL; + + buf = malloc(STR_LEN); + if (!buf) + return NULL; + + cpus = cpu_map__get(pmu->cpus); + sprintf(buf, "0x%x", cpus->nr - 1); + cpu_map__put(cpus); + return buf; +} |