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

From: Gavin Shan
Date: Thu May 13 2021 - 07:20:46 EST


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