From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shaoqin Huang Date: Fri, 11 Aug 2023 11:03:45 +0800 Subject: [PATCH v8 11/14] KVM: arm64: Implement kvm_arch_flush_remote_tlbs_range() In-Reply-To: <20230808231330.3855936-12-rananta@google.com> References: <20230808231330.3855936-1-rananta@google.com> <20230808231330.3855936-12-rananta@google.com> Message-ID: List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 8/9/23 07:13, Raghavendra Rao Ananta wrote: > Implement kvm_arch_flush_remote_tlbs_range() for arm64 > to invalidate the given range in the TLB. > > Signed-off-by: Raghavendra Rao Ananta > Reviewed-by: Gavin Shan > Reviewed-by: Shaoqin Huang > --- > arch/arm64/include/asm/kvm_host.h | 2 ++ > arch/arm64/kvm/mmu.c | 8 ++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h > index 20f2ba149c70c..8f2d99eaab036 100644 > --- a/arch/arm64/include/asm/kvm_host.h > +++ b/arch/arm64/include/asm/kvm_host.h > @@ -1113,6 +1113,8 @@ struct kvm *kvm_arch_alloc_vm(void); > > #define __KVM_HAVE_ARCH_FLUSH_REMOTE_TLBS > > +#define __KVM_HAVE_ARCH_FLUSH_REMOTE_TLBS_RANGE > + > static inline bool kvm_vm_is_protected(struct kvm *kvm) > { > return false; > diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c > index 0ac721fa27f18..294078ce16349 100644 > --- a/arch/arm64/kvm/mmu.c > +++ b/arch/arm64/kvm/mmu.c > @@ -172,6 +172,14 @@ int kvm_arch_flush_remote_tlbs(struct kvm *kvm) > return 0; > } > > +int kvm_arch_flush_remote_tlbs_range(struct kvm *kvm, > + gfn_t gfn, u64 nr_pages) Hi Raghavendra, As the kernel test robot points out, the parameter `gfn` should change to `start_gfn`. Thanks, Shaoqin > +{ > + kvm_tlb_flush_vmid_range(&kvm->arch.mmu, > + start_gfn << PAGE_SHIFT, nr_pages << PAGE_SHIFT); > + return 0; > +} > + > static bool kvm_is_device_pfn(unsigned long pfn) > { > return !pfn_is_map_memory(pfn); -- Shaoqin