summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@ozlabs.org>2019-04-29 19:00:40 +1000
committerPaul Mackerras <paulus@ozlabs.org>2019-04-30 19:32:01 +1000
commit2940ba0c48bf18e15e85cbb0f26c0e88e1211587 (patch)
tree314b4cb4da889bfeb6c653a534bf2afe63689e1a /arch/powerpc/include
parent7ae9bda7edf3dac56c9abaeec264ac08d399a1ff (diff)
downloadlinux-2940ba0c48bf18e15e85cbb0f26c0e88e1211587.tar.gz
linux-2940ba0c48bf18e15e85cbb0f26c0e88e1211587.tar.bz2
linux-2940ba0c48bf18e15e85cbb0f26c0e88e1211587.zip
KVM: PPC: Book3S HV: Move HPT guest TLB flushing to C code
This replaces assembler code in book3s_hv_rmhandlers.S that checks the kvm->arch.need_tlb_flush cpumask and optionally does a TLB flush with C code in book3s_hv_builtin.c. Note that unlike the radix version, the hash version doesn't do an explicit ERAT invalidation because we will invalidate and load up the SLB before entering the guest, and that will invalidate the ERAT. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_ppc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index 05128e917a83..0975f5f2fd70 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -476,6 +476,8 @@ extern void kvm_hv_vm_activated(void);
extern void kvm_hv_vm_deactivated(void);
extern bool kvm_hv_mode_active(void);
+extern void kvmppc_hpt_check_need_tlb_flush(struct kvm *kvm);
+
#else
static inline void __init kvm_cma_reserve(void)
{}