diff options
Diffstat (limited to 'arch/x86')
| -rw-r--r-- | arch/x86/include/asm/percpu.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index a06b07399d17..e9202a0de8f0 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h | |||
| @@ -450,9 +450,10 @@ do { \ | |||
| 450 | bool __ret; \ | 450 | bool __ret; \ |
| 451 | typeof(pcp1) __o1 = (o1), __n1 = (n1); \ | 451 | typeof(pcp1) __o1 = (o1), __n1 = (n1); \ |
| 452 | typeof(pcp2) __o2 = (o2), __n2 = (n2); \ | 452 | typeof(pcp2) __o2 = (o2), __n2 = (n2); \ |
| 453 | asm volatile("cmpxchg8b "__percpu_arg(1)"\n\tsetz %0\n\t" \ | 453 | asm volatile("cmpxchg8b "__percpu_arg(1) \ |
| 454 | : "=a" (__ret), "+m" (pcp1), "+m" (pcp2), "+d" (__o2) \ | 454 | CC_SET(z) \ |
| 455 | : "b" (__n1), "c" (__n2), "a" (__o1)); \ | 455 | : CC_OUT(z) (__ret), "+m" (pcp1), "+m" (pcp2), "+a" (__o1), "+d" (__o2) \ |
| 456 | : "b" (__n1), "c" (__n2)); \ | ||
| 456 | __ret; \ | 457 | __ret; \ |
| 457 | }) | 458 | }) |
| 458 | 459 | ||
