Changeset da349da0 in mainline for boot


Ignore:
Timestamp:
2008-08-10T15:28:42Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a9d4d2c
Parents:
d2e9c47
Message:

memcpy(), memmove() and similar functions return dst instead of src.
Fix all implementations, including those in assembly. ppc32 assembly
version didn't seem to be affected by this.

Location:
boot/arch
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/loader/asm.S

    rd2e9c47 rda349da0  
    3636        bic     r3, r3, #3
    3737        cmp     r1, r3
    38         stmdb   sp!, {r4, lr}
     38        stmdb   sp!, {r4, r5, lr}
     39        mov     r5, r0
    3940        beq     4f
    40411:
     
    4950        bne     2b
    50513:
    51         mov     r0, r1
    52         ldmia   sp!, {r4, pc}
     52        mov     r0, r5
     53        ldmia   sp!, {r4, r5, pc}
    53544:
    5455        add     r3, r0, #3
  • boot/arch/mips32/loader/asm.S

    rd2e9c47 rda349da0  
    4949        beq     $a1,$v0,3f
    5050        move    $t0,$a0
     51        move    $t2,$a0                 # save dst
    5152
    52530:
     
    64652:
    6566        jr      $ra
    66         move    $v0,$a1
     67        move    $v0,$t2
    6768
    68693:
     
    104105
    105106        jr      $ra
    106         move    $v0,$a1
     107        move    $v0,$t2
    107108
    108109jump_to_kernel:
  • boot/arch/sparc64/loader/asm.S

    rd2e9c47 rda349da0  
    3131#include <register.h>
    3232
     33.register       %g2, #scratch
     34.register       %g3, #scratch
     35
    3336.text
    3437
     
    4245       
    4346memcpy:
    44         .register       %g2, #scratch
    45         .register       %g3, #scratch
     47        mov     %o0, %o3                ! save dst
    4648        add     %o1, 7, %g1
    4749        and     %g1, -8, %g1
     
    62642:
    6365        jmp     %o7 + 8                 ! exit point
    64         mov     %o1, %o0
     66        mov     %o3, %o0
    65673:
    6668        and     %g1, -8, %g1
     
    9698
    9799        jmp     %o7 + 8                 ! exit point
    98         mov     %o1, %o0
     100        mov     %o3, %o0
    99101
    100102jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.