OSDN Git Service

target/riscv: Add "pmu-mask" property to replace "pmu-num"
authorRob Bradford <rbradford@rivosinc.com>
Tue, 31 Oct 2023 15:37:16 +0000 (15:37 +0000)
committerAlistair Francis <alistair.francis@wdc.com>
Tue, 7 Nov 2023 01:06:02 +0000 (11:06 +1000)
commit69b3849bff4bd5ab82241ad09426cd9ff7078449
tree54c284d050500ab73d6ebbef081ced7ed2e55178
parent2571a6427c4ded57e44d4c6cf92376d869a75a5c
target/riscv: Add "pmu-mask" property to replace "pmu-num"

Using a mask instead of the number of PMU devices supports the accurate
emulation of platforms that have a discontinuous set of PMU counters.

The "pmu-num" property now generates a warning when used by the user on
the command line.

Rather than storing the value for "pmu-num" convert it directly to the
mask if it is specified (overwriting the default "pmu-mask" value)
likewise the value is calculated from the mask if the property value is
obtained.

In the unusual situation that both "pmu-mask" and "pmu-num" are provided
then then the order on the command line determines which takes
precedence (later overwriting earlier.)

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20231031154000.18134-5-rbradford@rivosinc.com>
[Changes by AF
 - Fixup ext_zihpm logic after rebase
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/cpu.c
target/riscv/cpu_cfg.h
target/riscv/machine.c
target/riscv/pmu.c
target/riscv/tcg/tcg-cpu.c