Changeset c82950a in mainline for arch/sparc64/loader/asm.S


Ignore:
Timestamp:
2006-07-03T22:41:27Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1b7dc656
Parents:
b95b717
Message:

Work on sparc64 boot loader (still inactive).

File:
1 edited

Legend:

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

    rb95b717 rc82950a  
    3838       
    3939memcpy:
    40         b memcpy
    41         nop
     40        .register       %g2, #scratch
     41        .register       %g3, #scratch
     42        add     %o1, 7, %g1
     43        and     %g1, -8, %g1
     44        cmp     %o1, %g1
     45        be,pn   %xcc, 3f
     46        add     %o0, 7, %g1
     47        mov     0, %g3
     480:
     49        brz,pn  %o2, 2f
     50        mov     0, %g2
     511:
     52        ldub    [%g3 + %o1], %g1
     53        add     %g2, 1, %g2
     54        cmp     %o2, %g2
     55        stb     %g1, [%g3 + %o0]
     56        bne,pt  %xcc, 1b
     57        mov     %g2, %g3
     582:
     59        jmp     %o7 + 8                 ! exit point
     60        mov     %o1, %o0
     613:
     62        and     %g1, -8, %g1
     63        cmp     %o0, %g1
     64        bne,pt  %xcc, 0b
     65        mov     0, %g3
     66        srlx    %o2, 3, %g4
     67        brz,pn  %g4, 5f
     68        mov     0, %g5
     694:
     70        sllx    %g3, 3, %g2
     71        add     %g5, 1, %g3
     72        ldx     [%o1 + %g2], %g1
     73        mov     %g3, %g5
     74        cmp     %g4, %g3
     75        bne,pt  %xcc, 4b
     76        stx     %g1, [%o0 + %g2]
     775:
     78        and     %o2, 7, %o2
     79        brz,pn  %o2, 2b
     80        sllx    %g4, 3, %g1
     81        mov     0, %g2
     82        add     %g1, %o0, %o0
     83        add     %g1, %o1, %g4
     84        mov     0, %g3
     856:
     86        ldub    [%g2 + %g4], %g1
     87        stb     %g1, [%g2 + %o0]
     88        add     %g3, 1, %g2
     89        cmp     %o2, %g2
     90        bne,pt  %xcc, 6b
     91        mov     %g2, %g3
     92
     93        jmp     %o7 + 8                 ! exit point
     94        mov     %o1, %o0
    4295
    4396jump_to_kernel:
Note: See TracChangeset for help on using the changeset viewer.