@@ -25,6 +25,7 @@
: "memory"); \
break; \
case 8: \
+ BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT)); \
__asm__ __volatile__ ( \
" amoswap.d %0, %2, %1\n" \
: "=r" (__ret), "+A" (*__ptr) \
@@ -58,6 +59,7 @@
: "memory"); \
break; \
case 8: \
+ BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT)); \
__asm__ __volatile__ ( \
" amoswap.d.aqrl %0, %2, %1\n" \
: "=r" (__ret), "+A" (*__ptr) \
@@ -101,6 +103,7 @@
: "memory"); \
break; \
case 8: \
+ BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT)); \
__asm__ __volatile__ ( \
"0: lr.d %0, %2\n" \
" bne %0, %z3, 1f\n" \
@@ -146,6 +149,7 @@
: "memory"); \
break; \
case 8: \
+ BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT)); \
__asm__ __volatile__ ( \
"0: lr.d %0, %2\n" \
" bne %0, %z3, 1f\n" \
@@ -192,6 +196,7 @@
: "memory"); \
break; \
case 8: \
+ BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT)); \
__asm__ __volatile__ ( \
"0: lr.d %0, %2\n" \
" bne %0, %z3, 1f\n" \
@@ -220,6 +225,7 @@
#define arch_cmpxchg_local(ptr, o, n) \
(__cmpxchg_relaxed((ptr), (o), (n), sizeof(*(ptr))))
+#ifdef CONFIG_64BIT
#define arch_cmpxchg64(ptr, o, n) \
({ \
BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
@@ -231,5 +237,6 @@
BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
arch_cmpxchg_relaxed((ptr), (o), (n)); \
})
+#endif /* CONFIG_64BIT */
#endif /* _ASM_RISCV_CMPXCHG_H */