This series adds support for the optional fixed instruction counter
added in Armv9.4 PMU. Most of the series is a refactoring to remove the
index to counter number conversion which dates back to the Armv7 PMU
driver. Removing it is necessary in order to support more than 32
counters without a bunch of conditional code further complicating the
conversion.
Patch 1 changes struct arm_pmu.num_events to a bitmap of events, and
updates all the users. This removes the index to counter conversion
on the PMUv3 and Armv7 drivers.
Patch 2 updates various register accessors to use 64-bit values matching
the register size.
Patches 3-4 update KVM PMU register accesses to use shared accessors
from asm/arm_pmuv3.h.
Patches 5-6 rework KVM and perf PMU defines for counter indexes and
number of counters.
Patch 7 finally adds support for the fixed instruction counter.
I tested this on FVP with VHE host and a guest. Also ran kvm-unittests
in Arm's kernelCI.