linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU
@ 2022-08-15 13:22 Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 1/3] perf tools riscv: Add support for get_cpuid_str function Nikita Shubin
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Nikita Shubin @ 2022-08-15 13:22 UTC (permalink / raw)
  Cc: linux, Anup Patel, Arnaldo Carvalho de Melo, Nikita Shubin,
	Albert Ou, Alexander Shishkin, Ingo Molnar, Jiri Olsa,
	linux-kernel, linux-perf-users, linux-riscv, Mark Rutland,
	Namhyung Kim, Palmer Dabbelt, Paul Walmsley, Peter Zijlstra

From: Nikita Shubin <n.shubin@yadro.com>

This series aims to provide matching vendor SoC with corresponded JSON bindings.

The ID string is proposed to be in form of MVENDORID-MARCHID-MIMPID, for example
for Sifive Unmatched the corresponding string will be:

0x489-0x8000000000000007-0x[[:xdigit:]]+,v1,sifive/u74,core

Where MIMPID can vary as all impl supported the same number of events, this might not
be true for all future SoC however.

Also added SBI firmware events pretty names, as any firmware that supports SBI PMU
should also support firmare events [1].

Series depends on patch by Anup Patel, exposing mvendor, marchid and mimpid
to "/proc/cpuinfo" [2].

[1] https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc
[2] https://lkml.org/lkml/2022/7/27/23

Link to previous version:
https://patchwork.kernel.org/project/linux-riscv/list/?series=653649

See original cover letter by João Mário Domingos:
https://patchwork.kernel.org/project/linux-riscv/cover/20211116154812.17008-1-joao.mario@tecnico.ulisboa.pt/

Tested with the following OpenSBI device tree bindings:

```
pmu {
        compatible = "riscv,pmu";
        riscv,event-to-mhpmcounters =
                <0x03 0x06 0x18
                0x10001 0x10002 0x18
                0x10009 0x10009 0x18
                0x10011 0x10011 0x18
                0x10019 0x10019 0x18
                0x10021 0x10021 0x18>;
        riscv,event-to-mhpmevent =
                <0x03 0x00000000 0x1801
                0x04 0x00000000 0x0302
                0x05 0x00000000 0x4000
                0x06 0x00000000 0x6001
                0x10001 0x00000000 0x0202
                0x10002 0x00000000 0x0402
                0x10009 0x00000000 0x0102
                0x10011 0x00000000 0x2002
                0x10019 0x00000000 0x1002
                0x10021 0x00000000 0x0802>;
        riscv,raw-event-to-mhpmcounters =
                <0x00000000 0x03ffff00 0x0 0x0 0x18
                0x00000000 0x0007ff01 0x0 0x1 0x18
                0x00000000 0x00003f02 0x0 0x2 0x18>;
};
```
---
v5->v6:
Will Deacon:
	- dropped first patch from v5 series it has been merged into master
Mayuresh Chitale:
	- fixed FW_SFENCE_VMA_SENT event code

- added Tested-by tags
---

Nikita Shubin (3):
  perf arch events: riscv sbi firmware std event files
  perf vendor events riscv: add Sifive U74 JSON file
  RISC-V: Added Syntacore SCR7 PMU events

 tools/perf/pmu-events/arch/riscv/mapfile.csv  |  18 +++
 .../arch/riscv/riscv-sbi-firmware.json        | 134 ++++++++++++++++++
 .../arch/riscv/sifive/u74/firmware.json       |  68 +++++++++
 .../arch/riscv/sifive/u74/instructions.json   |  92 ++++++++++++
 .../arch/riscv/sifive/u74/memory.json         |  32 +++++
 .../arch/riscv/sifive/u74/microarch.json      |  57 ++++++++
 .../arch/riscv/syntacore/scr7/L1D_cache.json  | 102 +++++++++++++
 .../arch/riscv/syntacore/scr7/L1I_cache.json  |  67 +++++++++
 .../arch/riscv/syntacore/scr7/exceptions.json |  67 +++++++++
 .../arch/riscv/syntacore/scr7/execution.json  |  97 +++++++++++++
 .../arch/riscv/syntacore/scr7/firmware.json   |  68 +++++++++
 .../arch/riscv/syntacore/scr7/general.json    |  47 ++++++
 .../arch/riscv/syntacore/scr7/interrupts.json |  32 +++++
 .../arch/riscv/syntacore/scr7/prediction.json |  52 +++++++
 14 files changed, 933 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/riscv/mapfile.csv
 create mode 100644 tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1D_cache.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1I_cache.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/exceptions.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/execution.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/firmware.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/general.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/interrupts.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/prediction.json

