arm64: Move handling of erratum 1418040 into C code
authorMarc Zyngier <maz@kernel.org>
Fri, 31 Jul 2020 17:38:23 +0000 (18:38 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 21 Aug 2020 10:39:56 +0000 (11:39 +0100)
commitd49f7d7376d0c0daf8680984a37bd07581ac7d38
tree393b2ffb2e6cf8f7594a37955a15e60571238f33
parent9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
arm64: Move handling of erratum 1418040 into C code

Instead of dealing with erratum 1418040 on each entry and exit,
let's move the handling to __switch_to() instead, which has
several advantages:

- It can be applied when it matters (switching between 32 and 64
  bit tasks).
- It is written in C (yay!)
- It can rely on static keys rather than alternatives

Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20200731173824.107480-2-maz@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/entry.S
arch/arm64/kernel/process.c