On 2014-03-31 11:48, Daniel Cederman wrote:
See errata of respective chip. Some code-cleanup as well.
---
  c/src/lib/libbsp/sparc/leon3/startup/bspidle.S |    7 ++-----
  1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspidle.S 
b/c/src/lib/libbsp/sparc/leon3/startup/bspidle.S
index 714d4e5..0924658 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspidle.S
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspidle.S
@@ -23,8 +23,5 @@
  SYM(bsp_idle_thread):
  SYM(leon3_power_down_loop):
  pwdloop:  mov   %g0, %asr19
-          ba    pwdloop
-          nop
-          retl
-          nop
-
+          lda   [%sp] 1, %g0            ! Needed for UT699 and GR712
+          ba,a    pwdloop


If I understand this ",a" notation correctly, then the instruction following the branch is not executed in case the branch is not taken. Since we branch always, this ",a" seems to be superfluous. Is it safe to remove the nop instruction in the delay slot here?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to