diff options
author | Will Deacon <will.deacon@arm.com> | 2015-03-23 19:07:02 +0000 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-05-18 16:45:45 -0700 |
commit | de9d7bedb8133a015977df39f68a52ffab2eba9d (patch) | |
tree | b17e947cd934a4c984ce49b5141098e2fb2533fd /drivers/virt | |
parent | 455c6fdbd219161bd09b1165f11699d6d73de11c (diff) |
arm64: errata: add workaround for cortex-a53 erratum #845719v3.14/topic/arm64-errata
When running a compat (AArch32) userspace on Cortex-A53, a load at EL0
from a virtual address that matches the bottom 32 bits of the virtual
address used by a recent load at (AArch64) EL1 might return incorrect
data.
This patch works around the issue by writing to the contextidr_el1
register on the exception return path when returning to a 32-bit task.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
(cherry picked from commit 905e8c5dcaa147163672b06fe9dcb5abaacbc711)
[khilman: modified to remove dependency on alternatives framwork. Feature
is now only compile-time selectable, and defaults to off. ]
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'drivers/virt')
0 files changed, 0 insertions, 0 deletions