Message ID | 1549299218-44714-2-git-send-email-andrew.murray@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm/arm64: add support for chained counters | expand |
On 04/02/2019 16:53, Andrew Murray wrote: > The kvm_pmu_{enable/disable}_counter functions can enabled/disable > multiple counters at once as they operate on a bitmask. Let's > make this clearer by renaming the function. >> Signed-off-by: Andrew Murray <andrew.murray@arm.com> Reviewed-by: Julien Thierry <julien.thierry@arm.com> > --- > arch/arm64/kvm/sys_regs.c | 4 ++-- > include/kvm/arm_pmu.h | 8 ++++---- > virt/kvm/arm/pmu.c | 12 ++++++------ > 3 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index e3e3722..4a6fbac 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -857,11 +857,11 @@ static bool access_pmcnten(struct kvm_vcpu *vcpu, struct sys_reg_params *p, > if (r->Op2 & 0x1) { > /* accessing PMCNTENSET_EL0 */ > __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) |= val; > - kvm_pmu_enable_counter(vcpu, val); > + kvm_pmu_enable_counter_mask(vcpu, val); > } else { > /* accessing PMCNTENCLR_EL0 */ > __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) &= ~val; > - kvm_pmu_disable_counter(vcpu, val); > + kvm_pmu_disable_counter_mask(vcpu, val); > } > } else { > p->regval = __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) & mask; > diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h > index f87fe20..b73f31b 100644 > --- a/include/kvm/arm_pmu.h > +++ b/include/kvm/arm_pmu.h > @@ -46,8 +46,8 @@ void kvm_pmu_set_counter_value(struct kvm_vcpu *vcpu, u64 select_idx, u64 val); > u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu); > void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu); > void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu); > -void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val); > -void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val); > +void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val); > +void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val); > void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcpu); > void kvm_pmu_sync_hwstate(struct kvm_vcpu *vcpu); > bool kvm_pmu_should_notify_user(struct kvm_vcpu *vcpu); > @@ -83,8 +83,8 @@ static inline u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu) > } > static inline void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu) {} > static inline void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu) {} > -static inline void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val) {} > -static inline void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) {} > +static inline void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val) {} > +static inline void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val) {} > static inline void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcpu) {} > static inline void kvm_pmu_sync_hwstate(struct kvm_vcpu *vcpu) {} > static inline bool kvm_pmu_should_notify_user(struct kvm_vcpu *vcpu) > diff --git a/virt/kvm/arm/pmu.c b/virt/kvm/arm/pmu.c > index 1c5b76c..c5a722a 100644 > --- a/virt/kvm/arm/pmu.c > +++ b/virt/kvm/arm/pmu.c > @@ -135,13 +135,13 @@ u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu) > } > > /** > - * kvm_pmu_enable_counter - enable selected PMU counter > + * kvm_pmu_enable_counter_mask - enable selected PMU counters > * @vcpu: The vcpu pointer > * @val: the value guest writes to PMCNTENSET register > * > * Call perf_event_enable to start counting the perf event > */ > -void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) > +void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val) > { > int i; > struct kvm_pmu *pmu = &vcpu->arch.pmu; > @@ -164,13 +164,13 @@ void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) > } > > /** > - * kvm_pmu_disable_counter - disable selected PMU counter > + * kvm_pmu_disable_counter_mask - disable selected PMU counters > * @vcpu: The vcpu pointer > * @val: the value guest writes to PMCNTENCLR register > * > * Call perf_event_disable to stop counting the perf event > */ > -void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val) > +void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val) > { > int i; > struct kvm_pmu *pmu = &vcpu->arch.pmu; > @@ -347,10 +347,10 @@ void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val) > > mask = kvm_pmu_valid_counter_mask(vcpu); > if (val & ARMV8_PMU_PMCR_E) { > - kvm_pmu_enable_counter(vcpu, > + kvm_pmu_enable_counter_mask(vcpu, > __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) & mask); > } else { > - kvm_pmu_disable_counter(vcpu, mask); > + kvm_pmu_disable_counter_mask(vcpu, mask); > } > > if (val & ARMV8_PMU_PMCR_C) >
On 04/02/2019 16:53, Andrew Murray wrote: > The kvm_pmu_{enable/disable}_counter functions can enabled/disable > multiple counters at once as they operate on a bitmask. Let's > make this clearer by renaming the function. > > Signed-off-by: Andrew Murray <andrew.murray@arm.com> Suggested-by: Suzuki K Poulose <suzuki.poulose@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index e3e3722..4a6fbac 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -857,11 +857,11 @@ static bool access_pmcnten(struct kvm_vcpu *vcpu, struct sys_reg_params *p, if (r->Op2 & 0x1) { /* accessing PMCNTENSET_EL0 */ __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) |= val; - kvm_pmu_enable_counter(vcpu, val); + kvm_pmu_enable_counter_mask(vcpu, val); } else { /* accessing PMCNTENCLR_EL0 */ __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) &= ~val; - kvm_pmu_disable_counter(vcpu, val); + kvm_pmu_disable_counter_mask(vcpu, val); } } else { p->regval = __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) & mask; diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h index f87fe20..b73f31b 100644 --- a/include/kvm/arm_pmu.h +++ b/include/kvm/arm_pmu.h @@ -46,8 +46,8 @@ void kvm_pmu_set_counter_value(struct kvm_vcpu *vcpu, u64 select_idx, u64 val); u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu); void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu); void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu); -void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val); -void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val); +void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val); +void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val); void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcpu); void kvm_pmu_sync_hwstate(struct kvm_vcpu *vcpu); bool kvm_pmu_should_notify_user(struct kvm_vcpu *vcpu); @@ -83,8 +83,8 @@ static inline u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu) } static inline void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu) {} static inline void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu) {} -static inline void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val) {} -static inline void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) {} +static inline void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val) {} +static inline void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val) {} static inline void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcpu) {} static inline void kvm_pmu_sync_hwstate(struct kvm_vcpu *vcpu) {} static inline bool kvm_pmu_should_notify_user(struct kvm_vcpu *vcpu) diff --git a/virt/kvm/arm/pmu.c b/virt/kvm/arm/pmu.c index 1c5b76c..c5a722a 100644 --- a/virt/kvm/arm/pmu.c +++ b/virt/kvm/arm/pmu.c @@ -135,13 +135,13 @@ u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu) } /** - * kvm_pmu_enable_counter - enable selected PMU counter + * kvm_pmu_enable_counter_mask - enable selected PMU counters * @vcpu: The vcpu pointer * @val: the value guest writes to PMCNTENSET register * * Call perf_event_enable to start counting the perf event */ -void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) +void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val) { int i; struct kvm_pmu *pmu = &vcpu->arch.pmu; @@ -164,13 +164,13 @@ void kvm_pmu_enable_counter(struct kvm_vcpu *vcpu, u64 val) } /** - * kvm_pmu_disable_counter - disable selected PMU counter + * kvm_pmu_disable_counter_mask - disable selected PMU counters * @vcpu: The vcpu pointer * @val: the value guest writes to PMCNTENCLR register * * Call perf_event_disable to stop counting the perf event */ -void kvm_pmu_disable_counter(struct kvm_vcpu *vcpu, u64 val) +void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val) { int i; struct kvm_pmu *pmu = &vcpu->arch.pmu; @@ -347,10 +347,10 @@ void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val) mask = kvm_pmu_valid_counter_mask(vcpu); if (val & ARMV8_PMU_PMCR_E) { - kvm_pmu_enable_counter(vcpu, + kvm_pmu_enable_counter_mask(vcpu, __vcpu_sys_reg(vcpu, PMCNTENSET_EL0) & mask); } else { - kvm_pmu_disable_counter(vcpu, mask); + kvm_pmu_disable_counter_mask(vcpu, mask); } if (val & ARMV8_PMU_PMCR_C)
The kvm_pmu_{enable/disable}_counter functions can enabled/disable multiple counters at once as they operate on a bitmask. Let's make this clearer by renaming the function. Signed-off-by: Andrew Murray <andrew.murray@arm.com> --- arch/arm64/kvm/sys_regs.c | 4 ++-- include/kvm/arm_pmu.h | 8 ++++---- virt/kvm/arm/pmu.c | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-)