[PATCH 1/1] LEON3: UT699 and GR712 sleep-mode d-cache fix

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Mar 31 10:03:53 UTC 2014


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.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list