]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: erratum: Work around Falkor erratum #E1003 in trampoline code
authorWill Deacon <will.deacon@arm.com>
Tue, 14 Nov 2017 14:29:19 +0000 (14:29 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 11 Dec 2017 13:41:00 +0000 (13:41 +0000)
commitfcb2c1c69c6f3d03bd67ccd3d00f5fdb5a3f3852
tree623e085fa5446b993d2dca09e86d37fa89102964
parent6c23cbc29e202033d149a01c7934ada6933ef1ec
arm64: erratum: Work around Falkor erratum #E1003 in trampoline code

We rely on an atomic swizzling of TTBR1 when transitioning from the entry
trampoline to the kernel proper on an exception. We can't rely on this
atomicity in the face of Falkor erratum #E1003, so on affected cores we
can issue a TLB invalidation to invalidate the walk cache prior to
jumping into the kernel. There is still the possibility of a TLB conflict
here due to conflicting walk cache entries prior to the invalidation, but
this doesn't appear to be the case on these CPUs in practice.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Tested-by: Shanker Donthineni <shankerd@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/Kconfig
arch/arm64/kernel/entry.S