Changes in / [087768f:ec8c622] in mainline
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/ia64/src/pal_asm.S
r087768f rec8c622 32 32 33 33 pal_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 40 35 41 mov loc 2= gp42 mov loc 3= rp36 mov loc1 = gp 37 mov loc2 = rp 43 38 44 addl loc 4= @gprel(pal_proc), gp45 39 addl loc3 = @gprel(pal_proc), gp 40 46 41 mov r28 = in0 47 42 mov r29 = in1 … … 49 44 mov r31 = in3 ;; 50 45 51 ld8 loc 4 = [loc4]52 movl loc 5= 0f ;;46 ld8 loc3 = [loc3] 47 movl loc4 = 0f ;; 53 48 54 mov b6 = loc 455 mov rp = loc 5;;49 mov b6 = loc3 50 mov rp = loc4 ;; 56 51 br.cond.sptk.many b6 57 52 58 53 0: 59 mov psr.l = loc1 ;;60 srlz.i61 srlz.d62 63 54 cmp.ne p7,p0 = 0, in4 64 55 cmp.ne p8,p0 = 0, in5 … … 69 60 (p9) st8 [in6] = r11 70 61 71 mov gp = loc 272 mov rp = loc 3;;62 mov gp = loc1 63 mov rp = loc2 ;; 73 64 74 65 mov ar.pfs = loc0 -
boot/arch/ia64/src/sal_asm.S
r087768f rec8c622 29 29 .explicit 30 30 31 #define STACK_SCRATCH_AREA 1632 #define STACK_IN8 (0 + STACK_SCRATCH_AREA)33 #define STACK_IN9 (8 + STACK_SCRATCH_AREA)34 #define STACK_IN10 (16 + STACK_SCRATCH_AREA)35 36 31 .global sal_call 37 32 … … 44 39 # 45 40 sal_call: 46 alloc loc0 = ar.pfs, 8, 8, 8, 041 alloc loc0 = ar.pfs, 11, 5, 8, 0 47 42 48 adds sp = -STACK_SCRATCH_AREA, sp49 50 43 mov loc1 = gp 51 44 mov loc2 = rp … … 64 57 65 58 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] ;; 75 60 76 61 mov b6 = loc3 ;; 77 62 br.call.sptk.many rp = b6 78 63 79 cmp.ne p7,p0 = 0, loc580 cmp.ne p8,p0 = 0, loc681 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 ;; 82 67 83 (p7) st8 [ loc5] = r984 (p8) st8 [ loc6] = r1085 (p9) st8 [ loc7] = r1168 (p7) st8 [in8] = r9 69 (p8) st8 [in9] = r10 70 (p9) st8 [in10] = r11 86 71 87 72 mov gp = loc1 88 mov rp = loc2 89 90 adds sp = STACK_SCRATCH_AREA, sp ;; 73 mov rp = loc2 ;; 91 74 92 75 mov ar.pfs = loc0 93 76 br.ret.sptk.many rp 94 -
kernel/arch/ia64/include/asm.h
r087768f rec8c622 61 61 asm volatile ( 62 62 "mf\n" 63 "mf.a\n"64 63 ::: "memory" 65 64 ); … … 75 74 asm volatile ( 76 75 "mf\n" 77 "mf.a\n"78 76 ::: "memory" 79 77 ); … … 89 87 asm volatile ( 90 88 "mf\n" 91 "mf.a\n"92 89 ::: "memory" 93 90 ); … … 107 104 else 108 105 v = *port; 109 110 asm volatile (111 "mf.a\n"112 ::: "memory"113 );114 106 115 107 return v; … … 129 121 else 130 122 v = *port; 131 132 asm volatile (133 "mf.a\n"134 ::: "memory"135 );136 123 137 124 return v; … … 151 138 else 152 139 v = *port; 153 154 asm volatile (155 "mf.a\n"156 ::: "memory"157 );158 140 159 141 return v; -
uspace/lib/c/arch/ia64/include/ddi.h
r087768f rec8c622 62 62 63 63 asm volatile ("mf\n" ::: "memory"); 64 asm volatile ("mf.a\n" ::: "memory");65 64 } 66 65 … … 77 76 78 77 asm volatile ("mf\n" ::: "memory"); 79 asm volatile ("mf.a\n" ::: "memory");80 78 } 81 79 … … 92 90 93 91 asm volatile ("mf\n" ::: "memory"); 94 asm volatile ("mf.a\n" ::: "memory");95 92 } 96 93 … … 109 106 v = *port; 110 107 } 111 112 asm volatile ("mf.a\n" ::: "memory");113 108 114 109 return v; … … 130 125 } 131 126 132 asm volatile ("mf.a\n" ::: "memory");133 134 127 return v; 135 128 } … … 150 143 } 151 144 152 asm volatile ("mf.a\n" ::: "memory");153 154 145 return v; 155 146 }
Note:
See TracChangeset
for help on using the changeset viewer.