On 09/10/2014 08:12 PM, Christoffer Dall wrote: > On Tue, Aug 26, 2014 at 05:04:03PM -0700, Mario Smarduch wrote: >> Add support to declare architecture specific TLB flush function, for now only >> ARMv7. >> >> Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx> >> --- >> virt/kvm/Kconfig | 3 +++ >> virt/kvm/kvm_main.c | 4 ++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig >> index 13f2d19..f1efaa5 100644 >> --- a/virt/kvm/Kconfig >> +++ b/virt/kvm/Kconfig >> @@ -34,3 +34,6 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT >> >> config KVM_VFIO >> bool >> + >> +config HAVE_KVM_ARCH_TLB_FLUSH_ALL >> + bool >> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c >> index 4b6c01b..d0a24f5 100644 >> --- a/virt/kvm/kvm_main.c >> +++ b/virt/kvm/kvm_main.c >> @@ -186,12 +186,16 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req) >> >> void kvm_flush_remote_tlbs(struct kvm *kvm) >> { >> +#ifdef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL >> + kvm_arch_flush_remote_tlbs(kvm); > > missing prototype declaration? A subsequent patch adds HAVE_KVM_ARCH_TLB_FLUSH_ALL support for armv7 that includes prototype definition, so far armv7 is only architecture with HAVE_KVM_ARCH_TLB_FLUSH_ALL declared. > >> +#else >> long dirty_count = kvm->tlbs_dirty; >> >> smp_mb(); >> if (make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH)) >> ++kvm->stat.remote_tlb_flush; >> cmpxchg(&kvm->tlbs_dirty, dirty_count, 0); >> +#endif >> } >> EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs); >> >> -- >> 1.8.3.2 > > Otherwise: > Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> > _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm