]> asedeno.scripts.mit.edu Git - linux.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)
commitbc276ecba132caccb1fda5863a652c15def2b8c6
treeaa70ce5777f7ef89c1a0086ed3d373fb83945a01
parent817593604e5b244dc55344d298d96122457c20bd
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 7b9f71f974 ("powerpc/64s: POWER9 machine check handler") and
d4748276ae ("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: 7b9f71f974 ("powerpc/64s: POWER9 machine check handler")
Fixes: d4748276ae ("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