1;; Core of the spinlock implementation
2;;
3;; Copyright (C) 2004 Axis Communications AB.
4;;
5;; Author: Mikael Starvik
6
7
8	.global cris_spin_lock
9	.global cris_spin_trylock
10
11	.text
12
13cris_spin_lock:
14	clearf	p
151:	test.d	[$r10]
16	beq	1b
17	clearf	p
18	ax
19	clear.d [$r10]
20	bcs     1b
21	clearf	p
22	ret
23	nop
24
25cris_spin_trylock:
26	clearf	p
271:	move.d	[$r10], $r11
28	ax
29	clear.d [$r10]
30        bcs	1b
31        clearf	p
32	ret
33	move.d	$r11,$r10
34