/branches/arm/kernel/arch/arm32/include/atomic.h |
---|
57,13 → 57,13 |
volatile long * mem = &(val->count); |
asm volatile ( |
"1: \n" |
"ldr r2, [%1] \n" |
"add r3, r2, %2 \n" |
"str r3, %0 \n" |
"swp r3, r3, [%1] \n" |
"cmp r3, r2 \n" |
"bne 1b \n" |
"1: \n" |
"ldr r2, [%1] \n" |
"add r3, r2, %2 \n" |
"str r3, %0 \n" |
"swp r3, r3, [%1] \n" |
"cmp r3, r2 \n" |
"bne 1b \n" |
: "=m" (ret) |
: "r" (mem), "r" (i) |
71,7 → 71,7 |
); |
return ret; |
} |
} |
#endif |