Changeset 45f7449 in mainline for boot/arch/mips32/src


Ignore:
Timestamp:
2013-03-31T19:46:19Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a5057cc
Parents:
582f4d28
Message:

Revert to the state of mainline,1783.

File:
1 edited

Legend:

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

    r582f4d28 r45f7449  
    3737.global halt
    3838.global jump_to_kernel
    39 .global memset
    40 .global memcpy
    4139
    4240.section BOOTSTRAP
     
    160158        j $a0
    161159        nop
    162 
    163 memset:
    164         move $v0, $a0
    165         beqz $a2, 0f
    166         addiu $t1, $a2, -1
    167        
    168         negu $t0, $a0
    169         andi $t0, $t0, 0x3
    170         sltu $v1, $a2, $t0
    171         bnez $v1, 1f
    172         andi $a1, $a1, 0xff
    173        
    174         7:
    175                 sltiu $v1, $a2, 4
    176                 beqz $v1, 2f
    177                 move $v1, $v0
    178                
    179                  move $t0, $a2
    180        
    181         3:
    182                 sb $a1, 0($v1)
    183                 addiu $v1, $v1, 1
    184                 subu $a3, $v1, $v0
    185                 sltu $a3, $a3, $t0
    186                 bnez $a3, 3b
    187                 addiu $t1, $t1, -1
    188                
    189                 beq $a2, $t0, 0f
    190                 subu $a2, $a2, $t0
    191        
    192         8:
    193                 srl $a0, $a2, 0x2
    194                 sll $t4, $a0, 0x2
    195                 beqz $t4, 4f
    196                 sll $t2, $a1, 0x10
    197                
    198                 sll $t3, $a1, 0x8
    199                 or $t3, $a1, $t3
    200                 sll $a3, $a1, 0x18
    201                 or $t3, $t3, $t2
    202                 or $t3, $t3, $a3
    203                 addu $t0, $v0, $t0
    204                 move $a3, $zero
    205        
    206         5:
    207                 addiu $a3, $a3, 1
    208                 sltu $t2, $a3, $a0
    209                 sw $t3, 0($t0)
    210                 bnez $t2, 5b
    211                 addiu $t0, $t0, 4
    212                
    213                 addu $v1, $v1, $t4
    214                 beq $a2, $t4, 0f
    215                 subu $t1, $t1, $t4
    216        
    217         4:
    218                 addiu $t1, $t1, 1
    219                 addu $t1, $v1, $t1
    220                 sb $a1, 0($v1)
    221        
    222         6:
    223                 addiu $v1, $v1, 1
    224                 bnel $v1, $t1, 6b
    225                 sb $a1, 0($v1)
    226        
    227         0:
    228                 jr $ra
    229                 nop
    230        
    231         1:
    232                 j 7b
    233                 move $t0, $a2
    234        
    235         2:
    236                 bnez $t0, 3b
    237                 nop
    238                
    239                 j 8b
    240                 subu $a2, $a2, $t0
    241 
    242 memcpy:
    243         move $t2, $a0  /* save dst */
    244        
    245         addiu $v0, $a1, 3
    246         li $v1, -4  /* 0xfffffffffffffffc */
    247         and $v0, $v0, $v1
    248         beq $a1, $v0, 3f
    249         move $t0, $a0
    250        
    251         0:
    252                 beq $a2, $zero, 2f
    253                 move $a3, $zero
    254        
    255         1:
    256                 addu $v0, $a1, $a3
    257                 lbu $a0, 0($v0)
    258                 addu $v1, $t0, $a3
    259                 addiu $a3, $a3, 1
    260                 bne $a3, $a2, 1b
    261                 sb $a0, 0($v1)
    262        
    263         2:
    264                 jr $ra
    265                 move $v0, $t2
    266        
    267         3:
    268                 addiu $v0, $a0, 3
    269                 and $v0, $v0, $v1
    270                 bne $a0, $v0, 0b
    271                 srl $t1, $a2, 2
    272                
    273                 beq $t1, $zero, 5f
    274                 move $a3, $zero
    275                
    276                 move $a3, $zero
    277                 move $a0, $zero
    278        
    279         4:
    280                 addu $v0, $a1, $a0
    281                 lw $v1, 0($v0)
    282                 addiu $a3, $a3, 1
    283                 addu $v0, $t0, $a0
    284                 sw $v1, 0($v0)
    285                 bne $a3, $t1, 4b
    286                 addiu $a0, $a0, 4
    287        
    288         5:
    289                 andi $a2, $a2, 0x3
    290                 beq $a2, $zero, 2b
    291                 nop
    292                
    293                 sll $v0, $a3, 2
    294                 addu $t1, $v0, $t0
    295                 move $a3, $zero
    296                 addu $t0, $v0, $a1
    297        
    298         6:
    299                 addu $v0, $t0, $a3
    300                 lbu $a0, 0($v0)
    301                 addu $v1, $t1, $a3
    302                 addiu $a3, $a3, 1
    303                 bne $a3, $a2, 6b
    304                 sb $a0, 0($v1)
    305                
    306                 jr $ra
    307                 move $v0, $t2
Note: See TracChangeset for help on using the changeset viewer.