alistair23-linux/arch/cris/arch-v32/lib/spinlock.S
Jesper Nilsson 2d0503d1a6 CRIS: Add debug info for assembler code
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
2010-08-04 13:02:30 +02:00

41 lines
588 B
ArmAsm

;; Core of the spinlock implementation
;;
;; Copyright (C) 2004 Axis Communications AB.
;;
;; Author: Mikael Starvik
.global cris_spin_lock
.type cris_spin_lock,@function
.global cris_spin_trylock
.type cris_spin_trylock,@function
.text
cris_spin_lock:
clearf p
1: test.b [$r10]
beq 1b
clearf p
ax
clear.b [$r10]
bcs 1b
clearf p
ret
nop
.size cris_spin_lock, . - cris_spin_lock
cris_spin_trylock:
clearf p
1: move.b [$r10], $r11
ax
clear.b [$r10]
bcs 1b
clearf p
ret
movu.b $r11,$r10
.size cris_spin_trylock, . - cris_spin_trylock