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; } -- 2.23.0