Re: [PATCH] KVM: arm64: selftests: Request PMU feature in get-reg-list

From: Marc Zyngier
Date: Thu May 13 2021 - 07:15:23 EST


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
--
Jazz is not dead. It just smells funny...