git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
[pandora-kernel.git]
/
arch
/
arm
/
lib
/
bitops.h
diff --git
a/arch/arm/lib/bitops.h
b/arch/arm/lib/bitops.h
index
10d868a
..
d6408d1
100644
(file)
--- a/
arch/arm/lib/bitops.h
+++ b/
arch/arm/lib/bitops.h
@@
-1,5
+1,9
@@
+#include <asm/unwind.h>
+
#if __LINUX_ARM_ARCH__ >= 6
#if __LINUX_ARM_ARCH__ >= 6
- .macro bitop, instr
+ .macro bitop, name, instr
+ENTRY( \name )
+UNWIND( .fnstart )
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
mov r2, #1
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
mov r2, #1
@@
-13,9
+17,13
@@
cmp r0, #0
bne 1b
bx lr
cmp r0, #0
bne 1b
bx lr
+UNWIND( .fnend )
+ENDPROC(\name )
.endm
.endm
- .macro testop, instr, store
+ .macro testop, name, instr, store
+ENTRY( \name )
+UNWIND( .fnstart )
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
mov r2, #1
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
mov r2, #1
@@
-34,9
+42,13
@@
cmp r0, #0
movne r0, #1
2: bx lr
cmp r0, #0
movne r0, #1
2: bx lr
+UNWIND( .fnend )
+ENDPROC(\name )
.endm
#else
.endm
#else
- .macro bitop, instr
+ .macro bitop, name, instr
+ENTRY( \name )
+UNWIND( .fnstart )
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
and r2, r0, #31
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
and r2, r0, #31
@@
-49,6
+61,8
@@
str r2, [r1, r0, lsl #2]
restore_irqs ip
mov pc, lr
str r2, [r1, r0, lsl #2]
restore_irqs ip
mov pc, lr
+UNWIND( .fnend )
+ENDPROC(\name )
.endm
/**
.endm
/**
@@
-59,7
+73,9
@@
* Note: we can trivially conditionalise the store instruction
* to avoid dirtying the data cache.
*/
* Note: we can trivially conditionalise the store instruction
* to avoid dirtying the data cache.
*/
- .macro testop, instr, store
+ .macro testop, name, instr, store
+ENTRY( \name )
+UNWIND( .fnstart )
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
and r3, r0, #31
ands ip, r1, #3
strneb r1, [ip] @ assert word-aligned
and r3, r0, #31
@@
-73,5
+89,7
@@
moveq r0, #0
restore_irqs ip
mov pc, lr
moveq r0, #0
restore_irqs ip
mov pc, lr
+UNWIND( .fnend )
+ENDPROC(\name )
.endm
#endif
.endm
#endif