diff options
Diffstat (limited to 'include/kvm/arm_pmu.h')
| -rw-r--r-- | include/kvm/arm_pmu.h | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h index 8dcb3e1477bc..6fd3cda608e4 100644 --- a/include/kvm/arm_pmu.h +++ b/include/kvm/arm_pmu.h @@ -13,6 +13,13 @@  #define ARMV8_PMU_CYCLE_IDX		(ARMV8_PMU_MAX_COUNTERS - 1)  #define ARMV8_PMU_MAX_COUNTER_PAIRS	((ARMV8_PMU_MAX_COUNTERS + 1) >> 1) +DECLARE_STATIC_KEY_FALSE(kvm_arm_pmu_available); + +static __always_inline bool kvm_arm_support_pmu_v3(void) +{ +	return static_branch_likely(&kvm_arm_pmu_available); +} +  #ifdef CONFIG_HW_PERF_EVENTS  struct kvm_pmc { @@ -47,7 +54,6 @@ void kvm_pmu_software_increment(struct kvm_vcpu *vcpu, u64 val);  void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val);  void kvm_pmu_set_counter_event_type(struct kvm_vcpu *vcpu, u64 data,  				    u64 select_idx); -bool kvm_arm_support_pmu_v3(void);  int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu,  			    struct kvm_device_attr *attr);  int kvm_arm_pmu_v3_get_attr(struct kvm_vcpu *vcpu, @@ -87,7 +93,6 @@ static inline void kvm_pmu_software_increment(struct kvm_vcpu *vcpu, u64 val) {}  static inline void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val) {}  static inline void kvm_pmu_set_counter_event_type(struct kvm_vcpu *vcpu,  						  u64 data, u64 select_idx) {} -static inline bool kvm_arm_support_pmu_v3(void) { return false; }  static inline int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu,  					  struct kvm_device_attr *attr)  { |