Changeset 25f089b in mainline for arch/mips32/loader/asm.S


Ignore:
Timestamp:
2006-06-10T11:04:11Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e5cd717
Parents:
2d1a1d4
Message:

mips piggybacker

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/loader/asm.S

    r2d1a1d4 r25f089b  
    3636
    3737.global halt
     38.global memcpy
    3839.global jump_to_kernel
    3940
     
    4142        b halt
    4243        nop
     44       
     45memcpy:
     46        addiu   $v0,$a1,3
     47        li      $v1,-4                  # 0xfffffffffffffffc
     48        and     $v0,$v0,$v1
     49        beq     $a1,$v0,3f
     50        move    $t0,$a0
     51
     520:
     53        beq     $a2,$zero,2f
     54        move    $a3,$zero
     55
     561:
     57        addu    $v0,$a1,$a3
     58        lbu     $a0,0($v0)
     59        addu    $v1,$t0,$a3
     60        addiu   $a3,$a3,1
     61        bne     $a3,$a2,1b
     62        sb      $a0,0($v1)
     63
     642:
     65        jr      $ra
     66        move    $v0,$a1
     67
     683:
     69        addiu   $v0,$a0,3
     70        and     $v0,$v0,$v1
     71        bne     $a0,$v0,0b
     72        srl     $t1,$a2,2
     73
     74        beq     $t1,$zero,5f
     75        move    $a3,$zero
     76
     77        move    $a3,$zero
     78        move    $a0,$zero
     794:
     80        addu    $v0,$a1,$a0
     81        lw      $v1,0($v0)
     82        addiu   $a3,$a3,1
     83        addu    $v0,$t0,$a0
     84        sw      $v1,0($v0)
     85        bne     $a3,$t1,4b
     86        addiu   $a0,$a0,4
     87
     885:
     89        andi    $a2,$a2,0x3
     90        beq     $a2,$zero,2b
     91        nop
     92
     93        sll     $v0,$a3,2
     94        addu    $t1,$v0,$t0
     95        move    $a3,$zero
     96        addu    $t0,$v0,$a1
     976:
     98        addu    $v0,$t0,$a3
     99        lbu     $a0,0($v0)
     100        addu    $v1,$t1,$a3
     101        addiu   $a3,$a3,1
     102        bne     $a3,$a2,6b
     103        sb      $a0,0($v1)
     104
     105        jr      $ra
     106        move    $v0,$a1
    43107
    44108jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.