On 5/13/21 9:14 PM, Marc Zyngier wrote:
On 2021-05-13 14:06, Gavin Shan wrote:
Since the following commit, PMU registers are hidden from user until
it's explicitly requested by feeding feature (KVM_ARM_VCPU_PMU_V3).
Otherwise, 74 missing PMU registers are missing as the following
log indicates.
11663111cd49 ("KVM: arm64: Hide PMU registers from userspace when
not available")
# ./get-reg-list
Number blessed registers: 308
Number registers: 238
There are 74 missing registers.
The following lines are missing registers:
ARM64_SYS_REG(3, 0, 9, 14, 1),
ARM64_SYS_REG(3, 0, 9, 14, 2),
:
ARM64_SYS_REG(3, 3, 14, 15, 7),
This fixes the issue of wrongly reported missing PMU registers by
requesting it explicitly.
Signed-off-by: Gavin Shan <gshan@xxxxxxxxxx>
---
tools/testing/selftests/kvm/aarch64/get-reg-list.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/kvm/aarch64/get-reg-list.c
b/tools/testing/selftests/kvm/aarch64/get-reg-list.c
index 486932164cf2..6c6bdc6f5dc3 100644
--- a/tools/testing/selftests/kvm/aarch64/get-reg-list.c
+++ b/tools/testing/selftests/kvm/aarch64/get-reg-list.c
@@ -314,6 +314,8 @@ static void core_reg_fixup(void)
static void prepare_vcpu_init(struct kvm_vcpu_init *init)
{
+ init->features[0] |= 1 << KVM_ARM_VCPU_PMU_V3;
+
if (reg_list_sve())
init->features[0] |= 1 << KVM_ARM_VCPU_SVE;
}
Please see Andrew's series[1], which actually deals with options.
M.
[1] https://lore.kernel.org/r/20210507200416.198055-1-drjones@xxxxxxxxxx
Thanks, Marc. Yes, Drew's series already had the fix.
Sorry about the noise and please ignore this.
Thanks,
Gavin