]> git.proxmox.com Git - mirror_ubuntu-bionic-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)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:58:25 +0000 (19:58 -0600)
commite08063f0311bd752ab41fd592b997c6b0ce432ca
tree81587ac4d1eb857b74459024e10892c81cbbb04b
parent33b8738548f89460aa606e4a75f42da3b7cf3329
powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9

BugLink: https://bugs.launchpad.net/bugs/1836802
commit bc276ecba132caccb1fda5863a652c15def2b8c6 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
arch/powerpc/kernel/mce_power.c