On 23/08/2018 17:38, Marc Zyngier wrote: > kvm_unmap_hva is long gone, and we only have kvm_unmap_hva_range to > deal with. Drop the now obsolete code. > > Fixes: fb1522e099f0 ("KVM: update to new mmu_notifier semantic v2") > Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> > --- > arch/arm/include/asm/kvm_host.h | 1 - > arch/arm64/include/asm/kvm_host.h | 1 - > arch/mips/include/asm/kvm_host.h | 1 - > arch/mips/kvm/mmu.c | 10 ---------- > arch/x86/include/asm/kvm_host.h | 1 - > arch/x86/kvm/mmu.c | 5 ----- > virt/kvm/arm/mmu.c | 12 ------------ > virt/kvm/arm/trace.h | 15 --------------- > 8 files changed, 46 deletions(-) > > diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h > index 1f1fe4109b02..dd282cc54e45 100644 > --- a/arch/arm/include/asm/kvm_host.h > +++ b/arch/arm/include/asm/kvm_host.h > @@ -218,7 +218,6 @@ unsigned long kvm_call_hyp(void *hypfn, ...); > void force_vm_exit(const cpumask_t *mask); > > #define KVM_ARCH_WANT_MMU_NOTIFIER > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); > int kvm_unmap_hva_range(struct kvm *kvm, > unsigned long start, unsigned long end); > void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); > diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h > index fe8777b12f86..d6c68cf4f264 100644 > --- a/arch/arm64/include/asm/kvm_host.h > +++ b/arch/arm64/include/asm/kvm_host.h > @@ -352,7 +352,6 @@ int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg); > int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg); > > #define KVM_ARCH_WANT_MMU_NOTIFIER > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); > int kvm_unmap_hva_range(struct kvm *kvm, > unsigned long start, unsigned long end); > void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); > diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h > index a9af1d2dcd69..2c1c53d12179 100644 > --- a/arch/mips/include/asm/kvm_host.h > +++ b/arch/mips/include/asm/kvm_host.h > @@ -931,7 +931,6 @@ enum kvm_mips_fault_result kvm_trap_emul_gva_fault(struct kvm_vcpu *vcpu, > bool write); > > #define KVM_ARCH_WANT_MMU_NOTIFIER > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); > int kvm_unmap_hva_range(struct kvm *kvm, > unsigned long start, unsigned long end); > void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); > diff --git a/arch/mips/kvm/mmu.c b/arch/mips/kvm/mmu.c > index ee64db032793..d8dcdb350405 100644 > --- a/arch/mips/kvm/mmu.c > +++ b/arch/mips/kvm/mmu.c > @@ -512,16 +512,6 @@ static int kvm_unmap_hva_handler(struct kvm *kvm, gfn_t gfn, gfn_t gfn_end, > return 1; > } > > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) > -{ > - unsigned long end = hva + PAGE_SIZE; > - > - handle_hva_to_gpa(kvm, hva, end, &kvm_unmap_hva_handler, NULL); > - > - kvm_mips_callbacks->flush_shadow_all(kvm); > - return 0; > -} > - > int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) > { > handle_hva_to_gpa(kvm, start, end, &kvm_unmap_hva_handler, NULL); > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > index c13cd28d9d1b..9bf27626c167 100644 > --- a/arch/x86/include/asm/kvm_host.h > +++ b/arch/x86/include/asm/kvm_host.h > @@ -1401,7 +1401,6 @@ asmlinkage void kvm_spurious_fault(void); > ____kvm_handle_fault_on_reboot(insn, "") > > #define KVM_ARCH_WANT_MMU_NOTIFIER > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); > int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end); > int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end); > int kvm_test_age_hva(struct kvm *kvm, unsigned long hva); > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > index 6b8f11521c41..0182a4ee799c 100644 > --- a/arch/x86/kvm/mmu.c > +++ b/arch/x86/kvm/mmu.c > @@ -1801,11 +1801,6 @@ static int kvm_handle_hva(struct kvm *kvm, unsigned long hva, > return kvm_handle_hva_range(kvm, hva, hva + 1, data, handler); > } > > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) > -{ > - return kvm_handle_hva(kvm, hva, 0, kvm_unmap_rmapp); > -} > - > int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) > { > return kvm_handle_hva_range(kvm, start, end, 0, kvm_unmap_rmapp); > diff --git a/virt/kvm/arm/mmu.c b/virt/kvm/arm/mmu.c > index 287c8e274655..b5b9746af23c 100644 > --- a/virt/kvm/arm/mmu.c > +++ b/virt/kvm/arm/mmu.c > @@ -1768,18 +1768,6 @@ static int kvm_unmap_hva_handler(struct kvm *kvm, gpa_t gpa, u64 size, void *dat > return 0; > } > > -int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) > -{ > - unsigned long end = hva + PAGE_SIZE; > - > - if (!kvm->arch.pgd) > - return 0; > - > - trace_kvm_unmap_hva(hva); > - handle_hva_to_gpa(kvm, hva, end, &kvm_unmap_hva_handler, NULL); > - return 0; > -} > - > int kvm_unmap_hva_range(struct kvm *kvm, > unsigned long start, unsigned long end) > { > diff --git a/virt/kvm/arm/trace.h b/virt/kvm/arm/trace.h > index e53b596f483b..57b3edebbb40 100644 > --- a/virt/kvm/arm/trace.h > +++ b/virt/kvm/arm/trace.h > @@ -134,21 +134,6 @@ TRACE_EVENT(kvm_mmio_emulate, > __entry->vcpu_pc, __entry->instr, __entry->cpsr) > ); > > -TRACE_EVENT(kvm_unmap_hva, > - TP_PROTO(unsigned long hva), > - TP_ARGS(hva), > - > - TP_STRUCT__entry( > - __field( unsigned long, hva ) > - ), > - > - TP_fast_assign( > - __entry->hva = hva; > - ), > - > - TP_printk("mmu notifier unmap hva: %#08lx", __entry->hva) > -); > - > TRACE_EVENT(kvm_unmap_hva_range, > TP_PROTO(unsigned long start, unsigned long end), > TP_ARGS(start, end), > Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>