1*c9945492SAndroid Build Coastguard Worker.syntax unified 2*c9945492SAndroid Build Coastguard Worker.text 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker.global __a_barrier_dummy 5*c9945492SAndroid Build Coastguard Worker.hidden __a_barrier_dummy 6*c9945492SAndroid Build Coastguard Worker.type __a_barrier_dummy,%function 7*c9945492SAndroid Build Coastguard Worker__a_barrier_dummy: 8*c9945492SAndroid Build Coastguard Worker bx lr 9*c9945492SAndroid Build Coastguard Worker 10*c9945492SAndroid Build Coastguard Worker.global __a_barrier_oldkuser 11*c9945492SAndroid Build Coastguard Worker.hidden __a_barrier_oldkuser 12*c9945492SAndroid Build Coastguard Worker.type __a_barrier_oldkuser,%function 13*c9945492SAndroid Build Coastguard Worker__a_barrier_oldkuser: 14*c9945492SAndroid Build Coastguard Worker push {r0,r1,r2,r3,ip,lr} 15*c9945492SAndroid Build Coastguard Worker mov r1,r0 16*c9945492SAndroid Build Coastguard Worker mov r2,sp 17*c9945492SAndroid Build Coastguard Worker ldr ip,=0xffff0fc0 18*c9945492SAndroid Build Coastguard Worker bl 1f 19*c9945492SAndroid Build Coastguard Worker pop {r0,r1,r2,r3,ip,lr} 20*c9945492SAndroid Build Coastguard Worker bx lr 21*c9945492SAndroid Build Coastguard Worker1: bx ip 22*c9945492SAndroid Build Coastguard Worker 23*c9945492SAndroid Build Coastguard Worker.global __a_barrier_v6 24*c9945492SAndroid Build Coastguard Worker.hidden __a_barrier_v6 25*c9945492SAndroid Build Coastguard Worker.type __a_barrier_v6,%function 26*c9945492SAndroid Build Coastguard Worker__a_barrier_v6: 27*c9945492SAndroid Build Coastguard Worker .arch armv6t2 28*c9945492SAndroid Build Coastguard Worker mcr p15,0,r0,c7,c10,5 29*c9945492SAndroid Build Coastguard Worker bx lr 30*c9945492SAndroid Build Coastguard Worker 31*c9945492SAndroid Build Coastguard Worker.global __a_barrier_v7 32*c9945492SAndroid Build Coastguard Worker.hidden __a_barrier_v7 33*c9945492SAndroid Build Coastguard Worker.type __a_barrier_v7,%function 34*c9945492SAndroid Build Coastguard Worker__a_barrier_v7: 35*c9945492SAndroid Build Coastguard Worker .arch armv7-a 36*c9945492SAndroid Build Coastguard Worker dmb ish 37*c9945492SAndroid Build Coastguard Worker bx lr 38*c9945492SAndroid Build Coastguard Worker 39*c9945492SAndroid Build Coastguard Worker.global __a_cas_dummy 40*c9945492SAndroid Build Coastguard Worker.hidden __a_cas_dummy 41*c9945492SAndroid Build Coastguard Worker.type __a_cas_dummy,%function 42*c9945492SAndroid Build Coastguard Worker__a_cas_dummy: 43*c9945492SAndroid Build Coastguard Worker mov r3,r0 44*c9945492SAndroid Build Coastguard Worker ldr r0,[r2] 45*c9945492SAndroid Build Coastguard Worker subs r0,r3,r0 46*c9945492SAndroid Build Coastguard Worker streq r1,[r2] 47*c9945492SAndroid Build Coastguard Worker bx lr 48*c9945492SAndroid Build Coastguard Worker 49*c9945492SAndroid Build Coastguard Worker.global __a_cas_v6 50*c9945492SAndroid Build Coastguard Worker.hidden __a_cas_v6 51*c9945492SAndroid Build Coastguard Worker.type __a_cas_v6,%function 52*c9945492SAndroid Build Coastguard Worker__a_cas_v6: 53*c9945492SAndroid Build Coastguard Worker .arch armv6t2 54*c9945492SAndroid Build Coastguard Worker mov r3,r0 55*c9945492SAndroid Build Coastguard Worker mcr p15,0,r0,c7,c10,5 56*c9945492SAndroid Build Coastguard Worker1: ldrex r0,[r2] 57*c9945492SAndroid Build Coastguard Worker subs r0,r3,r0 58*c9945492SAndroid Build Coastguard Worker strexeq r0,r1,[r2] 59*c9945492SAndroid Build Coastguard Worker teqeq r0,#1 60*c9945492SAndroid Build Coastguard Worker beq 1b 61*c9945492SAndroid Build Coastguard Worker mcr p15,0,r0,c7,c10,5 62*c9945492SAndroid Build Coastguard Worker bx lr 63*c9945492SAndroid Build Coastguard Worker 64*c9945492SAndroid Build Coastguard Worker.global __a_cas_v7 65*c9945492SAndroid Build Coastguard Worker.hidden __a_cas_v7 66*c9945492SAndroid Build Coastguard Worker.type __a_cas_v7,%function 67*c9945492SAndroid Build Coastguard Worker__a_cas_v7: 68*c9945492SAndroid Build Coastguard Worker .arch armv7-a 69*c9945492SAndroid Build Coastguard Worker mov r3,r0 70*c9945492SAndroid Build Coastguard Worker dmb ish 71*c9945492SAndroid Build Coastguard Worker1: ldrex r0,[r2] 72*c9945492SAndroid Build Coastguard Worker subs r0,r3,r0 73*c9945492SAndroid Build Coastguard Worker strexeq r0,r1,[r2] 74*c9945492SAndroid Build Coastguard Worker teqeq r0,#1 75*c9945492SAndroid Build Coastguard Worker beq 1b 76*c9945492SAndroid Build Coastguard Worker dmb ish 77*c9945492SAndroid Build Coastguard Worker bx lr 78*c9945492SAndroid Build Coastguard Worker 79*c9945492SAndroid Build Coastguard Worker.global __a_gettp_cp15 80*c9945492SAndroid Build Coastguard Worker.hidden __a_gettp_cp15 81*c9945492SAndroid Build Coastguard Worker.type __a_gettp_cp15,%function 82*c9945492SAndroid Build Coastguard Worker__a_gettp_cp15: 83*c9945492SAndroid Build Coastguard Worker mrc p15,0,r0,c13,c0,3 84*c9945492SAndroid Build Coastguard Worker bx lr 85*c9945492SAndroid Build Coastguard Worker 86*c9945492SAndroid Build Coastguard Worker/* Tag this file with minimum ISA level so as not to affect linking. */ 87*c9945492SAndroid Build Coastguard Worker.object_arch armv4t 88*c9945492SAndroid Build Coastguard Worker.eabi_attribute 6,2 89*c9945492SAndroid Build Coastguard Worker 90*c9945492SAndroid Build Coastguard Worker.data 91*c9945492SAndroid Build Coastguard Worker.align 2 92*c9945492SAndroid Build Coastguard Worker 93*c9945492SAndroid Build Coastguard Worker.global __a_barrier_ptr 94*c9945492SAndroid Build Coastguard Worker.hidden __a_barrier_ptr 95*c9945492SAndroid Build Coastguard Worker__a_barrier_ptr: 96*c9945492SAndroid Build Coastguard Worker .word __a_barrier_dummy 97*c9945492SAndroid Build Coastguard Worker 98*c9945492SAndroid Build Coastguard Worker.global __a_cas_ptr 99*c9945492SAndroid Build Coastguard Worker.hidden __a_cas_ptr 100*c9945492SAndroid Build Coastguard Worker__a_cas_ptr: 101*c9945492SAndroid Build Coastguard Worker .word __a_cas_dummy 102*c9945492SAndroid Build Coastguard Worker 103*c9945492SAndroid Build Coastguard Worker.global __a_gettp_ptr 104*c9945492SAndroid Build Coastguard Worker.hidden __a_gettp_ptr 105*c9945492SAndroid Build Coastguard Worker__a_gettp_ptr: 106*c9945492SAndroid Build Coastguard Worker .word __a_gettp_cp15 107