[PATCH v2 07/10] x86, asm: Use CC_SET()/CC_OUT() in <asm/percpu.h>
From: H. Peter Anvin
Date: Wed Jun 08 2016 - 15:41:32 EST
From: "H. Peter Anvin" <hpa@xxxxxxxxx>
Remove open-coded uses of set instructions to use CC_SET()/CC_OUT() in
<asm/percpu.h>.
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxx>
Reviewed-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
arch/x86/include/asm/percpu.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index 184d7f3..e02e3f8 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -511,8 +511,9 @@ do { \
#define x86_test_and_clear_bit_percpu(bit, var) \
({ \
bool old__; \
- asm volatile("btr %2,"__percpu_arg(1)"\n\tsetc %0" \
- : "=qm" (old__), "+m" (var) \
+ asm volatile("btr %2,"__percpu_arg(1)"\n\t" \
+ CC_SET(c) \
+ : CC_OUT(c) (old__), "+m" (var) \
: "dIr" (bit)); \
old__; \
})
@@ -535,8 +536,8 @@ static inline bool x86_this_cpu_variable_test_bit(int nr,
bool oldbit;
asm volatile("bt "__percpu_arg(2)",%1\n\t"
- "setc %0"
- : "=qm" (oldbit)
+ CC_SET(c)
+ : CC_OUT(c) (oldbit)
: "m" (*(unsigned long *)addr), "Ir" (nr));
return oldbit;
--
2.7.3.0.11.gd79db92