|
KVM
|
#include <linux/nospec.h>

Go to the source code of this file.
Classes | |
| struct | kvm_pmu_ops |
Macros | |
| #define | vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu) |
| #define | pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) |
| #define | pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu) |
| #define | MSR_IA32_MISC_ENABLE_PMU_RO_MASK |
| #define | fixed_ctrl_field(ctrl_reg, idx) (((ctrl_reg) >> ((idx)*4)) & 0xf) |
| #define | VMWARE_BACKDOOR_PMC_HOST_TSC 0x10000 |
| #define | VMWARE_BACKDOOR_PMC_REAL_TIME 0x10001 |
| #define | VMWARE_BACKDOOR_PMC_APPARENT_TIME 0x10002 |
Functions | |
| void | kvm_pmu_ops_update (const struct kvm_pmu_ops *pmu_ops) |
| static bool | kvm_pmu_has_perf_global_ctrl (struct kvm_pmu *pmu) |
| static u64 | pmc_bitmask (struct kvm_pmc *pmc) |
| static u64 | pmc_read_counter (struct kvm_pmc *pmc) |
| void | pmc_write_counter (struct kvm_pmc *pmc, u64 val) |
| static bool | pmc_is_gp (struct kvm_pmc *pmc) |
| static bool | pmc_is_fixed (struct kvm_pmc *pmc) |
| static bool | kvm_valid_perf_global_ctrl (struct kvm_pmu *pmu, u64 data) |
| static struct kvm_pmc * | get_gp_pmc (struct kvm_pmu *pmu, u32 msr, u32 base) |
| static struct kvm_pmc * | get_fixed_pmc (struct kvm_pmu *pmu, u32 msr) |
| static bool | pmc_speculative_in_use (struct kvm_pmc *pmc) |
| static void | kvm_init_pmu_capability (const struct kvm_pmu_ops *pmu_ops) |
| static void | kvm_pmu_request_counter_reprogram (struct kvm_pmc *pmc) |
| static void | reprogram_counters (struct kvm_pmu *pmu, u64 diff) |
| static bool | pmc_is_globally_enabled (struct kvm_pmc *pmc) |
| void | kvm_pmu_deliver_pmi (struct kvm_vcpu *vcpu) |
| void | kvm_pmu_handle_event (struct kvm_vcpu *vcpu) |
| int | kvm_pmu_rdpmc (struct kvm_vcpu *vcpu, unsigned pmc, u64 *data) |
| bool | kvm_pmu_is_valid_rdpmc_ecx (struct kvm_vcpu *vcpu, unsigned int idx) |
| bool | kvm_pmu_is_valid_msr (struct kvm_vcpu *vcpu, u32 msr) |
| int | kvm_pmu_get_msr (struct kvm_vcpu *vcpu, struct msr_data *msr_info) |
| int | kvm_pmu_set_msr (struct kvm_vcpu *vcpu, struct msr_data *msr_info) |
| void | kvm_pmu_refresh (struct kvm_vcpu *vcpu) |
| void | kvm_pmu_init (struct kvm_vcpu *vcpu) |
| void | kvm_pmu_cleanup (struct kvm_vcpu *vcpu) |
| void | kvm_pmu_destroy (struct kvm_vcpu *vcpu) |
| int | kvm_vm_ioctl_set_pmu_event_filter (struct kvm *kvm, void __user *argp) |
| void | kvm_pmu_trigger_event (struct kvm_vcpu *vcpu, u64 perf_hw_id) |
| bool | is_vmware_backdoor_pmc (u32 pmc_idx) |
Variables | |
| struct x86_pmu_capability | kvm_pmu_cap |
| struct kvm_pmu_ops | intel_pmu_ops |
| struct kvm_pmu_ops | amd_pmu_ops |
| #define fixed_ctrl_field | ( | ctrl_reg, | |
| idx | |||
| ) | (((ctrl_reg) >> ((idx)*4)) & 0xf) |
| #define MSR_IA32_MISC_ENABLE_PMU_RO_MASK |
| #define pmu_to_vcpu | ( | pmu | ) | (container_of((pmu), struct kvm_vcpu, arch.pmu)) |
|
inlinestatic |
|
inlinestatic |
| bool is_vmware_backdoor_pmc | ( | u32 | pmc_idx | ) |
|
inlinestatic |
| void kvm_pmu_cleanup | ( | struct kvm_vcpu * | vcpu | ) |
Definition at line 767 of file pmu.c.


| void kvm_pmu_deliver_pmi | ( | struct kvm_vcpu * | vcpu | ) |
Definition at line 594 of file pmu.c.


| void kvm_pmu_destroy | ( | struct kvm_vcpu * | vcpu | ) |
| int kvm_pmu_get_msr | ( | struct kvm_vcpu * | vcpu, |
| struct msr_data * | msr_info | ||
| ) |
| void kvm_pmu_handle_event | ( | struct kvm_vcpu * | vcpu | ) |
|
inlinestatic |
| void kvm_pmu_init | ( | struct kvm_vcpu * | vcpu | ) |
| bool kvm_pmu_is_valid_msr | ( | struct kvm_vcpu * | vcpu, |
| u32 | msr | ||
| ) |
| bool kvm_pmu_is_valid_rdpmc_ecx | ( | struct kvm_vcpu * | vcpu, |
| unsigned int | idx | ||
| ) |
| void kvm_pmu_ops_update | ( | const struct kvm_pmu_ops * | pmu_ops | ) |
| int kvm_pmu_rdpmc | ( | struct kvm_vcpu * | vcpu, |
| unsigned | pmc, | ||
| u64 * | data | ||
| ) |
Definition at line 568 of file pmu.c.


| void kvm_pmu_refresh | ( | struct kvm_vcpu * | vcpu | ) |
|
inlinestatic |
| int kvm_pmu_set_msr | ( | struct kvm_vcpu * | vcpu, |
| struct msr_data * | msr_info | ||
| ) |
Definition at line 650 of file pmu.c.


| void kvm_pmu_trigger_event | ( | struct kvm_vcpu * | vcpu, |
| u64 | perf_hw_id | ||
| ) |
|
inlinestatic |
| int kvm_vm_ioctl_set_pmu_event_filter | ( | struct kvm * | kvm, |
| void __user * | argp | ||
| ) |
Definition at line 928 of file pmu.c.


|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void pmc_write_counter | ( | struct kvm_pmc * | pmc, |
| u64 | val | ||
| ) |
|
inlinestatic |
|
extern |
|
extern |