linux/arch/cris/arch-v32/lib/spinlock.S
Mikael Starvik 51533b615e [PATCH] CRIS update: new subarchitecture v32
New CRIS sub architecture named v32.

From: Dave Jones <davej@redhat.com>

	Fix swapped kmalloc args

Signed-off-by: Mikael Starvik <starvik@axis.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:01 -07:00

34 lines
420 B
ArmAsm

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