mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-23 18:19:39 +00:00
atomic: Add atomic_add for x86
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
d77a05b6dc
commit
ab95e97fd5
1 changed files with 4 additions and 2 deletions
|
|
@ -26,9 +26,9 @@ typedef struct {
|
|||
ret__; \
|
||||
})
|
||||
|
||||
#define atomic_inc(mem) \
|
||||
#define atomic_add(mem, val) \
|
||||
({ \
|
||||
u32 ret__ = 1; \
|
||||
u32 ret__ = (val); \
|
||||
asm volatile ("lock xadd %0, %1\n" \
|
||||
: "+r" (ret__), "+m" ((mem)->counter) \
|
||||
: \
|
||||
|
|
@ -36,6 +36,8 @@ typedef struct {
|
|||
ret__; \
|
||||
})
|
||||
|
||||
#define atomic_inc(mem) atomic_add(mem, 1)
|
||||
|
||||
#define atomic_dec(mem) \
|
||||
({ \
|
||||
u32 ret__ = -1; \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue