Message ID | 20210513130655.73154-1-gshan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm64: selftests: Request PMU feature in get-reg-list | expand |
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@redhat.com> > --- > 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@redhat.com
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@redhat.com> >> --- >> 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@redhat.com > Thanks, Marc. Yes, Drew's series already had the fix. Sorry about the noise and please ignore this. Thanks, Gavin
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; }
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@redhat.com> --- tools/testing/selftests/kvm/aarch64/get-reg-list.c | 2 ++ 1 file changed, 2 insertions(+)