Message ID | 20240716-pmu-v2-5-f3e3e4b2d3d5@daynix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/arm/kvm: Report PMU unavailability | expand |
On 16/7/24 10:28, Akihiko Odaki wrote: > target/arm/kvm.c checked PMU availability but claimed PMU is > available even if it is not. In fact, Asahi Linux supports KVM but lacks > PMU support. Only advertise PMU availability only when it is really > available. > > Fixes: dc40d45ebd8e ("target/arm/kvm: Move kvm_arm_get_host_cpu_features and unexport") Commit dc40d45ebd8e only moves the code around. I suppose you meant: Fixes: 929e754d5a ("arm: Add an option to turn on/off vPMU support") > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > target/arm/kvm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/arm/kvm.c b/target/arm/kvm.c > index 70f79eda33cd..b20a35052f41 100644 > --- a/target/arm/kvm.c > +++ b/target/arm/kvm.c > @@ -280,6 +280,7 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) > if (kvm_arm_pmu_supported()) { > init.features[0] |= 1 << KVM_ARM_VCPU_PMU_V3; > pmu_supported = true; > + features |= 1ULL << ARM_FEATURE_PMU; > } > > if (!kvm_arm_create_scratch_host_vcpu(cpus_to_try, fdarray, &init)) { > @@ -448,7 +449,6 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) > features |= 1ULL << ARM_FEATURE_V8; > features |= 1ULL << ARM_FEATURE_NEON; > features |= 1ULL << ARM_FEATURE_AARCH64; > - features |= 1ULL << ARM_FEATURE_PMU; > features |= 1ULL << ARM_FEATURE_GENERIC_TIMER; > > ahcf->features = features; >
diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 70f79eda33cd..b20a35052f41 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -280,6 +280,7 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) if (kvm_arm_pmu_supported()) { init.features[0] |= 1 << KVM_ARM_VCPU_PMU_V3; pmu_supported = true; + features |= 1ULL << ARM_FEATURE_PMU; } if (!kvm_arm_create_scratch_host_vcpu(cpus_to_try, fdarray, &init)) { @@ -448,7 +449,6 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) features |= 1ULL << ARM_FEATURE_V8; features |= 1ULL << ARM_FEATURE_NEON; features |= 1ULL << ARM_FEATURE_AARCH64; - features |= 1ULL << ARM_FEATURE_PMU; features |= 1ULL << ARM_FEATURE_GENERIC_TIMER; ahcf->features = features;
target/arm/kvm.c checked PMU availability but claimed PMU is available even if it is not. In fact, Asahi Linux supports KVM but lacks PMU support. Only advertise PMU availability only when it is really available. Fixes: dc40d45ebd8e ("target/arm/kvm: Move kvm_arm_get_host_cpu_features and unexport") Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- target/arm/kvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)