Skip to content
Snippets Groups Projects
Commit c4fe17f6 authored by Fabio Estevam's avatar Fabio Estevam Committed by Stefano Babic
Browse files

mx5: Add workaround for ARM erratum ID 468414


Add the software workaround for ARM erratum ID 468414.

According to mx53/mx51 errata document:

"ENGcm11133 - ARM: NEON load data can be incorrectly forwarded to a
subsequent request

Description:

Under very specific set of conditions, data from a Neon load request can be incorrectly forwarded
to a subsequent, unrelated memory request.
The conditions are as follows:
• Neon loads and stores must be in use
• Neon L1 caching must be disabled
• Trustzone must be configured and in use
• The secure memory address space and the non-secure memory address space both use the same
physical addresses, either as an alias or the same memory location or for separate memory
locations
The issue is reported by ARM, erratum ID 468414, Category 2"

Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
parent f5a289ba
No related branches found
No related tags found
No related merge requests found
...@@ -26,6 +26,13 @@ ...@@ -26,6 +26,13 @@
.section ".text.init", "x" .section ".text.init", "x"
.macro init_arm_erratum
/* ARM erratum ID #468414 */
mrc 15, 0, r1, c1, c0, 1
orr r1, r1, #(1 << 5) /* enable L1NEON bit */
mcr 15, 0, r1, c1, c0, 1
.endm
/* /*
* L2CC Cache setup/invalidation/disable * L2CC Cache setup/invalidation/disable
*/ */
...@@ -399,6 +406,8 @@ ENTRY(lowlevel_init) ...@@ -399,6 +406,8 @@ ENTRY(lowlevel_init)
str r1, [r0, #0x4] str r1, [r0, #0x4]
#endif #endif
init_arm_erratum
init_l2cc init_l2cc
init_aips init_aips
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment