Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset f31aed5 in mainline


Ignore:
Timestamp:
2012-02-22T22:24:37Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
c4026aa
Parents:
314f3a3c
Message:

Make sure PSR.I is cleared before calling PAL.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/ia64/src/pal_asm.S

    r314f3a3c rf31aed5  
    3232
    3333pal_static_call:
    34         alloc loc0 = ar.pfs, 7, 5, 0, 0
     34        alloc loc0 = ar.pfs, 7, 6, 0, 0
     35
     36        mov loc1 = psr ;;
     37        mov psr.l = r0 ;;
     38        srlz.i
     39        srlz.d
    3540       
    36         mov loc1 = gp
    37         mov loc2 = rp
     41        mov loc2 = gp
     42        mov loc3 = rp
    3843       
    39         addl loc3 = @gprel(pal_proc), gp
    40        
     44        addl loc4 = @gprel(pal_proc), gp
     45
    4146        mov r28 = in0
    4247        mov r29 = in1
     
    4449        mov r31 = in3 ;;
    4550       
    46         ld8 loc3 = [loc3]
    47         movl loc4 = 0f ;;
     51        ld8 loc4 = [loc4]
     52        movl loc5 = 0f ;;
    4853
    49         mov b6 = loc3
    50         mov rp = loc4 ;;
     54        mov b6 = loc4
     55        mov rp = loc5 ;;
    5156        br.cond.sptk.many b6
    5257
    53580:
     59        mov psr.l = loc1 ;;
     60        srlz.i
     61        srlz.d
     62
    5463        cmp.ne p7,p0 = 0, in4
    5564        cmp.ne p8,p0 = 0, in5
     
    6069(p9)    st8 [in6] = r11
    6170       
    62         mov gp = loc1
    63         mov rp = loc2 ;;
     71        mov gp = loc2
     72        mov rp = loc3 ;;
    6473       
    6574        mov ar.pfs = loc0
Note: See TracChangeset for help on using the changeset viewer.