Changeset a2da43c in mainline for boot/arch/ppc32/src/asm.S


Ignore:
Timestamp:
2010-07-24T20:03:35Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
af96dd57, c621f4aa
Parents:
46757a6
Message:

memcpy assembly blobs in boot stage are not needed. Replace them all with a simple C function.

File:
1 edited

Legend:

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

    r46757a6 ra2da43c  
    6060.global start
    6161.global halt
    62 .global memcpy
    6362.global jump_to_kernel
    6463.global real_mode
     
    7877halt:
    7978        b halt
    80 
    81 memcpy:
    82         srwi. r7, r5, 3
    83         addi r6, r3, -4
    84         addi r4, r4, -4
    85         beq 2f
    86        
    87         andi. r0, r6, 3
    88         mtctr r7
    89         bne 5f
    90        
    91         1:
    92                 lwz r7, 4(r4)
    93                 lwzu r8, 8(r4)
    94                 stw r7, 4(r6)
    95                 stwu r8, 8(r6)
    96                 bdnz 1b
    97                
    98                 andi. r5, r5, 7
    99        
    100         2:
    101                 cmplwi 0, r5, 4
    102                 blt 3f
    103                
    104                 lwzu r0, 4(r4)
    105                 addi r5, r5, -4
    106                 stwu r0, 4(r6)
    107        
    108         3:
    109                 cmpwi 0, r5, 0
    110                 beqlr
    111                 mtctr r5
    112                 addi r4, r4, 3
    113                 addi r6, r6, 3
    114        
    115         4:
    116                 lbzu r0, 1(r4)
    117                 stbu r0, 1(r6)
    118                 bdnz 4b
    119                 blr
    120        
    121         5:
    122                 subfic r0, r0, 4
    123                 mtctr r0
    124        
    125         6:
    126                 lbz r7, 4(r4)
    127                 addi r4, r4, 1
    128                 stb r7, 4(r6)
    129                 addi r6, r6, 1
    130                 bdnz 6b
    131                 subf r5, r0, r5
    132                 rlwinm. r7, r5, 32-3, 3, 31
    133                 beq 2b
    134                 mtctr r7
    135                 b 1b
    13679
    13780jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.