Home
last modified time | relevance | path

Searched refs:kvm_pmc (Results 1 – 9 of 9) sorted by relevance

/openbmc/linux/arch/x86/kvm/
H A Dpmu.h22 bool (*hw_event_available)(struct kvm_pmc *pmc);
23 struct kvm_pmc *(*pmc_idx_to_pmc)(struct kvm_pmu *pmu, int pmc_idx);
24 struct kvm_pmc *(*rdpmc_ecx_to_pmc)(struct kvm_vcpu *vcpu,
26 struct kvm_pmc *(*msr_idx_to_pmc)(struct kvm_vcpu *vcpu, u32 msr);
58 static inline u64 pmc_bitmask(struct kvm_pmc *pmc) in pmc_bitmask()
65 static inline u64 pmc_read_counter(struct kvm_pmc *pmc) in pmc_read_counter()
77 static inline void pmc_write_counter(struct kvm_pmc *pmc, u64 val) in pmc_write_counter()
83 static inline bool pmc_is_gp(struct kvm_pmc *pmc) in pmc_is_gp()
88 static inline bool pmc_is_fixed(struct kvm_pmc *pmc) in pmc_is_fixed()
103 static inline struct kvm_pmc *get_gp_pmc(struct kvm_pmu *pmu, u32 msr, in get_gp_pmc()
[all …]
H A Dpmu.c96 static inline void __kvm_perf_overflow(struct kvm_pmc *pmc, bool in_pmi) in __kvm_perf_overflow()
127 struct kvm_pmc *pmc = perf_event->overflow_handler_context; in kvm_perf_overflow()
142 static u64 pmc_get_pebs_precise_level(struct kvm_pmc *pmc) in pmc_get_pebs_precise_level()
164 static int pmc_reprogram_counter(struct kvm_pmc *pmc, u32 type, u64 config, in pmc_reprogram_counter()
218 static void pmc_pause_counter(struct kvm_pmc *pmc) in pmc_pause_counter()
231 static bool pmc_resume_counter(struct kvm_pmc *pmc) in pmc_resume_counter()
253 static void pmc_release_perf_event(struct kvm_pmc *pmc) in pmc_release_perf_event()
263 static void pmc_stop_counter(struct kvm_pmc *pmc) in pmc_stop_counter()
377 static bool check_pmu_event_filter(struct kvm_pmc *pmc) in check_pmu_event_filter()
392 static bool pmc_event_is_allowed(struct kvm_pmc *pmc) in pmc_event_is_allowed()
[all …]
/openbmc/linux/arch/x86/kvm/svm/
H A Dpmu.c28 static struct kvm_pmc *amd_pmc_idx_to_pmc(struct kvm_pmu *pmu, int pmc_idx) in amd_pmc_idx_to_pmc()
38 static inline struct kvm_pmc *get_gp_pmc_amd(struct kvm_pmu *pmu, u32 msr, in get_gp_pmc_amd()
76 static bool amd_hw_event_available(struct kvm_pmc *pmc) in amd_hw_event_available()
91 static struct kvm_pmc *amd_rdpmc_ecx_to_pmc(struct kvm_vcpu *vcpu, in amd_rdpmc_ecx_to_pmc()
97 static struct kvm_pmc *amd_msr_idx_to_pmc(struct kvm_vcpu *vcpu, u32 msr) in amd_msr_idx_to_pmc()
100 struct kvm_pmc *pmc; in amd_msr_idx_to_pmc()
134 struct kvm_pmc *pmc; in amd_pmu_get_msr()
156 struct kvm_pmc *pmc; in amd_pmu_set_msr()
/openbmc/linux/arch/arm64/kvm/
H A Dpmu-emul.c26 static void kvm_pmu_create_perf_event(struct kvm_pmc *pmc);
27 static void kvm_pmu_release_perf_event(struct kvm_pmc *pmc);
29 static struct kvm_vcpu *kvm_pmc_to_vcpu(const struct kvm_pmc *pmc) in kvm_pmc_to_vcpu()
34 static struct kvm_pmc *kvm_vcpu_idx_to_pmc(struct kvm_vcpu *vcpu, int cnt_idx) in kvm_vcpu_idx_to_pmc()
67 static bool kvm_pmc_is_64bit(struct kvm_pmc *pmc) in kvm_pmc_is_64bit()
73 static bool kvm_pmc_has_64bit_overflow(struct kvm_pmc *pmc) in kvm_pmc_has_64bit_overflow()
81 static bool kvm_pmu_counter_can_chain(struct kvm_pmc *pmc) in kvm_pmu_counter_can_chain()
97 static u64 kvm_pmu_get_pmc_value(struct kvm_pmc *pmc) in kvm_pmu_get_pmc_value()
132 static void kvm_pmu_set_pmc_value(struct kvm_pmc *pmc, u64 val, bool force) in kvm_pmu_set_pmc_value()
177 static void kvm_pmu_release_perf_event(struct kvm_pmc *pmc) in kvm_pmu_release_perf_event()
[all …]
/openbmc/linux/arch/x86/kvm/vmx/
H A Dpmu_intel.c73 struct kvm_pmc *pmc; in reprogram_fixed_counters()
92 static struct kvm_pmc *intel_pmc_idx_to_pmc(struct kvm_pmu *pmu, int pmc_idx) in intel_pmc_idx_to_pmc()
104 static bool intel_hw_event_available(struct kvm_pmc *pmc) in intel_hw_event_available()
139 static struct kvm_pmc *intel_rdpmc_ecx_to_pmc(struct kvm_vcpu *vcpu, in intel_rdpmc_ecx_to_pmc()
144 struct kvm_pmc *counters; in intel_rdpmc_ecx_to_pmc()
174 static inline struct kvm_pmc *get_fw_gp_pmc(struct kvm_pmu *pmu, u32 msr) in get_fw_gp_pmc()
231 static struct kvm_pmc *intel_msr_idx_to_pmc(struct kvm_vcpu *vcpu, u32 msr) in intel_msr_idx_to_pmc()
234 struct kvm_pmc *pmc; in intel_msr_idx_to_pmc()
351 struct kvm_pmc *pmc; in intel_pmu_get_msr()
394 struct kvm_pmc *pmc; in intel_pmu_set_msr()
[all …]
/openbmc/linux/arch/riscv/kvm/
H A Dvcpu_pmu.c36 static u64 kvm_pmu_get_sample_period(struct kvm_pmc *pmc) in kvm_pmu_get_sample_period()
77 static void kvm_pmu_release_perf_event(struct kvm_pmc *pmc) in kvm_pmu_release_perf_event()
203 struct kvm_pmc *pmc; in pmu_ctr_read()
232 static int kvm_pmu_create_perf_event(struct kvm_pmc *pmc, struct perf_event_attr *attr, in kvm_pmu_create_perf_event()
344 struct kvm_pmc *pmc; in kvm_riscv_vcpu_pmu_ctr_start()
401 struct kvm_pmc *pmc; in kvm_riscv_vcpu_pmu_ctr_stop()
466 struct kvm_pmc *pmc = NULL; in kvm_riscv_vcpu_pmu_ctr_cfg_match()
549 struct kvm_pmc *pmc; in kvm_riscv_vcpu_pmu_init()
614 struct kvm_pmc *pmc; in kvm_riscv_vcpu_pmu_deinit()
/openbmc/linux/arch/riscv/include/asm/
H A Dkvm_vcpu_pmu.h31 struct kvm_pmc { struct
44 struct kvm_pmc pmc[RISCV_KVM_MAX_COUNTERS]; argument
/openbmc/linux/include/kvm/
H A Darm_pmu.h17 struct kvm_pmc { struct
30 struct kvm_pmc pmc[ARMV8_PMU_MAX_COUNTERS]; argument
/openbmc/linux/arch/x86/include/asm/
H A Dkvm_host.h490 struct kvm_pmc { struct
529 struct kvm_pmc gp_counters[KVM_INTEL_PMC_MAX_GENERIC];
530 struct kvm_pmc fixed_counters[KVM_PMC_MAX_FIXED];