mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 09:41:03 +02:00
KVM: x86/pmu: Move "struct kvm_x86_pmu_event_filter" definition to pmu.c
Move the definition of "struct kvm_x86_pmu_event_filter" to pmu.c, as the as the details of the filters are very much implementation details that can and should be buried in pmu.c. While the _existence_ of filters is public knowledge, almost by definition, the contents don't need to be exposed outside of the PMU code as the filter data is provided by userspace, i.e. it pretty much has to be dynamically allocated, and thus never should be fully embedded in a globally visible structure. No functional change intended Signed-off-by: Sean Christopherson <seanjc@google.com> Reviewed-by: Kai Huang <kai.huang@intel.com> Reviewed-by: Binbin Wu <binbin.wu@linux.intel.com> Message-ID: <20260613000329.732085-20-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
765ae5dc6f
commit
95ac6a63d2
|
|
@ -316,6 +316,7 @@ struct kvm_kernel_irqfd;
|
|||
struct kvm_kernel_irq_routing_entry;
|
||||
|
||||
struct kvm_x86_msr_filter;
|
||||
struct kvm_x86_pmu_event_filter;
|
||||
|
||||
struct kvm_caps {
|
||||
/* control of guest tsc rate supported? */
|
||||
|
|
@ -1322,18 +1323,6 @@ enum kvm_suppress_eoi_broadcast_mode {
|
|||
KVM_SUPPRESS_EOI_BROADCAST_DISABLED /* Disable Suppress EOI broadcast */
|
||||
};
|
||||
|
||||
struct kvm_x86_pmu_event_filter {
|
||||
__u32 action;
|
||||
__u32 nevents;
|
||||
__u32 fixed_counter_bitmap;
|
||||
__u32 flags;
|
||||
__u32 nr_includes;
|
||||
__u32 nr_excludes;
|
||||
__u64 *includes;
|
||||
__u64 *excludes;
|
||||
__u64 events[] __counted_by(nevents);
|
||||
};
|
||||
|
||||
enum kvm_apicv_inhibit {
|
||||
|
||||
/********************************************************************/
|
||||
|
|
|
|||
|
|
@ -43,6 +43,18 @@ module_param(enable_pmu, bool, 0444);
|
|||
bool __read_mostly enable_mediated_pmu;
|
||||
EXPORT_SYMBOL_FOR_KVM_INTERNAL(enable_mediated_pmu);
|
||||
|
||||
struct kvm_x86_pmu_event_filter {
|
||||
__u32 action;
|
||||
__u32 nevents;
|
||||
__u32 fixed_counter_bitmap;
|
||||
__u32 flags;
|
||||
__u32 nr_includes;
|
||||
__u32 nr_excludes;
|
||||
__u64 *includes;
|
||||
__u64 *excludes;
|
||||
__u64 events[] __counted_by(nevents);
|
||||
};
|
||||
|
||||
struct kvm_pmu_emulated_event_selectors {
|
||||
u64 INSTRUCTIONS_RETIRED;
|
||||
u64 BRANCH_INSTRUCTIONS_RETIRED;
|
||||
|
|
|
|||
|
|
@ -9927,7 +9927,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
|
|||
kvm_ioapic_destroy(kvm);
|
||||
#endif
|
||||
kvfree(rcu_dereference_check(kvm->arch.apic_map, 1));
|
||||
kfree(srcu_dereference_check(kvm->arch.pmu_event_filter, &kvm->srcu, 1));
|
||||
kfree((void * __force)kvm->arch.pmu_event_filter);
|
||||
kvm_mmu_uninit_vm(kvm);
|
||||
kvm_page_track_cleanup(kvm);
|
||||
kvm_xen_destroy_vm(kvm);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user