1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
START_FILE
TEXT
START_FUNC(opal_atomic_mb)
pushq %rbp
movq %rsp, %rbp
leave
ret
END_FUNC(opal_atomic_mb)
START_FUNC(opal_atomic_rmb)
pushq %rbp
movq %rsp, %rbp
leave
ret
END_FUNC(opal_atomic_rmb)
START_FUNC(opal_atomic_wmb)
pushq %rbp
movq %rsp, %rbp
leave
ret
END_FUNC(opal_atomic_wmb)
START_FUNC(opal_atomic_cmpset_32)
movl %esi, %eax
lock; cmpxchgl %edx,(%rdi)
sete %dl
movzbl %dl, %eax
ret
END_FUNC(opal_atomic_cmpset_32)
START_FUNC(opal_atomic_cmpset_64)
movq %rsi, %rax
lock; cmpxchgq %rdx,(%rdi)
sete %dl
movzbl %dl, %eax
ret
END_FUNC(opal_atomic_cmpset_64)
START_FUNC(opal_sys_timer_get_cycles)
rdtsc
salq $32, %rdx
mov %eax, %eax
orq %rdx, %rax
ret
END_FUNC(opal_sys_timer_get_cycles)
|