KVM: arm64: Repaint pmcr_n into nr_pmu_counters
authorMarc Zyngier <maz@kernel.org>
Fri, 11 Apr 2025 10:54:22 +0000 (11:54 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 11 Apr 2025 10:54:22 +0000 (11:54 +0100)
The pmcr_n field obviously refers to PMCR_EL0.N, but is generally used
as the number of counters seen by the guest. Rename it accordingly.

Suggested-by: Oliver upton <oliver.upton@linux.dev>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/pmu-emul.c
arch/arm64/kvm/sys_regs.c

index e98cfe7855a62427c9445e45f951955e42ee230c..81a0dcf56d2bf0fcc94a4274e1553ca83fc64acd 100644 (file)
@@ -359,8 +359,8 @@ struct kvm_arch {
 
        cpumask_var_t supported_cpus;
 
-       /* PMCR_EL0.N value for the guest */
-       u8 pmcr_n;
+       /* Maximum number of counters for the guest */
+       u8 nr_pmu_counters;
 
        /* Iterator for idreg debugfs */
        u8      idreg_debugfs_iter;
index a1bc10d7116a54de2c3beb335e1877f9e6f329fe..60b5a5e4a6c59576eb731a4217624c4f5d903a19 100644 (file)
@@ -280,7 +280,7 @@ static u64 kvm_pmu_hyp_counter_mask(struct kvm_vcpu *vcpu)
                return 0;
 
        hpmn = SYS_FIELD_GET(MDCR_EL2, HPMN, __vcpu_sys_reg(vcpu, MDCR_EL2));
-       n = vcpu->kvm->arch.pmcr_n;
+       n = vcpu->kvm->arch.nr_pmu_counters;
 
        /*
         * Programming HPMN to a value greater than PMCR_EL0.N is
@@ -1032,7 +1032,7 @@ static void kvm_arm_set_pmu(struct kvm *kvm, struct arm_pmu *arm_pmu)
        lockdep_assert_held(&kvm->arch.config_lock);
 
        kvm->arch.arm_pmu = arm_pmu;
-       kvm->arch.pmcr_n = kvm_arm_pmu_get_max_counters(kvm);
+       kvm->arch.nr_pmu_counters = kvm_arm_pmu_get_max_counters(kvm);
 }
 
 /**
@@ -1261,7 +1261,7 @@ u64 kvm_vcpu_read_pmcr(struct kvm_vcpu *vcpu)
 {
        u64 pmcr = __vcpu_sys_reg(vcpu, PMCR_EL0);
 
-       return u64_replace_bits(pmcr, vcpu->kvm->arch.pmcr_n, ARMV8_PMU_PMCR_N);
+       return u64_replace_bits(pmcr, vcpu->kvm->arch.nr_pmu_counters, ARMV8_PMU_PMCR_N);
 }
 
 void kvm_pmu_nested_transition(struct kvm_vcpu *vcpu)
index 005ad28f7306810201df9d093f7bbb6d936d6c2b..aec7d9104cfeeee756b1e0c830a582b6fba7e563 100644 (file)
@@ -785,7 +785,7 @@ static unsigned int pmu_visibility(const struct kvm_vcpu *vcpu,
 static u64 reset_pmu_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r)
 {
        u64 mask = BIT(ARMV8_PMU_CYCLE_IDX);
-       u8 n = vcpu->kvm->arch.pmcr_n;
+       u8 n = vcpu->kvm->arch.nr_pmu_counters;
 
        if (n)
                mask |= GENMASK(n - 1, 0);
@@ -1217,7 +1217,7 @@ static int set_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r,
         */
        if (!kvm_vm_has_ran_once(kvm) &&
            new_n <= kvm_arm_pmu_get_max_counters(kvm))
-               kvm->arch.pmcr_n = new_n;
+               kvm->arch.nr_pmu_counters = new_n;
 
        mutex_unlock(&kvm->arch.config_lock);