-- 
2.35.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v6 1/3] perf tools riscv: Add support for get_cpuid_str function
  2022-08-15 13:22 [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Nikita Shubin
@ 2022-08-15 13:22 ` Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 2/3] perf arch events: riscv sbi firmware std event files Nikita Shubin
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Nikita Shubin @ 2022-08-15 13:22 UTC (permalink / raw)
  Cc: linux, Anup Patel, Arnaldo Carvalho de Melo, Nikita Shubin,
	Kautuk Consul, Peter Zijlstra, Ingo Molnar, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, linux-kernel, linux-perf-users,
	linux-riscv

From: Nikita Shubin <n.shubin@yadro.com>

The get_cpuid_str function returns the string that
contains values of MVENDORID, MARCHID and MIMPID in
hex format separated by coma.

The values themselves are taken from first cpu entry
in "/proc/cpuid" that contains "mvendorid", "marchid"
and "mimpid".

Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
Tested-by: Kautuk Consul <kconsul@ventanamicro.com>
---
 tools/perf/arch/riscv/util/Build    |   1 +
 tools/perf/arch/riscv/util/header.c | 104 ++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 tools/perf/arch/riscv/util/header.c

diff --git a/tools/perf/arch/riscv/util/Build b/tools/perf/arch/riscv/util/Build
index 7d3050134ae0..603dbb5ae4dc 100644
--- a/tools/perf/arch/riscv/util/Build
+++ b/tools/perf/arch/riscv/util/Build
@@ -1,4 +1,5 @@
 perf-y += perf_regs.o
+perf-y += header.o
 
 perf-$(CONFIG_DWARF) += dwarf-regs.o
 perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
diff --git a/tools/perf/arch/riscv/util/header.c b/tools/perf/arch/riscv/util/header.c
new file mode 100644
index 000000000000..4a41856938a8
--- /dev/null
+++ b/tools/perf/arch/riscv/util/header.c
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Implementation of get_cpuid().
+ *
+ * Author: Nikita Shubin <n.shubin@yadro.com>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <api/fs/fs.h>
+#include <errno.h>
+#include "../../util/debug.h"
+#include "../../util/header.h"
+
+#define CPUINFO_MVEN	"mvendorid"
+#define CPUINFO_MARCH	"marchid"
+#define CPUINFO_MIMP	"mimpid"
+#define CPUINFO		"/proc/cpuinfo"
+
+static char *_get_field(const char *line)
+{
+	char *line2, *nl;
+
+	line2 = strrchr(line, ' ');
+	if (!line2)
+		return NULL;
+
+	line2++;
+	nl = strrchr(line, '\n');
+	if (!nl)
+		return NULL;
+
+	return strndup(line2, nl - line2);
+}
+
+static char *_get_cpuid(void)
+{
+	char *line = NULL;
+	char *mvendorid = NULL;
+	char *marchid = NULL;
+	char *mimpid = NULL;
+	char *cpuid = NULL;
+	int read;
+	unsigned long line_sz;
+	FILE *cpuinfo;
+
+	cpuinfo = fopen(CPUINFO, "r");
+	if (cpuinfo == NULL)
+		return cpuid;
+
+	while ((read = getline(&line, &line_sz, cpuinfo)) != -1) {
+		if (!strncmp(line, CPUINFO_MVEN, strlen(CPUINFO_MVEN))) {
+			mvendorid = _get_field(line);
+			if (!mvendorid)
+				goto free;
+		} else if (!strncmp(line, CPUINFO_MARCH, strlen(CPUINFO_MARCH))) {
+			marchid = _get_field(line);
+			if (!marchid)
+				goto free;
+		} else if (!strncmp(line, CPUINFO_MIMP, strlen(CPUINFO_MIMP))) {
+			mimpid = _get_field(line);
+			if (!mimpid)
+				goto free;
+
+			break;
+		}
+	}
+
+	if (!mvendorid || !marchid || !mimpid)
+		goto free;
+
+	if (asprintf(&cpuid, "%s-%s-%s", mvendorid, marchid, mimpid) < 0)
+		cpuid = NULL;
+
+free:
+	fclose(cpuinfo);
+	free(mvendorid);
+	free(marchid);
+	free(mimpid);
+
+	return cpuid;
+}
+
+int get_cpuid(char *buffer, size_t sz)
+{
+	char *cpuid = _get_cpuid();
+	int ret = 0;
+
+	if (sz < strlen(cpuid)) {
+		ret = -EINVAL;
+		goto free;
+	}
+
+	scnprintf(buffer, sz, "%s", cpuid);
+free:
+	free(cpuid);
+	return ret;
+}
+
+char *
+get_cpuid_str(struct perf_pmu *pmu __maybe_unused)
+{
+	return _get_cpuid();
+}
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v6 2/3] perf arch events: riscv sbi firmware std event files
  2022-08-15 13:22 [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 1/3] perf tools riscv: Add support for get_cpuid_str function Nikita Shubin
@ 2022-08-15 13:22 ` Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 3/3] perf vendor events riscv: add Sifive U74 JSON file Nikita Shubin
  2022-10-04  2:54 ` [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Palmer Dabbelt
  3 siblings, 0 replies; 7+ messages in thread
From: Nikita Shubin @ 2022-08-15 13:22 UTC (permalink / raw)
  Cc: linux, Anup Patel, Arnaldo Carvalho de Melo, Nikita Shubin,
	Kautuk Consul, Peter Zijlstra, Ingo Molnar, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, linux-kernel, linux-perf-users,
	linux-riscv

From: Nikita Shubin <n.shubin@yadro.com>

Firmware events are defined by "RISC-V Supervisor Binary Interface
Specification", which means they should be always available as long as
firmware supports >= 0.3.0 SBI.

Expose them to arch std events, so they can be reused by particular
PMU bindings.

Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
Tested-by: Kautuk Consul <kconsul@ventanamicro.com>
---
v5->v6:
Mayuresh Chitale:
	- fixed FW_SFENCE_VMA_SENT event code
---
 .../arch/riscv/riscv-sbi-firmware.json        | 134 ++++++++++++++++++
 1 file changed, 134 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json

diff --git a/tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json b/tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json
new file mode 100644
index 000000000000..a9939823b14b
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json
@@ -0,0 +1,134 @@
+[
+  {
+    "PublicDescription": "Misaligned load trap",
+    "ConfigCode": "0x8000000000000000",
+    "EventName": "FW_MISALIGNED_LOAD",
+    "BriefDescription": "Misaligned load trap event"
+  },
+  {
+    "PublicDescription": "Misaligned store trap",
+    "ConfigCode": "0x8000000000000001",
+    "EventName": "FW_MISALIGNED_STORE",
+    "BriefDescription": "Misaligned store trap event"
+  },
+  {
+    "PublicDescription": "Load access trap",
+    "ConfigCode": "0x8000000000000002",
+    "EventName": "FW_ACCESS_LOAD",
+    "BriefDescription": "Load access trap event"
+  },
+  {
+    "PublicDescription": "Store access trap",
+    "ConfigCode": "0x8000000000000003",
+    "EventName": "FW_ACCESS_STORE",
+    "BriefDescription": "Store access trap event"
+  },
+  {
+    "PublicDescription": "Illegal instruction trap",
+    "ConfigCode": "0x8000000000000004",
+    "EventName": "FW_ILLEGAL_INSN",
+    "BriefDescription": "Illegal instruction trap event"
+  },
+  {
+    "PublicDescription": "Set timer event",
+    "ConfigCode": "0x8000000000000005",
+    "EventName": "FW_SET_TIMER",
+    "BriefDescription": "Set timer event"
+  },
+  {
+    "PublicDescription": "Sent IPI to other HART event",
+    "ConfigCode": "0x8000000000000006",
+    "EventName": "FW_IPI_SENT",
+    "BriefDescription": "Sent IPI to other HART event"
+  },
+  {
+    "PublicDescription": "Received IPI from other HART event",
+    "ConfigCode": "0x8000000000000007",
+    "EventName": "FW_IPI_RECEIVED",
+    "BriefDescription": "Received IPI from other HART event"
+  },
+  {
+    "PublicDescription": "Sent FENCE.I request to other HART event",
+    "ConfigCode": "0x8000000000000008",
+    "EventName": "FW_FENCE_I_SENT",
+    "BriefDescription": "Sent FENCE.I request to other HART event"
+  },
+  {
+    "PublicDescription": "Received FENCE.I request from other HART event",
+    "ConfigCode": "0x8000000000000009",
+    "EventName": "FW_FENCE_I_RECEIVED",
+    "BriefDescription": "Received FENCE.I request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent SFENCE.VMA request to other HART event",
+    "ConfigCode": "0x800000000000000a",
+    "EventName": "FW_SFENCE_VMA_SENT",
+    "BriefDescription": "Sent SFENCE.VMA request to other HART event"
+  },
+  {
+    "PublicDescription": "Received SFENCE.VMA request from other HART event",
+    "ConfigCode": "0x800000000000000b",
+    "EventName": "FW_SFENCE_VMA_RECEIVED",
+    "BriefDescription": "Received SFENCE.VMA request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent SFENCE.VMA with ASID request to other HART event",
+    "ConfigCode": "0x800000000000000c",
+    "EventName": "FW_SFENCE_VMA_RECEIVED",
+    "BriefDescription": "Sent SFENCE.VMA with ASID request to other HART event"
+  },
+  {
+    "PublicDescription": "Received SFENCE.VMA with ASID request from other HART event",
+    "ConfigCode": "0x800000000000000d",
+    "EventName": "FW_SFENCE_VMA_ASID_RECEIVED",
+    "BriefDescription": "Received SFENCE.VMA with ASID request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent HFENCE.GVMA request to other HART event",
+    "ConfigCode": "0x800000000000000e",
+    "EventName": "FW_HFENCE_GVMA_SENT",
+    "BriefDescription": "Sent HFENCE.GVMA request to other HART event"
+  },
+  {
+    "PublicDescription": "Received HFENCE.GVMA request from other HART event",
+    "ConfigCode": "0x800000000000000f",
+    "EventName": "FW_HFENCE_GVMA_RECEIVED",
+    "BriefDescription": "Received HFENCE.GVMA request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent HFENCE.GVMA with VMID request to other HART event",
+    "ConfigCode": "0x8000000000000010",
+    "EventName": "FW_HFENCE_GVMA_VMID_SENT",
+    "BriefDescription": "Sent HFENCE.GVMA with VMID request to other HART event"
+  },
+  {
+    "PublicDescription": "Received HFENCE.GVMA with VMID request from other HART event",
+    "ConfigCode": "0x8000000000000011",
+    "EventName": "FW_HFENCE_GVMA_VMID_RECEIVED",
+    "BriefDescription": "Received HFENCE.GVMA with VMID request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent HFENCE.VVMA request to other HART event",
+    "ConfigCode": "0x8000000000000012",
+    "EventName": "FW_HFENCE_VVMA_SENT",
+    "BriefDescription": "Sent HFENCE.VVMA request to other HART event"
+  },
+  {
+    "PublicDescription": "Received HFENCE.VVMA request from other HART event",
+    "ConfigCode": "0x8000000000000013",
+    "EventName": "FW_HFENCE_VVMA_RECEIVED",
+    "BriefDescription": "Received HFENCE.VVMA request from other HART event"
+  },
+  {
+    "PublicDescription": "Sent HFENCE.VVMA with ASID request to other HART event",
+    "ConfigCode": "0x8000000000000014",
+    "EventName": "FW_HFENCE_VVMA_ASID_SENT",
+    "BriefDescription": "Sent HFENCE.VVMA with ASID request to other HART event"
+  },
+  {
+    "PublicDescription": "Received HFENCE.VVMA with ASID request from other HART event",
+    "ConfigCode": "0x8000000000000015",
+    "EventName": "FW_HFENCE_VVMA_ASID_RECEIVED",
+    "BriefDescription": "Received HFENCE.VVMA with ASID request from other HART event"
+  }
+]
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v6 3/3] perf vendor events riscv: add Sifive U74 JSON file
  2022-08-15 13:22 [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 1/3] perf tools riscv: Add support for get_cpuid_str function Nikita Shubin
  2022-08-15 13:22 ` [PATCH v6 2/3] perf arch events: riscv sbi firmware std event files Nikita Shubin
