forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/arch/x86/include/asm/cmpxchg.h
....@@ -7,7 +7,7 @@
77 #include <asm/alternative.h> /* Provides LOCK_PREFIX */
88
99 /*
10
- * Non-existant functions to indicate usage errors at link time
10
+ * Non-existent functions to indicate usage errors at link time
1111 * (or compile-time if the compiler implements __compiletime_error().
1212 */
1313 extern void __xchg_wrong_size(void)
....@@ -242,10 +242,12 @@
242242 BUILD_BUG_ON(sizeof(*(p2)) != sizeof(long)); \
243243 VM_BUG_ON((unsigned long)(p1) % (2 * sizeof(long))); \
244244 VM_BUG_ON((unsigned long)((p1) + 1) != (unsigned long)(p2)); \
245
- asm volatile(pfx "cmpxchg%c4b %2; sete %0" \
246
- : "=a" (__ret), "+d" (__old2), \
247
- "+m" (*(p1)), "+m" (*(p2)) \
248
- : "i" (2 * sizeof(long)), "a" (__old1), \
245
+ asm volatile(pfx "cmpxchg%c5b %1" \
246
+ CC_SET(e) \
247
+ : CC_OUT(e) (__ret), \
248
+ "+m" (*(p1)), "+m" (*(p2)), \
249
+ "+a" (__old1), "+d" (__old2) \
250
+ : "i" (2 * sizeof(long)), \
249251 "b" (__new1), "c" (__new2)); \
250252 __ret; \
251253 })