BACKPORT: KVM: Move x86's perf guest info callbacks to generic KVM
Move x86's perf guest callbacks into common KVM, as they are semantically identical to arm64's callbacks (the only other such KVM callbacks). arm64 will convert to the common versions in a future patch. Implement the necessary arm64 arch hooks now to avoid having to provide stubs or a temporary #define (from x86) to avoid arm64 compilation errors when CONFIG_GUEST_PERF_EVENTS=y. Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20211111020738.2512932-13-seanjc@google.com (cherry picked from commit e1bfc24577cc65c95dc519d7621a9c985b97e567) [willdeacon@: Fix context conflict in x86 asm/kvm_host.h] Signed-off-by: Will Deacon <willdeacon@google.com> Bug: 233587962 Bug: 233588291 Change-Id: Id8184005f4ccc370512bdbf3d3f18612dcee1cd8
This commit is contained in:
committed by
Will Deacon
parent
d191b4a648
commit
a2aa2a6c94
@@ -1261,6 +1261,16 @@ static inline bool kvm_arch_intc_initialized(struct kvm *kvm)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_GUEST_PERF_EVENTS
|
||||
unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
|
||||
|
||||
void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void));
|
||||
void kvm_unregister_perf_callbacks(void);
|
||||
#else
|
||||
static inline void kvm_register_perf_callbacks(void *ign) {}
|
||||
static inline void kvm_unregister_perf_callbacks(void) {}
|
||||
#endif /* CONFIG_GUEST_PERF_EVENTS */
|
||||
|
||||
int kvm_arch_init_vm(struct kvm *kvm, unsigned long type);
|
||||
void kvm_arch_destroy_vm(struct kvm *kvm);
|
||||
void kvm_arch_sync_events(struct kvm *kvm);
|
||||
|
||||
Reference in New Issue
Block a user