[4/4] KVM: PPC: Book3S PR: Enable use on POWER9 bare-metal hosts in HPT mode

Message ID 20180607080802.GD13401@fergus.ozlabs.ibm.com
State Accepted
Headers show
  • [1/4] KVM: PPC: Book3S PR: Fix MSR setting when delivering interrupts
Related show

Commit Message

Paul Mackerras June 7, 2018, 8:08 a.m.
It turns out that PR KVM has no dependency on the format of HPTEs,
because it uses functions pointed to by mmu_hash_ops which do all
the formatting and interpretation of HPTEs.  Thus we can allow PR
KVM to load on POWER9 bare-metal hosts as long as they are running
in HPT mode.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This patch is against my kvm-ppc-next branch.

 arch/powerpc/kvm/book3s_pr.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)


diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index c36c8ef3dfb0..4f467997f88e 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -2038,13 +2038,9 @@  static int kvmppc_core_check_processor_compat_pr(void)
 	 * PR KVM can work on POWER9 inside a guest partition
 	 * running in HPT mode.  It can't work if we are using
 	 * radix translation (because radix provides no way for
-	 * a process to have unique translations in quadrant 3)
-	 * or in a bare-metal HPT-mode host (because POWER9
-	 * uses a modified HPTE format which the PR KVM code
-	 * has not been adapted to use).
+	 * a process to have unique translations in quadrant 3).
-	if (cpu_has_feature(CPU_FTR_ARCH_300) &&
-	    (radix_enabled() || cpu_has_feature(CPU_FTR_HVMODE)))
+	if (cpu_has_feature(CPU_FTR_ARCH_300) && radix_enabled())
 		return -EIO;
 	return 0;