Changeset f941347 in mainline for arch/ppc32/loader/asm.S


Ignore:
Timestamp:
2006-03-17T12:46:35Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7dcde32
Parents:
543c31f
Message:

relocate boot loader structures if needed
(allowing to boot on stupid OFW implementations)

File:
1 edited

Legend:

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

    r543c31f rf941347  
    3838
    3939.global halt
     40.global memcpy
    4041.global jump_to_kernel
    4142
    4243halt:
    4344        b halt
     45
     46memcpy:
     47        srwi. r7, r5, 3
     48        addi r6, r3, -4
     49        addi r4, r4, -4
     50        beq     2f
     51       
     52        andi. r0, r6, 3
     53        mtctr r7
     54        bne 5f
     55       
     56        1:
     57       
     58        lwz r7, 4(r4)
     59        lwzu r8, 8(r4)
     60        stw r7, 4(r6)
     61        stwu r8, 8(r6)
     62        bdnz 1b
     63       
     64        andi. r5, r5, 7
     65       
     66        2:
     67       
     68        cmplwi 0, r5, 4
     69        blt 3f
     70       
     71        lwzu r0, 4(r4)
     72        addi r5, r5, -4
     73        stwu r0, 4(r6)
     74       
     75        3:
     76       
     77        cmpwi 0, r5, 0
     78        beqlr
     79        mtctr r5
     80        addi r4, r4, 3
     81        addi r6, r6, 3
     82       
     83        4:
     84       
     85        lbzu r0, 1(r4)
     86        stbu r0, 1(r6)
     87        bdnz 4b
     88        blr
     89       
     90        5:
     91       
     92        subfic r0, r0, 4
     93        mtctr r0
     94       
     95        6:
     96       
     97        lbz r7, 4(r4)
     98        addi r4, r4, 1
     99        stb r7, 4(r6)
     100        addi r6, r6, 1
     101        bdnz 6b
     102        subf r5, r0, r5
     103        rlwinm. r7, r5, 32-3, 3, 31
     104        beq 2b
     105        mtctr r7
     106        b 1b
     107
    44108
    45109jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.