Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 626 → Rev 627

/kernel/trunk/arch/ia32/include/atomic.h
59,27 → 59,29
#endif /* CONFIG_SMP */
}
 
static inline atomic_t atomic_inc_pre(atomic_t *val)
static inline count_t atomic_inc_pre(atomic_t *val)
{
atomic_t r;
count_t r;
 
__asm__ volatile (
"movl $1, %0\n"
"lock xaddl %0, %1\n"
: "=r"(r), "=m" (val->count)
: "=r" (r), "=m" (val->count)
);
 
return r;
}
 
 
 
static inline atomic_t atomic_dec_pre(atomic_t *val)
static inline count_t atomic_dec_pre(atomic_t *val)
{
atomic_t r;
count_t r;
__asm__ volatile (
"movl $-1, %0\n"
"lock xaddl %0, %1\n"
: "=r"(r), "=m" (*val)
: "=r" (r), "=m" (*val)
);
return r;
}