[PATCH] sparc: Add workaround for GRLIB-TN-0011

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Nov 23 15:34:15 UTC 2021


Affected components are the GR712RC, UT699, UT699E, UT700, and
LEON3FT-RTAX.  Strictly, the workaround is only necessary if the MMU is
enabled.  Use __FIX_LEON3FT_B2BST to enable the workaround.  This is not
100% appropriate, but the best thing we can use to enable the
workaround.

Close #4551.
---
 cpukit/score/cpu/sparc/cpu_asm.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/cpukit/score/cpu/sparc/cpu_asm.S b/cpukit/score/cpu/sparc/cpu_asm.S
index 45d1495af7..04b2b0119f 100644
--- a/cpukit/score/cpu/sparc/cpu_asm.S
+++ b/cpukit/score/cpu/sparc/cpu_asm.S
@@ -190,6 +190,16 @@ done_flushing:
         ! Try to update the is executing indicator of the heir context
         mov     1, %g1
 
+#if defined(__FIX_LEON3FT_B2BST)
+        /*
+         * This is a workaround for GRLIB-TN-0011.  Affected components are the
+         * GR712RC, UT699, UT699E, UT700, and LEON3FT-RTAX.  Strictly, the
+         * workaround is only necessary if the MMU is enabled.  Using the
+         * __FIX_LEON3FT_B2BST is not 100% appropriate, but the best thing we
+         * can use to enable the workaround.
+         */
+.align 16
+#endif
 .Ltry_update_is_executing:
 
         swap    [%o1 + SPARC_CONTEXT_CONTROL_IS_EXECUTING_OFFSET], %g1
-- 
2.31.1



More information about the devel mailing list