pmu.h (9635adf8541ae9cbead19d769dce2c945fa88de6) | pmu.h (6a5cba7bed35580effda9fb1872b274da47e6b23) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __KVM_X86_PMU_H 3#define __KVM_X86_PMU_H 4 5#include <linux/nospec.h> 6 7#define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu) 8#define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) --- 26 unchanged lines hidden (view full) --- 35 bool (*is_valid_msr)(struct kvm_vcpu *vcpu, u32 msr); 36 int (*get_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr_info); 37 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr_info); 38 void (*refresh)(struct kvm_vcpu *vcpu); 39 void (*init)(struct kvm_vcpu *vcpu); 40 void (*reset)(struct kvm_vcpu *vcpu); 41 void (*deliver_pmi)(struct kvm_vcpu *vcpu); 42 void (*cleanup)(struct kvm_vcpu *vcpu); | 1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __KVM_X86_PMU_H 3#define __KVM_X86_PMU_H 4 5#include <linux/nospec.h> 6 7#define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu) 8#define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) --- 26 unchanged lines hidden (view full) --- 35 bool (*is_valid_msr)(struct kvm_vcpu *vcpu, u32 msr); 36 int (*get_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr_info); 37 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr_info); 38 void (*refresh)(struct kvm_vcpu *vcpu); 39 void (*init)(struct kvm_vcpu *vcpu); 40 void (*reset)(struct kvm_vcpu *vcpu); 41 void (*deliver_pmi)(struct kvm_vcpu *vcpu); 42 void (*cleanup)(struct kvm_vcpu *vcpu); |
43 44 const u64 EVENTSEL_EVENT; |
|
43}; 44 45void kvm_pmu_ops_update(const struct kvm_pmu_ops *pmu_ops); 46 47static inline u64 pmc_bitmask(struct kvm_pmc *pmc) 48{ 49 struct kvm_pmu *pmu = pmc_to_pmu(pmc); 50 --- 162 unchanged lines hidden --- | 45}; 46 47void kvm_pmu_ops_update(const struct kvm_pmu_ops *pmu_ops); 48 49static inline u64 pmc_bitmask(struct kvm_pmc *pmc) 50{ 51 struct kvm_pmu *pmu = pmc_to_pmu(pmc); 52 --- 162 unchanged lines hidden --- |