diff options
author | Mikael Starvik <mikael.starvik@axis.com> | 2005-07-27 14:44:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:26:01 -0400 |
commit | 51533b615e605d86154ec1b4e585c8ca1b0b15b7 (patch) | |
tree | 4a6d7d8494d2017632d83624fb71b36031e0e7e5 /arch/cris/arch-v32/lib/spinlock.S | |
parent | 5d01e6ce785884a5db5792cd2e5bb36fa82fe23c (diff) |
[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>
Diffstat (limited to 'arch/cris/arch-v32/lib/spinlock.S')
-rw-r--r-- | arch/cris/arch-v32/lib/spinlock.S | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/cris/arch-v32/lib/spinlock.S b/arch/cris/arch-v32/lib/spinlock.S new file mode 100644 index 000000000000..2437ae7f6ed2 --- /dev/null +++ b/arch/cris/arch-v32/lib/spinlock.S | |||
@@ -0,0 +1,33 @@ | |||
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 | |||
13 | cris_spin_lock: | ||
14 | clearf p | ||
15 | 1: 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 | |||
25 | cris_spin_trylock: | ||
26 | clearf p | ||
27 | 1: move.d [$r10], $r11 | ||
28 | ax | ||
29 | clear.d [$r10] | ||
30 | bcs 1b | ||
31 | clearf p | ||
32 | ret | ||
33 | move.d $r11,$r10 | ||