OLD | NEW |
| (Empty) |
1 .syntax unified | |
2 .text | |
3 | |
4 .global __a_barrier | |
5 .hidden __a_barrier | |
6 .type __a_barrier,%function | |
7 __a_barrier: | |
8 ldr ip,1f | |
9 ldr ip,[pc,ip] | |
10 add pc,pc,ip | |
11 1: .word __a_barrier_ptr-1b | |
12 .global __a_barrier_dummy | |
13 .hidden __a_barrier_dummy | |
14 __a_barrier_dummy: | |
15 bx lr | |
16 .global __a_barrier_oldkuser | |
17 .hidden __a_barrier_oldkuser | |
18 __a_barrier_oldkuser: | |
19 push {r0,r1,r2,r3,ip,lr} | |
20 mov r1,r0 | |
21 mov r2,sp | |
22 ldr ip,=0xffff0fc0 | |
23 mov lr,pc | |
24 mov pc,ip | |
25 pop {r0,r1,r2,r3,ip,lr} | |
26 bx lr | |
27 .global __a_barrier_v6 | |
28 .hidden __a_barrier_v6 | |
29 __a_barrier_v6: | |
30 mcr p15,0,r0,c7,c10,5 | |
31 bx lr | |
32 .global __a_barrier_v7 | |
33 .hidden __a_barrier_v7 | |
34 __a_barrier_v7: | |
35 .word 0xf57ff05b /* dmb ish */ | |
36 bx lr | |
37 | |
38 .global __a_cas | |
39 .hidden __a_cas | |
40 .type __a_cas,%function | |
41 __a_cas: | |
42 ldr ip,1f | |
43 ldr ip,[pc,ip] | |
44 add pc,pc,ip | |
45 1: .word __a_cas_ptr-1b | |
46 .global __a_cas_dummy | |
47 .hidden __a_cas_dummy | |
48 __a_cas_dummy: | |
49 mov r3,r0 | |
50 ldr r0,[r2] | |
51 subs r0,r3,r0 | |
52 streq r1,[r2] | |
53 bx lr | |
54 .global __a_cas_v6 | |
55 .hidden __a_cas_v6 | |
56 __a_cas_v6: | |
57 mov r3,r0 | |
58 mcr p15,0,r0,c7,c10,5 | |
59 1: .word 0xe1920f9f /* ldrex r0,[r2] */ | |
60 subs r0,r3,r0 | |
61 .word 0x01820f91 /* strexeq r0,r1,[r2] */ | |
62 teqeq r0,#1 | |
63 beq 1b | |
64 mcr p15,0,r0,c7,c10,5 | |
65 bx lr | |
66 .global __a_cas_v7 | |
67 .hidden __a_cas_v7 | |
68 __a_cas_v7: | |
69 mov r3,r0 | |
70 .word 0xf57ff05b /* dmb ish */ | |
71 1: .word 0xe1920f9f /* ldrex r0,[r2] */ | |
72 subs r0,r3,r0 | |
73 .word 0x01820f91 /* strexeq r0,r1,[r2] */ | |
74 teqeq r0,#1 | |
75 beq 1b | |
76 .word 0xf57ff05b /* dmb ish */ | |
77 bx lr | |
78 | |
79 .global __aeabi_read_tp | |
80 .type __aeabi_read_tp,%function | |
81 __aeabi_read_tp: | |
82 | |
83 .global __a_gettp | |
84 .hidden __a_gettp | |
85 .type __a_gettp,%function | |
86 __a_gettp: | |
87 ldr r0,1f | |
88 ldr r0,[pc,r0] | |
89 add pc,pc,r0 | |
90 1: .word __a_gettp_ptr-1b | |
91 .global __a_gettp_dummy | |
92 .hidden __a_gettp_dummy | |
93 __a_gettp_dummy: | |
94 mrc p15,0,r0,c13,c0,3 | |
95 bx lr | |
96 | |
97 .data | |
98 .align 2 | |
99 | |
100 .global __a_barrier_ptr | |
101 .hidden __a_barrier_ptr | |
102 __a_barrier_ptr: | |
103 .word 0 | |
104 | |
105 .global __a_cas_ptr | |
106 .hidden __a_cas_ptr | |
107 __a_cas_ptr: | |
108 .word 0 | |
109 | |
110 .global __a_gettp_ptr | |
111 .hidden __a_gettp_ptr | |
112 __a_gettp_ptr: | |
113 .word 0 | |
OLD | NEW |