Ignore:
File:
1 edited

Legend:

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

    ra2da43c r4872160  
    6060.global start
    6161.global halt
     62.global memcpy
    6263.global jump_to_kernel
    6364.global real_mode
     
    7778halt:
    7879        b halt
     80
     81memcpy:
     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
    79136
    80137jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.