perf vendor events: For the Arm Neoverse N2
authorAndrew Kilroy <andrew.kilroy@arm.com>
Fri, 10 Dec 2021 12:37:04 +0000 (12:37 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 16 Dec 2021 15:18:11 +0000 (12:18 -0300)
commit3987d65f45ed51a4650e911baa68f9b6ed4623cb
tree09abdb6cb0e311f95df887736b9e75b5d42849e8
parent888569dbcd80a0bb87371e9fb0fa3802c7aa9b14
perf vendor events: For the Arm Neoverse N2

Updates the common and microarch json file to add counters available in
the Arm Neoverse N2 chip, but should also apply to other ArmV8 and ArmV9
cpus.  Specified in ArmV8 architecture reference manual

  https://developer.arm.com/documentation/ddi0487/gb/?lang=en

Some of the counters added to armv8-common-and-microarch.json are
specified in the ArmV9 architecture reference manual supplement
(issue A.a):

  https://developer.arm.com/documentation/ddi0608/aa

The additional ArmV9 counters are

  TRB_WRAP
  TRCEXTOUT0
  TRCEXTOUT1
  TRCEXTOUT2
  TRCEXTOUT3
  CTI_TRIGOUT4
  CTI_TRIGOUT5
  CTI_TRIGOUT6
  CTI_TRIGOUT7

This patch also adds files in pmu-events/arch/arm64/arm/neoverse-n2 for
perf list to output the counter names in categories.

Counters on the Neoverse N2 are stated in its reference manual:

  https://developer.arm.com/documentation/102099/0000

Reviewed-by: John Garry <john.garry@huawei.com>
Signed-off-by: Andrew Kilroy <andrew.kilroy@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20211210123706.7490-2-andrew.kilroy@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
12 files changed:
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/branch.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/bus.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/cache.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/exception.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/instruction.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/memory.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/other.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/pipeline.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/spe.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/trace.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/armv8-common-and-microarch.json
tools/perf/pmu-events/arch/arm64/mapfile.csv