arm64: ssbd: Restore mitigation status on CPU resume
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 29 May 2018 12:11:12 +0000 (13:11 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 31 May 2018 16:35:19 +0000 (17:35 +0100)
commit647d0519b53f440a55df163de21c52a8205431cc
tree32e7b767c30e75ce88dfd6574b9c4f8343148e6c
parent986372c4367f46b34a3c0f6918d7fb95cbdf39d6
arm64: ssbd: Restore mitigation status on CPU resume

On a system where firmware can dynamically change the state of the
mitigation, the CPU will always come up with the mitigation enabled,
including when coming back from suspend.

If the user has requested "no mitigation" via a command line option,
let's enforce it by calling into the firmware again to disable it.

Similarily, for a resume from hibernate, the mitigation could have
been disabled by the boot kernel. Let's ensure that it is set
back on in that case.

Acked-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/cpufeature.h
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/hibernate.c
arch/arm64/kernel/suspend.c