]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9
authorNicholas Piggin <npiggin@gmail.com>
Mon, 27 Aug 2018 03:03:01 +0000 (13:03 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 Oct 2018 13:16:53 +0000 (23:16 +1000)
commit55e093b5ca6a0cd8ffa8b70ea0214ff3fac98ed5
treeaa70ce5777f7ef89c1a0086ed3d373fb83945a01
parentc9a71c60e9ec2c9209069fb72b735162b635ae6e
powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9

PPC_INVALIDATE_ERAT is slbia IH=7 which is a new variant introduced
with POWER9, and the result is undefined on earlier CPUs.

Commits 3877610a43 ("powerpc/64s: POWER9 machine check handler") and
27aaa66b87 ("powerpc/64s: Improve local TLB flush for boot and MCE on
POWER9") caused POWER7/8 code to use this instruction. Remove it. An
ERAT flush can be made by invalidatig the SLB, but before POWER9 that
requires a flush and rebolt.

Fixes: 3877610a43 ("powerpc/64s: POWER9 machine check handler")
Fixes: 27aaa66b87 ("powerpc/64s: Improve local TLB flush for boot and MCE on POWER9")
Cc: stable@vger.kernel.org # v4.11+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/mce_power.c
arch/powerpc/mm/hash_native_64.c