summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorPaul Mackerras2019-04-29 11:00:40 +0200
committerPaul Mackerras2019-04-30 11:32:01 +0200
commit2940ba0c48bf18e15e85cbb0f26c0e88e1211587 (patch)
tree314b4cb4da889bfeb6c653a534bf2afe63689e1a /arch/powerpc/include
parentKVM: PPC: Book3S HV: Handle virtual mode in XIVE VCPU push code (diff)
downloadkernel-qcow2-linux-2940ba0c48bf18e15e85cbb0f26c0e88e1211587.tar.gz
kernel-qcow2-linux-2940ba0c48bf18e15e85cbb0f26c0e88e1211587.tar.xz
kernel-qcow2-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)
{}