@ 2022-08-15 13:22 ` Nikita Shubin
  2022-10-04  2:54 ` [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Palmer Dabbelt
  3 siblings, 0 replies; 7+ messages in thread
From: Nikita Shubin @ 2022-08-15 13:22 UTC (permalink / raw)
  Cc: linux, Anup Patel, Arnaldo Carvalho de Melo,
	João Mário Domingos, Nikita Shubin, Kautuk Consul,
	Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, linux-kernel, linux-perf-users, linux-riscv

From: Nikita Shubin <n.shubin@yadro.com>

This patch add the Sifive U74 JSON file.

Derived-from-code-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
Link: https://sifive.cdn.prismic.io/sifive/ad5577a0-9a00-45c9-a5d0-424a3d586060_u74_core_complex_manual_21G3.pdf
Tested-by: Kautuk Consul <kconsul@ventanamicro.com>
---
 tools/perf/pmu-events/arch/riscv/mapfile.csv  | 17 ++++
 .../arch/riscv/sifive/u74/firmware.json       | 68 ++++++++++++++
 .../arch/riscv/sifive/u74/instructions.json   | 92 +++++++++++++++++++
 .../arch/riscv/sifive/u74/memory.json         | 32 +++++++
 .../arch/riscv/sifive/u74/microarch.json      | 57 ++++++++++++
 5 files changed, 266 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/riscv/mapfile.csv
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json
 create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json

diff --git a/tools/perf/pmu-events/arch/riscv/mapfile.csv b/tools/perf/pmu-events/arch/riscv/mapfile.csv
new file mode 100644
index 000000000000..c61b3d6ef616
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/mapfile.csv
@@ -0,0 +1,17 @@
+# Format:
+#	MVENDORID-MARCHID-MIMPID,Version,JSON/file/pathname,Type
+#
+# where
+#	MVENDORID	JEDEC code of the core provider
+#	MARCHID		base microarchitecture of the hart
+#	MIMPID		unique encoding of the version
+#			of the processor implementation
+#	Version could be used to track version of JSON file
+#		but currently unused.
+#	JSON/file/pathname is the path to JSON file, relative
+#		to tools/perf/pmu-events/arch/riscv/.
+#	Type is core, uncore etc
+#
+#
+#MVENDORID-MARCHID-MIMPID,Version,Filename,EventType
+0x489-0x8000000000000007-0x[[:xdigit:]]+,v1,sifive/u74,core
diff --git a/tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json b/tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
new file mode 100644
index 000000000000..9b4a032186a7
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
@@ -0,0 +1,68 @@
+[
+  {
+    "ArchStdEvent": "FW_MISALIGNED_LOAD"
+  },
+  {
+    "ArchStdEvent": "FW_MISALIGNED_STORE"
+  },
+  {
+    "ArchStdEvent": "FW_ACCESS_LOAD"
+  },
+  {
+    "ArchStdEvent": "FW_ACCESS_STORE"
+  },
+  {
+    "ArchStdEvent": "FW_ILLEGAL_INSN"
+  },
+  {
+    "ArchStdEvent": "FW_SET_TIMER"
+  },
+  {
+    "ArchStdEvent": "FW_IPI_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_IPI_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_FENCE_I_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_FENCE_I_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_SFENCE_VMA_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_SFENCE_VMA_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_SFENCE_VMA_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_SFENCE_VMA_ASID_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_GVMA_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_GVMA_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_GVMA_VMID_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_GVMA_VMID_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_VVMA_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_VVMA_RECEIVED"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_VVMA_ASID_SENT"
+  },
+  {
+    "ArchStdEvent": "FW_HFENCE_VVMA_ASID_RECEIVED"
+  }
+]
diff --git a/tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json b/tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
new file mode 100644
index 000000000000..5eab718c9256
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
@@ -0,0 +1,92 @@
+[
+  {
+    "EventName": "EXCEPTION_TAKEN",
+    "EventCode": "0x0000100",
+    "BriefDescription": "Exception taken"
+  },
+  {
+    "EventName": "INTEGER_LOAD_RETIRED",
+    "EventCode": "0x0000200",
+    "BriefDescription": "Integer load instruction retired"
+  },
+  {
+    "EventName": "INTEGER_STORE_RETIRED",
+    "EventCode": "0x0000400",
+    "BriefDescription": "Integer store instruction retired"
+  },
+  {
+    "EventName": "ATOMIC_MEMORY_RETIRED",
+    "EventCode": "0x0000800",
+    "BriefDescription": "Atomic memory operation retired"
+  },
+  {
+    "EventName": "SYSTEM_INSTRUCTION_RETIRED",
+    "EventCode": "0x0001000",
+    "BriefDescription": "System instruction retired"
+  },
+  {
+    "EventName": "INTEGER_ARITHMETIC_RETIRED",
+    "EventCode": "0x0002000",
+    "BriefDescription": "Integer arithmetic instruction retired"
+  },
+  {
+    "EventName": "CONDITIONAL_BRANCH_RETIRED",
+    "EventCode": "0x0004000",
+    "BriefDescription": "Conditional branch retired"
+  },
+  {
+    "EventName": "JAL_INSTRUCTION_RETIRED",
+    "EventCode": "0x0008000",
+    "BriefDescription": "JAL instruction retired"
+  },
+  {
+    "EventName": "JALR_INSTRUCTION_RETIRED",
+    "EventCode": "0x0010000",
+    "BriefDescription": "JALR instruction retired"
+  },
+  {
+    "EventName": "INTEGER_MULTIPLICATION_RETIRED",
+    "EventCode": "0x0020000",
+    "BriefDescription": "Integer multiplication instruction retired"
+  },
+  {
+    "EventName": "INTEGER_DIVISION_RETIRED",
+    "EventCode": "0x0040000",
+    "BriefDescription": "Integer division instruction retired"
+  },
+  {
+    "EventName": "FP_LOAD_RETIRED",
+    "EventCode": "0x0080000",
+    "BriefDescription": "Floating-point load instruction retired"
+  },
+  {
+    "EventName": "FP_STORE_RETIRED",
+    "EventCode": "0x0100000",
+    "BriefDescription": "Floating-point store instruction retired"
+  },
+  {
+    "EventName": "FP_ADDITION_RETIRED",
+    "EventCode": "0x0200000",
+    "BriefDescription": "Floating-point addition retired"
+  },
+  {
+    "EventName": "FP_MULTIPLICATION_RETIRED",
+    "EventCode": "0x0400000",
+    "BriefDescription": "Floating-point multiplication retired"
+  },
+  {
+    "EventName": "FP_FUSEDMADD_RETIRED",
+    "EventCode": "0x0800000",
+    "BriefDescription": "Floating-point fused multiply-add retired"
+  },
+  {
+    "EventName": "FP_DIV_SQRT_RETIRED",
+    "EventCode": "0x1000000",
+    "BriefDescription": "Floating-point division or square-root retired"
+  },
+  {
+    "EventName": "OTHER_FP_RETIRED",
+    "EventCode": "0x2000000",
+    "BriefDescription": "Other floating-point instruction retired"
+  }
+]
\ No newline at end of file
diff --git a/tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json b/tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json
new file mode 100644
index 000000000000..be1a46312ac3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json
@@ -0,0 +1,32 @@
+[
+  {
+    "EventName": "ICACHE_RETIRED",
+    "EventCode": "0x0000102",
+    "BriefDescription": "Instruction cache miss"
+  },
+  {
+    "EventName": "DCACHE_MISS_MMIO_ACCESSES",
+    "EventCode": "0x0000202",
+    "BriefDescription": "Data cache miss or memory-mapped I/O access"
+  },
+  {
+    "EventName": "DCACHE_WRITEBACK",
+    "EventCode": "0x0000402",
+    "BriefDescription": "Data cache write-back"
+  },
+  {
+    "EventName": "INST_TLB_MISS",
+    "EventCode": "0x0000802",
+    "BriefDescription": "Instruction TLB miss"
+  },
+  {
+    "EventName": "DATA_TLB_MISS",
+    "EventCode": "0x0001002",
+    "BriefDescription": "Data TLB miss"
+  },
+  {
+    "EventName": "UTLB_MISS",
+    "EventCode": "0x0002002",
+    "BriefDescription": "UTLB miss"
+  }
+]
\ No newline at end of file
diff --git a/tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json b/tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json
new file mode 100644
index 000000000000..50ffa55418cb
--- /dev/null
+++ b/tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json
@@ -0,0 +1,57 @@
+[
+  {
+    "EventName": "ADDRESSGEN_INTERLOCK",
+    "EventCode": "0x0000101",
+    "BriefDescription": "Address-generation interlock"
+  },
+  {
+    "EventName": "LONGLAT_INTERLOCK",
+    "EventCode": "0x0000201",
+    "BriefDescription": "Long-latency interlock"
+  },
+  {
+    "EventName": "CSR_READ_INTERLOCK",
+    "EventCode": "0x0000401",
+    "BriefDescription": "CSR read interlock"
+  },
+  {
+    "EventName": "ICACHE_ITIM_BUSY",
+    "EventCode": "0x0000801",
+    "BriefDescription": "Instruction cache/ITIM busy"
+  },
+  {
+    "EventName": "DCACHE_DTIM_BUSY",
+    "EventCode": "0x0001001",
+    "BriefDescription": "Data cache/DTIM busy"
+  },
+  {
+    "EventName": "BRANCH_DIRECTION_MISPREDICTION",
+    "EventCode": "0x0002001",
+    "BriefDescription": "Branch direction misprediction"
+  },
+  {
+    "EventName": "BRANCH_TARGET_MISPREDICTION",
+    "EventCode": "0x0004001",
+    "BriefDescription": "Branch/jump target misprediction"
+  },
+  {
+    "EventName": "PIPE_FLUSH_CSR_WRITE",
+    "EventCode": "0x0008001",
+    "BriefDescription": "Pipeline flush from CSR write"
+  },
+  {
+    "EventName": "PIPE_FLUSH_OTHER_EVENT",
+    "EventCode": "0x0010001",
+    "BriefDescription": "Pipeline flush from other event"
+  },
+  {
+    "EventName": "INTEGER_MULTIPLICATION_INTERLOCK",
+    "EventCode": "0x0020001",
+    "BriefDescription": "Integer multiplication interlock"
+  },
+  {
+    "EventName": "FP_INTERLOCK",
+    "EventCode": "0x0040001",
+    "BriefDescription": "Floating-point interlock"
+  }
+]
\ No newline at end of file
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU
  2022-08-15 13:22 [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Nikita Shubin
                   ` (2 preceding siblings ...)
  2022-08-15 13:22 ` [PATCH v6 3/3] perf vendor events riscv: add Sifive U74 JSON file Nikita Shubin
@ 2022-10-04  2:54 ` Palmer Dabbelt
  2022-10-17  6:19   ` Nikita Shubin
  3 siblings, 1 reply; 7+ messages in thread
From: Palmer Dabbelt @ 2022-10-04  2:54 UTC (permalink / raw)
  To: nikita.shubin, acme
  Cc: linux, anup, acme, n.shubin, aou, alexander.shishkin, mingo,
	jolsa, linux-kernel, linux-perf-users, linux-riscv, mark.rutland,
	namhyung, Paul Walmsley, peterz

On Mon, 15 Aug 2022 06:22:37 PDT (-0700), nikita.shubin@maquefel.me wrote:
> From: Nikita Shubin <n.shubin@yadro.com>
>
> This series aims to provide matching vendor SoC with corresponded JSON bindings.
>
> The ID string is proposed to be in form of MVENDORID-MARCHID-MIMPID, for example
> for Sifive Unmatched the corresponding string will be:
>
> 0x489-0x8000000000000007-0x[[:xdigit:]]+,v1,sifive/u74,core
>
> Where MIMPID can vary as all impl supported the same number of events, this might not
> be true for all future SoC however.
>
> Also added SBI firmware events pretty names, as any firmware that supports SBI PMU
> should also support firmare events [1].
>
> Series depends on patch by Anup Patel, exposing mvendor, marchid and mimpid
> to "/proc/cpuinfo" [2].
>
> [1] https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc
> [2] https://lkml.org/lkml/2022/7/27/23
>
> Link to previous version:
> https://patchwork.kernel.org/project/linux-riscv/list/?series=653649
>
> See original cover letter by João Mário Domingos:
> https://patchwork.kernel.org/project/linux-riscv/cover/20211116154812.17008-1-joao.mario@tecnico.ulisboa.pt/
>
> Tested with the following OpenSBI device tree bindings:
>
> ```
> pmu {
>         compatible = "riscv,pmu";
>         riscv,event-to-mhpmcounters =
>                 <0x03 0x06 0x18
>                 0x10001 0x10002 0x18
>                 0x10009 0x10009 0x18
>                 0x10011 0x10011 0x18
>                 0x10019 0x10019 0x18
>                 0x10021 0x10021 0x18>;
>         riscv,event-to-mhpmevent =
>                 <0x03 0x00000000 0x1801
>                 0x04 0x00000000 0x0302
>                 0x05 0x00000000 0x4000
>                 0x06 0x00000000 0x6001
>                 0x10001 0x00000000 0x0202
>                 0x10002 0x00000000 0x0402
>                 0x10009 0x00000000 0x0102
>                 0x10011 0x00000000 0x2002
>                 0x10019 0x00000000 0x1002
>                 0x10021 0x00000000 0x0802>;
>         riscv,raw-event-to-mhpmcounters =
>                 <0x00000000 0x03ffff00 0x0 0x0 0x18
>                 0x00000000 0x0007ff01 0x0 0x1 0x18
>                 0x00000000 0x00003f02 0x0 0x2 0x18>;
> };
> ```
> ---
> v5->v6:
> Will Deacon:
> 	- dropped first patch from v5 series it has been merged into master
> Mayuresh Chitale:
> 	- fixed FW_SFENCE_VMA_SENT event code
>
> - added Tested-by tags
> ---
>
> Nikita Shubin (3):
>   perf arch events: riscv sbi firmware std event files
>   perf vendor events riscv: add Sifive U74 JSON file
>   RISC-V: Added Syntacore SCR7 PMU events
>
>  tools/perf/pmu-events/arch/riscv/mapfile.csv  |  18 +++
>  .../arch/riscv/riscv-sbi-firmware.json        | 134 ++++++++++++++++++
>  .../arch/riscv/sifive/u74/firmware.json       |  68 +++++++++
>  .../arch/riscv/sifive/u74/instructions.json   |  92 ++++++++++++
>  .../arch/riscv/sifive/u74/memory.json         |  32 +++++
>  .../arch/riscv/sifive/u74/microarch.json      |  57 ++++++++
>  .../arch/riscv/syntacore/scr7/L1D_cache.json  | 102 +++++++++++++
>  .../arch/riscv/syntacore/scr7/L1I_cache.json  |  67 +++++++++
>  .../arch/riscv/syntacore/scr7/exceptions.json |  67 +++++++++
>  .../arch/riscv/syntacore/scr7/execution.json  |  97 +++++++++++++
>  .../arch/riscv/syntacore/scr7/firmware.json   |  68 +++++++++
>  .../arch/riscv/syntacore/scr7/general.json    |  47 ++++++
>  .../arch/riscv/syntacore/scr7/interrupts.json |  32 +++++
>  .../arch/riscv/syntacore/scr7/prediction.json |  52 +++++++
>  14 files changed, 933 insertions(+)
>  create mode 100644 tools/perf/pmu-events/arch/riscv/mapfile.csv
>  create mode 100644 tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1D_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1I_cache.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/exceptions.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/execution.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/firmware.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/general.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/interrupts.json
>  create mode 100644 tools/perf/pmu-events/arch/riscv/syntacore/scr7/prediction.json

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>

not sure if you're looking for this via the RISC-V tree, it looks like 
usually these get merged via a perf tree?  That's OK with me, but I'm 
also OK taking them through the RISC-V tree.  Note that cpuinfo 
dependency seems to be triggering kasan failures, so we'll at least need 
to sort that out.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU
  2022-10-04  2:54 ` [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Palmer Dabbelt
@ 2022-10-17  6:19   ` Nikita Shubin
  2022-10-17 12:24     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 7+ messages in thread
From: Nikita Shubin @ 2022-10-17  6:19 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: acme, linux, anup, n.shubin, aou, alexander.shishkin, mingo,
	jolsa, linux-kernel, linux-perf-users, linux-riscv, mark.rutland,
	namhyung, Paul Walmsley, peterz, Palmer Dabbelt

Hello Arnaldo!

On Mon, 03 Oct 2022 19:54:40 -0700 (PDT)
Palmer Dabbelt <palmer@dabbelt.com> wrote:

> On Mon, 15 Aug 2022 06:22:37 PDT (-0700), nikita.shubin@maquefel.me
> wrote:
> > From: Nikita Shubin <n.shubin@yadro.com>
> >
> > This series aims to provide matching vendor SoC with corresponded
> > JSON bindings.
> >
> > The ID string is proposed to be in form of
> > MVENDORID-MARCHID-MIMPID, for example for Sifive Unmatched the
> > corresponding string will be:
> >
> > 0x489-0x8000000000000007-0x[[:xdigit:]]+,v1,sifive/u74,core
> >
> > Where MIMPID can vary as all impl supported the same number of
> > events, this might not be true for all future SoC however.
> >
> > Also added SBI firmware events pretty names, as any firmware that
> > supports SBI PMU should also support firmare events [1].
> >
> > Series depends on patch by Anup Patel, exposing mvendor, marchid
> > and mimpid to "/proc/cpuinfo" [2].
> >
> > [1]
> > https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc
> > [2] https://lkml.org/lkml/2022/7/27/23
> >
> > Link to previous version:
> > https://patchwork.kernel.org/project/linux-riscv/list/?series=653649
> >
> > See original cover letter by João Mário Domingos:
> > https://patchwork.kernel.org/project/linux-riscv/cover/20211116154812.17008-1-joao.mario@tecnico.ulisboa.pt/
> >
> > Tested with the following OpenSBI device tree bindings:
> >
> > ```
> > pmu {
> >         compatible = "riscv,pmu";
> >         riscv,event-to-mhpmcounters =
> >                 <0x03 0x06 0x18
> >                 0x10001 0x10002 0x18
> >                 0x10009 0x10009 0x18
> >                 0x10011 0x10011 0x18
> >                 0x10019 0x10019 0x18
> >                 0x10021 0x10021 0x18>;
> >         riscv,event-to-mhpmevent =
> >                 <0x03 0x00000000 0x1801
> >                 0x04 0x00000000 0x0302
> >                 0x05 0x00000000 0x4000
> >                 0x06 0x00000000 0x6001
> >                 0x10001 0x00000000 0x0202
> >                 0x10002 0x00000000 0x0402
> >                 0x10009 0x00000000 0x0102
> >                 0x10011 0x00000000 0x2002
> >                 0x10019 0x00000000 0x1002
> >                 0x10021 0x00000000 0x0802>;
> >         riscv,raw-event-to-mhpmcounters =
> >                 <0x00000000 0x03ffff00 0x0 0x0 0x18
> >                 0x00000000 0x0007ff01 0x0 0x1 0x18
> >                 0x00000000 0x00003f02 0x0 0x2 0x18>;
> > };
> > ```
> > ---
> > v5->v6:
> > Will Deacon:
> > 	- dropped first patch from v5 series it has been merged
> > into master Mayuresh Chitale:
> > 	- fixed FW_SFENCE_VMA_SENT event code
> >
> > - added Tested-by tags
> > ---
> >
> > Nikita Shubin (3):
> >   perf arch events: riscv sbi firmware std event files
> >   perf vendor events riscv: add Sifive U74 JSON file
> >   RISC-V: Added Syntacore SCR7 PMU events
> >
> >  tools/perf/pmu-events/arch/riscv/mapfile.csv  |  18 +++
> >  .../arch/riscv/riscv-sbi-firmware.json        | 134
> > ++++++++++++++++++ .../arch/riscv/sifive/u74/firmware.json       |
> > 68 +++++++++ .../arch/riscv/sifive/u74/instructions.json   |  92
> > ++++++++++++ .../arch/riscv/sifive/u74/memory.json         |  32
> > +++++ .../arch/riscv/sifive/u74/microarch.json      |  57 ++++++++
> >  .../arch/riscv/syntacore/scr7/L1D_cache.json  | 102 +++++++++++++
> >  .../arch/riscv/syntacore/scr7/L1I_cache.json  |  67 +++++++++
> >  .../arch/riscv/syntacore/scr7/exceptions.json |  67 +++++++++
> >  .../arch/riscv/syntacore/scr7/execution.json  |  97 +++++++++++++
> >  .../arch/riscv/syntacore/scr7/firmware.json   |  68 +++++++++
> >  .../arch/riscv/syntacore/scr7/general.json    |  47 ++++++
> >  .../arch/riscv/syntacore/scr7/interrupts.json |  32 +++++
> >  .../arch/riscv/syntacore/scr7/prediction.json |  52 +++++++
> >  14 files changed, 933 insertions(+)
> >  create mode 100644 tools/perf/pmu-events/arch/riscv/mapfile.csv
> >  create mode 100644
> > tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json create
> > mode 100644
> > tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json create
> > mode 100644
> > tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json create mode
> > 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1D_cache.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/L1I_cache.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/exceptions.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/execution.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/firmware.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/general.json create
> > mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/interrupts.json
> > create mode 100644
> > tools/perf/pmu-events/arch/riscv/syntacore/scr7/prediction.json  
> 
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> 
> not sure if you're looking for this via the RISC-V tree, it looks
> like usually these get merged via a perf tree?  That's OK with me,
> but I'm also OK taking them through the RISC-V tree.  Note that
> cpuinfo dependency seems to be triggering kasan failures, so we'll at
> least need to sort that out.

As i remember correctly you were willing to take these patches into 6.0
=).

Well they are acked by Palmer and [2] series, which my series depends
on, also have been accepted.

I can resend if it helps you.

Yours, 
Nikita Shubin.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU
  2022-10-17  6:19   ` Nikita Shubin
@ 2022-10-17 12:24     ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-10-17 12:24 UTC (permalink / raw)
  To: Nikita Shubin
  Cc: acme, linux, anup, n.shubin, aou, alexander.shishkin, mingo,
	jolsa, linux-kernel, linux-perf-users, linux-riscv, mark.rutland,
	namhyung, Paul Walmsley, peterz, Palmer Dabbelt

Em Mon, Oct 17, 2022 at 09:19:48AM +0300, Nikita Shubin escreveu:
> On Mon, 03 Oct 2022 19:54:40 -0700 (PDT)
> Palmer Dabbelt <palmer@dabbelt.com> wrote:
> > On Mon, 15 Aug 2022 06:22:37 PDT (-0700), nikita.shubin@maquefel.me wrote:
> > > From: Nikita Shubin <n.shubin@yadro.com>

> > > This series aims to provide matching vendor SoC with corresponded
> > > JSON bindings.
> > Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
 
> > not sure if you're looking for this via the RISC-V tree, it looks
> > like usually these get merged via a perf tree?  That's OK with me,
> > but I'm also OK taking them through the RISC-V tree.  Note that
> > cpuinfo dependency seems to be triggering kasan failures, so we'll at
> > least need to sort that out.

> As i remember correctly you were willing to take these patches into 6.0
> =).

> Well they are acked by Palmer and [2] series, which my series depends
> on, also have been accepted.

> I can resend if it helps you.

I picked it from this Message-ID with b4, applied cleanly, but yesterday
the merge window closed for v6.1, I applied it to my perf/core branch,
for v6.2.

Thanks,

- Arnaldo

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-17 12:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-15 13:22 [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Nikita Shubin
2022-08-15 13:22 ` [PATCH v6 1/3] perf tools riscv: Add support for get_cpuid_str function Nikita Shubin
2022-08-15 13:22 ` [PATCH v6 2/3] perf arch events: riscv sbi firmware std event files Nikita Shubin
2022-08-15 13:22 ` [PATCH v6 3/3] perf vendor events riscv: add Sifive U74 JSON file Nikita Shubin
2022-10-04  2:54 ` [PATCH v6 0/3] RISC-V: Create unique identification for SoC PMU Palmer Dabbelt
2022-10-17  6:19   ` Nikita Shubin
2022-10-17 12:24     ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).