Changes in / [ac92b85:f577058] in mainline


Ignore:
Files:
4 edited

Legend:

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

    rac92b85 rf577058  
    3232
    3333pal_static_call:
    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
     34        alloc loc0 = ar.pfs, 7, 5, 0, 0
    4035       
    41         mov loc2 = gp
    42         mov loc3 = rp
     36        mov loc1 = gp
     37        mov loc2 = rp
    4338       
    44         addl loc4 = @gprel(pal_proc), gp
    45 
     39        addl loc3 = @gprel(pal_proc), gp
     40       
    4641        mov r28 = in0
    4742        mov r29 = in1
     
    4944        mov r31 = in3 ;;
    5045       
    51         ld8 loc4 = [loc4]
    52         movl loc5 = 0f ;;
     46        ld8 loc3 = [loc3]
     47        movl loc4 = 0f ;;
    5348
    54         mov b6 = loc4
    55         mov rp = loc5 ;;
     49        mov b6 = loc3
     50        mov rp = loc4 ;;
    5651        br.cond.sptk.many b6
    5752
    58530:
    59         mov psr.l = loc1 ;;
    60         srlz.i
    61         srlz.d
    62 
    6354        cmp.ne p7,p0 = 0, in4
    6455        cmp.ne p8,p0 = 0, in5
     
    6960(p9)    st8 [in6] = r11
    7061       
    71         mov gp = loc2
    72         mov rp = loc3 ;;
     62        mov gp = loc1
     63        mov rp = loc2 ;;
    7364       
    7465        mov ar.pfs = loc0
  • boot/arch/ia64/src/sal_asm.S

    rac92b85 rf577058  
    2929.explicit
    3030
    31 #define STACK_SCRATCH_AREA      16
    32 #define STACK_IN8               (0 + STACK_SCRATCH_AREA)
    33 #define STACK_IN9               (8 + STACK_SCRATCH_AREA)
    34 #define STACK_IN10              (16 + STACK_SCRATCH_AREA)
    35 
    3631.global sal_call
    3732
     
    4439#
    4540sal_call:
    46         alloc loc0 = ar.pfs, 8, 8, 8, 0
     41        alloc loc0 = ar.pfs, 11, 5, 8, 0
    4742       
    48         adds sp = -STACK_SCRATCH_AREA, sp
    49 
    5043        mov loc1 = gp
    5144        mov loc2 = rp
     
    6457       
    6558        ld8 loc3 = [loc3]
    66         ld8 gp = [loc4]
    67 
    68         adds r14 = STACK_IN8 + STACK_SCRATCH_AREA, sp
    69         adds r15 = STACK_IN9 + STACK_SCRATCH_AREA, sp
    70         adds r16 = STACK_IN10 + STACK_SCRATCH_AREA, sp ;;
    71 
    72         ld8 loc5 = [r14]
    73         ld8 loc6 = [r15]
    74         ld8 loc7 = [r16]
     59        ld8 gp = [loc4] ;;
    7560       
    7661        mov b6 = loc3 ;;
    7762        br.call.sptk.many rp = b6
    7863       
    79         cmp.ne p7,p0 = 0, loc5
    80         cmp.ne p8,p0 = 0, loc6
    81         cmp.ne p9,p0 = 0, loc7 ;;
     64        cmp.ne p7,p0 = 0, in8
     65        cmp.ne p8,p0 = 0, in9
     66        cmp.ne p9,p0 = 0, in10 ;;
    8267       
    83 (p7)    st8 [loc5] = r9
    84 (p8)    st8 [loc6] = r10
    85 (p9)    st8 [loc7] = r11
     68(p7)    st8 [in8] = r9
     69(p8)    st8 [in9] = r10
     70(p9)    st8 [in10] = r11
    8671       
    8772        mov gp = loc1
    88         mov rp = loc2
    89 
    90         adds sp = STACK_SCRATCH_AREA, sp ;;
     73        mov rp = loc2 ;;
    9174       
    9275        mov ar.pfs = loc0
    9376        br.ret.sptk.many rp
    94 
  • kernel/arch/ia64/include/asm.h

    rac92b85 rf577058  
    6161        asm volatile (
    6262                "mf\n"
    63                 "mf.a\n"
    6463                ::: "memory"
    6564        );
     
    7574        asm volatile (
    7675                "mf\n"
    77                 "mf.a\n"
    7876                ::: "memory"
    7977        );
     
    8987        asm volatile (
    9088                "mf\n"
    91                 "mf.a\n"
    9289                ::: "memory"
    9390        );
     
    107104        else
    108105                v = *port;
    109 
    110         asm volatile (
    111                 "mf.a\n"
    112                 ::: "memory"
    113         );
    114106       
    115107        return v;
     
    129121        else
    130122                v = *port;
    131 
    132         asm volatile (
    133                 "mf.a\n"
    134                 ::: "memory"
    135         );
    136123       
    137124        return v;
     
    151138        else
    152139                v = *port;
    153 
    154         asm volatile (
    155                 "mf.a\n"
    156                 ::: "memory"
    157         );
    158140
    159141        return v;
  • uspace/lib/c/arch/ia64/include/ddi.h

    rac92b85 rf577058  
    6262
    6363        asm volatile ("mf\n" ::: "memory");
    64         asm volatile ("mf.a\n" ::: "memory");
    6564}
    6665
     
    7776
    7877        asm volatile ("mf\n" ::: "memory");
    79         asm volatile ("mf.a\n" ::: "memory");
    8078}
    8179
     
    9290
    9391        asm volatile ("mf\n" ::: "memory");
    94         asm volatile ("mf.a\n" ::: "memory");
    9592}
    9693
     
    109106                v = *port;
    110107        }
    111 
    112         asm volatile ("mf.a\n" ::: "memory");
    113108
    114109        return v;
     
    130125        }
    131126
    132         asm volatile ("mf.a\n" ::: "memory");
    133 
    134127        return v;
    135128}
     
    150143        }
    151144
    152         asm volatile ("mf.a\n" ::: "memory");
    153 
    154145        return v;
    155146}
Note: See TracChangeset for help on using the changeset viewer.