Changeset 20235a3 in mainline for boot/arch/sparc64/src/asm.S


Ignore:
Timestamp:
2010-09-02T20:55:28Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0c39b96
Parents:
0c61955 (diff), 3249673 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/sparc64/src/asm.S

    r0c61955 r20235a3  
    4242.global start
    4343.global halt
    44 .global memcpy
    4544.global jump_to_kernel
    4645
     
    9897        ba %xcc, halt
    9998        nop
    100 
    101 memcpy:
    102         ! Save dst
    103        
    104         mov %o0, %o3
    105         add %o1, 7, %g1
    106         and %g1, -8, %g1
    107         cmp %o1, %g1
    108         be,pn %xcc, 3f
    109         add %o0, 7, %g1
    110         mov 0, %g3
    111        
    112         0:
    113                 brz,pn %o2, 2f
    114                 mov 0, %g2
    115        
    116         1:
    117                 ldub [%g3 + %o1], %g1
    118                 add %g2, 1, %g2
    119                 cmp %o2, %g2
    120                 stb %g1, [%g3 + %o0]
    121                 bne,pt %xcc, 1b
    122                 mov %g2, %g3
    123        
    124         2:
    125                 ! Exit point
    126                
    127                 jmp %o7 + 8
    128                 mov %o3, %o0
    129        
    130         3:
    131                 and %g1, -8, %g1
    132                 cmp %o0, %g1
    133                 bne,pt %xcc, 0b
    134                 mov 0, %g3
    135                 srlx %o2, 3, %g4
    136                 brz,pn %g4, 5f
    137                 mov 0, %g5
    138        
    139         4:
    140                 sllx %g3, 3, %g2
    141                 add %g5, 1, %g3
    142                 ldx [%o1 + %g2], %g1
    143                 mov %g3, %g5
    144                 cmp %g4, %g3
    145                 bne,pt %xcc, 4b
    146                 stx %g1, [%o0 + %g2]
    147        
    148         5:
    149                 and %o2, 7, %o2
    150                 brz,pn %o2, 2b
    151                 sllx %g4, 3, %g1
    152                 mov 0, %g2
    153                 add %g1, %o0, %o0
    154                 add %g1, %o1, %g4
    155                 mov 0, %g3
    156        
    157         6:
    158                 ldub [%g2 + %g4], %g1
    159                 stb %g1, [%g2 + %o0]
    160                 add %g3, 1, %g2
    161                 cmp %o2, %g2
    162                 bne,pt %xcc, 6b
    163                 mov %g2, %g3
    164        
    165         ! Exit point
    166        
    167         jmp %o7 + 8
    168         mov %o3, %o0
    16999
    170100jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.