qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] Support discontinuous PMU counters
@ 2023-10-18 15:39 Rob Bradford
  2023-10-18 15:39 ` [PATCH v4 1/6] target/riscv: Propagate error from PMU setup Rob Bradford
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Rob Bradford @ 2023-10-18 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, atishp, palmer, alistair.francis, bin.meng, liweiwei,
	dbarboza, zhiwei_liu, Rob Bradford

Currently the available PMU counters start at HPM3 and run through to
the number specified by the "pmu-num" property. There is no
requirement in the specification that the available counters be
continously numbered. This series add suppport for specifying a
discountinuous range of counters though a "pmu-mask" property.

v4:

* Added more R-B tags (just missing from 4 & 5)
* Added details on how to calculate mask
* Use custom property for "pmu-num" in order to give deprecation warning 
* Special case a zero value for "pmu-num"

v3:

* Use env_archcpu() in csr.c
* Re-added check to enforce deprectated "num-pmu" below limit
* Check that standard counters are not included in mask
* Remove use of MAKE_32BIT_MASK()

v2:

* Use cfg.pmu_mask wherever cfg.pmu_num was used previously
* Deprecate pmu_num property (warning, comment & updated documentation)
* Override default pmu_mask value iff pmu_num changed from default


Rob Bradford (6):
  target/riscv: Propagate error from PMU setup
  target/riscv: Don't assume PMU counters are continuous
  target/riscv: Use existing PMU counter mask in FDT generation
  target/riscv: Add "pmu-mask" property to replace "pmu-num"
  docs/about/deprecated: Document RISC-V "pmu-num" deprecation
  target/riscv: Use MAKE_64BIT_MASK instead of custom macro

 docs/about/deprecated.rst  | 12 +++++++++++
 hw/riscv/virt.c            |  2 +-
 target/riscv/cpu.c         | 31 +++++++++++++++++++++++++++-
 target/riscv/cpu_cfg.h     |  3 ++-
 target/riscv/csr.c         |  5 +++--
 target/riscv/machine.c     |  2 +-
 target/riscv/pmu.c         | 41 +++++++++++++++++++++-----------------
 target/riscv/pmu.h         |  5 +++--
 target/riscv/tcg/tcg-cpu.c | 10 ++++++++--
 9 files changed, 83 insertions(+), 28 deletions(-)

-- 
2.41.0



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

end of thread, other threads:[~2023-10-31 15:43 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 15:39 [PATCH v4 0/6] Support discontinuous PMU counters Rob Bradford
2023-10-18 15:39 ` [PATCH v4 1/6] target/riscv: Propagate error from PMU setup Rob Bradford
2023-10-24  0:03   ` Atish Kumar Patra
2023-10-18 15:39 ` [PATCH v4 2/6] target/riscv: Don't assume PMU counters are continuous Rob Bradford
2023-10-24  0:05   ` Atish Kumar Patra
2023-10-18 15:39 ` [PATCH v4 3/6] target/riscv: Use existing PMU counter mask in FDT generation Rob Bradford
2023-10-24  0:06   ` Atish Kumar Patra
2023-10-18 15:39 ` [PATCH v4 4/6] target/riscv: Add "pmu-mask" property to replace "pmu-num" Rob Bradford
2023-10-23  2:02   ` Alistair Francis
2023-10-31 15:43     ` Rob Bradford
2023-10-18 15:39 ` [PATCH v4 5/6] docs/about/deprecated: Document RISC-V "pmu-num" deprecation Rob Bradford
2023-10-23  2:04   ` Alistair Francis
2023-10-24  0:30     ` Atish Kumar Patra
2023-10-18 15:39 ` [PATCH v4 6/6] target/riscv: Use MAKE_64BIT_MASK instead of custom macro Rob Bradford
2023-10-24  0:31   ` Atish Kumar Patra

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).