Skip to content

Commit

Permalink
KVM: Add architecture-defined TLB flush support
Browse files Browse the repository at this point in the history
Allow architectures to override the generic kvm_flush_remote_tlbs()
function via HAVE_KVM_ARCH_TLB_FLUSH_ALL. ARMv7 will need this to
provide its own TLB flush interface.

Reviewed-by: Christoffer Dall <[email protected]>
Reviewed-by: Marc Zyngier <[email protected]>
Reviewed-by: Paolo Bonzini <[email protected]>
Signed-off-by: Mario Smarduch <[email protected]>
  • Loading branch information
Mario Smarduch authored and chazy committed Jan 16, 2015
1 parent 924de80 commit a6d5101
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
3 changes: 3 additions & 0 deletions virt/kvm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,6 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT

config KVM_VFIO
bool

config HAVE_KVM_ARCH_TLB_FLUSH_ALL
bool
2 changes: 2 additions & 0 deletions virt/kvm/kvm_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req)
return called;
}

#ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
void kvm_flush_remote_tlbs(struct kvm *kvm)
{
long dirty_count = kvm->tlbs_dirty;
Expand All @@ -186,6 +187,7 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
}
EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
#endif

void kvm_reload_remote_mmus(struct kvm *kvm)
{
Expand Down

0 comments on commit a6d5101

Please sign in to comment.