summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Cederman <cederman@gaisler.com>2017-12-19 13:37:08 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2021-03-07 16:08:22 +0100
commit980cdb82a70c948b8531d99c3d1868725f503aa0 (patch)
treec790e97ee5033ed8dc8c70e0dde5913a6303bcc8
parentpowerpc/beatnik/net: Remove unused files (diff)
downloadrtems-980cdb82a70c948b8531d99c3d1868725f503aa0.tar.bz2
sparc: Remove sequences that the B2BST scan script warns about
Update #4154.
-rw-r--r--cpukit/score/cpu/sparc/cpu_asm.S6
-rw-r--r--cpukit/score/cpu/sparc/syscall.S3
2 files changed, 6 insertions, 3 deletions
diff --git a/cpukit/score/cpu/sparc/cpu_asm.S b/cpukit/score/cpu/sparc/cpu_asm.S
index d5afd5f7b0..bfad3fbc46 100644
--- a/cpukit/score/cpu/sparc/cpu_asm.S
+++ b/cpukit/score/cpu/sparc/cpu_asm.S
@@ -683,11 +683,13 @@ isr_dispatch:
cmp %l6, %l7
bne,a .Ldisable_fp
andn %l0, %l5, %l0
+ st %g0, [%g6 + SPARC_PER_CPU_FP_OWNER_OFFSET]
ba .Lthread_dispatch_done
- st %g0, [%g6 + SPARC_PER_CPU_FP_OWNER_OFFSET]
+ nop
.Ldisable_fp:
+ st %l0, [%fp + ISF_PSR_OFFSET]
ba .Lthread_dispatch_done
- st %l0, [%fp + ISF_PSR_OFFSET]
+ nop
.Lnon_fp_thread_dispatch:
#elif defined(SPARC_USE_SYNCHRONOUS_FP_SWITCH)
/* Test if we interrupted a floating point thread (PSR[EF] == 1) */
diff --git a/cpukit/score/cpu/sparc/syscall.S b/cpukit/score/cpu/sparc/syscall.S
index 4f4ef32c53..737a501098 100644
--- a/cpukit/score/cpu/sparc/syscall.S
+++ b/cpukit/score/cpu/sparc/syscall.S
@@ -218,9 +218,10 @@ SYM(syscall_lazy_fp_switch):
.Lfp_save_done:
/* Restore the floating point context if necessary */
+ st %g0, [%l4 + %lo(SPARC_THREAD_CONTROL_REGISTERS_FP_CONTEXT_OFFSET)]
cmp %l6, 0
be .Lfp_restore_done
- st %g0, [%l4 + %lo(SPARC_THREAD_CONTROL_REGISTERS_FP_CONTEXT_OFFSET)]
+ nop
ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F0_F1], %f0
ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F2_F3], %f2
ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F4_F5], %f4