aboutsummaryrefslogtreecommitdiff
path: root/include/asm-sh/cmpxchg-grb.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-08-11 08:59:21 +0200
committerIngo Molnar <mingo@elte.hu>2008-08-11 08:59:21 +0200
commitcf206bffbb7542df54043fad9898113172af99d8 (patch)
treec7e7ca9a93443b888f98a0c07e74751a1aa3c947 /include/asm-sh/cmpxchg-grb.h
parentc1955a3d4762e7a9bf84035eb3c4886a900f0d15 (diff)
parent796aadeb1b2db9b5d463946766c5bbfd7717158c (diff)
Merge branch 'linus' into sched/clock
Diffstat (limited to 'include/asm-sh/cmpxchg-grb.h')
-rw-r--r--include/asm-sh/cmpxchg-grb.h70
1 files changed, 0 insertions, 70 deletions
diff --git a/include/asm-sh/cmpxchg-grb.h b/include/asm-sh/cmpxchg-grb.h
deleted file mode 100644
index e2681abe764..00000000000
--- a/include/asm-sh/cmpxchg-grb.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef __ASM_SH_CMPXCHG_GRB_H
-#define __ASM_SH_CMPXCHG_GRB_H
-
-static inline unsigned long xchg_u32(volatile u32 *m, unsigned long val)
-{
- unsigned long retval;
-
- __asm__ __volatile__ (
- " .align 2 \n\t"
- " mova 1f, r0 \n\t" /* r0 = end point */
- " nop \n\t"
- " mov r15, r1 \n\t" /* r1 = saved sp */
- " mov #-4, r15 \n\t" /* LOGIN */
- " mov.l @%1, %0 \n\t" /* load old value */
- " mov.l %2, @%1 \n\t" /* store new value */
- "1: mov r1, r15 \n\t" /* LOGOUT */
- : "=&r" (retval),
- "+r" (m)
- : "r" (val)
- : "memory", "r0", "r1");
-
- return retval;
-}
-
-static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
-{
- unsigned long retval;
-
- __asm__ __volatile__ (
- " .align 2 \n\t"
- " mova 1f, r0 \n\t" /* r0 = end point */
- " mov r15, r1 \n\t" /* r1 = saved sp */
- " mov #-6, r15 \n\t" /* LOGIN */
- " mov.b @%1, %0 \n\t" /* load old value */
- " extu.b %0, %0 \n\t" /* extend as unsigned */
- " mov.b %2, @%1 \n\t" /* store new value */
- "1: mov r1, r15 \n\t" /* LOGOUT */
- : "=&r" (retval),
- "+r" (m)
- : "r" (val)
- : "memory" , "r0", "r1");
-
- return retval;
-}
-
-static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned long old,
- unsigned long new)
-{
- unsigned long retval;
-
- __asm__ __volatile__ (
- " .align 2 \n\t"
- " mova 1f, r0 \n\t" /* r0 = end point */
- " nop \n\t"
- " mov r15, r1 \n\t" /* r1 = saved sp */
- " mov #-8, r15 \n\t" /* LOGIN */
- " mov.l @%1, %0 \n\t" /* load old value */
- " cmp/eq %0, %2 \n\t"
- " bf 1f \n\t" /* if not equal */
- " mov.l %2, @%1 \n\t" /* store new value */
- "1: mov r1, r15 \n\t" /* LOGOUT */
- : "=&r" (retval),
- "+r" (m)
- : "r" (new)
- : "memory" , "r0", "r1", "t");
-
- return retval;
-}
-
-#endif /* __ASM_SH_CMPXCHG_GRB_H */