Both patches in this series looks good. Thanks!

Haven't tested it though. Please merge it since we will temporary branch from 
mainline the coming days for the SMP project.

DanielH


On 05/14/2014 10:57 AM, Sebastian Huber wrote:
Use the register %g4 for the data content since it must be an even
numbered register due to the std/ldd.  Use the register %g2 for the BSS
start address, so that it can be later re-used for the BSS zero loop.
---
  c/src/lib/libbsp/sparc/shared/start/start.S |   18 +++++++++---------
  1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S 
b/c/src/lib/libbsp/sparc/shared/start/start.S
index 26da7b4..a1b3ff0 100644
--- a/c/src/lib/libbsp/sparc/shared/start/start.S
+++ b/c/src/lib/libbsp/sparc/shared/start/start.S
@@ -319,25 +319,25 @@ cpu0:
           *  LENGTH: (__bss_start - _data_start) bytes
           */
- sethi %hi(_endtext),%g2
-        or    %g2,%lo(_endtext),%g2     ! g2 = start of initialized data in ROM
+        sethi %hi(_endtext),%g1
+        or    %g1,%lo(_endtext),%g1     ! g1 = start of initialized data in ROM
sethi %hi(_data_start),%g3
          or    %g3,%lo(_data_start),%g3  ! g3 = start of initialized data in 
RAM
- sethi %hi(__bss_start),%g4
-        or    %g4,%lo(__bss_start),%g4  ! g4 = end of initialized data in RAM
+        sethi %hi(__bss_start), %g2
+        or    %g2,%lo(__bss_start),%g2  ! g2 = end of initialized data in RAM
- cmp %g2, %g3
+       cmp   %g1, %g3
        be    1f
        nop
copy_data:
-        ldd   [ %g2 ], %g5
-        std   %g5 , [ %g3 ]             ! copy this double word
+        ldd   [%g1], %g4
+        std   %g4 , [%g3]               ! copy this double word
          add   %g3, 8, %g3               ! bump the destination pointer
-        add   %g2, 8, %g2               ! bump the source pointer
-        cmp   %g3, %g4                  ! Is the pointer past the end of dest?
+        add   %g1, 8, %g1               ! bump the source pointer
+        cmp   %g3, %g2                  ! Is the pointer past the end of dest?
          bl    copy_data
          nop

_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to