diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2018-11-06 19:25:38 +1100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-11-06 19:32:22 +1100 |
commit | 9586d569a369dc585a3e191dcabd72748e3c9c5c (patch) | |
tree | 7c31645463b75c5b18c9e6ac0990a02edd51c364 | |
parent | 08e6a3434e2125e4b21d0d3f84678d427345bc0d (diff) |
powerpc/mm/64s: Only use slbfee on CPUs that support it
The slbfee instruction was only added in ISA 2.05 (Power6), it's not
supported on older CPUs. We don't have a CPU feature for that ISA
version though, so just use the ISA 2.06 feature flag.
Fixes: e15a4fea4dee ("powerpc/64s/hash: Add some SLB debugging tests")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r-- | arch/powerpc/mm/slb.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index 457fd29448b1..b663a36f9ada 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c @@ -66,6 +66,9 @@ static void assert_slb_presence(bool present, unsigned long ea) WARN_ON_ONCE(mfmsr() & MSR_EE); + if (!cpu_has_feature(CPU_FTR_ARCH_206)) + return; + asm volatile(__PPC_SLBFEE_DOT(%0, %1) : "=r"(tmp) : "r"(ea) : "cr0"); WARN_ON(present == (tmp == 0)); |