summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc/sparc-context-validate.S
diff options
context:
space:
mode:
authorDaniel Cederman <cederman@gaisler.com>2017-07-13 09:26:50 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-17 07:41:38 +0200
commit2f8704b6c8c3ce65cdf2b589a98de1d1d9dc8ffa (patch)
treebd540adf388432ec7db34e5d2c4a3d4b8574b344 /cpukit/score/cpu/sparc/sparc-context-validate.S
parentpsxtests: Add a mmap dedicated test case (diff)
downloadrtems-2f8704b6c8c3ce65cdf2b589a98de1d1d9dc8ffa.tar.bz2
sparc: Add assembly workaround for LEON3FT B2BST errata
This patch adds NOP instructions to prevent instruction sequences that are sensitive to the LEON3FT B2BST errata. See GRLIB-TN-0009: "LEON3FT Stale Cache Entry After Store with Data Tag Parity Error" for more information. The sequences are only modified if __FIX_LEON3FT_B2BST is defined. The patch works in conjunction with the -mfix-ut700, -mfix-gr712rc, and -mfix-ut699 GCC flags that prevents the sensitive sequences from being generated. Update #3057.
Diffstat (limited to 'cpukit/score/cpu/sparc/sparc-context-validate.S')
-rw-r--r--cpukit/score/cpu/sparc/sparc-context-validate.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpukit/score/cpu/sparc/sparc-context-validate.S b/cpukit/score/cpu/sparc/sparc-context-validate.S
index e0724e0e94..777f4dd8a6 100644
--- a/cpukit/score/cpu/sparc/sparc-context-validate.S
+++ b/cpukit/score/cpu/sparc/sparc-context-validate.S
@@ -282,6 +282,7 @@ y_checking:
nop
st %o1, [%sp + FRAME_OFFSET_BUFFER_2]
+ SPARC_LEON3FT_B2BST_NOP
/* Check floating point registers */
check_float_register %f31
check_float_register %f30