added atomic_dec32le0 for sem/mutex lock
This commit is contained in:
18
atomic.S
18
atomic.S
@@ -20,10 +20,24 @@ atomic_inc32:
|
||||
.type atomic_dec32, %function
|
||||
|
||||
atomic_dec32:
|
||||
2: ldrex r2, [r0]
|
||||
1: ldrex r2, [r0]
|
||||
sub r2, r2, r1
|
||||
strex r3, r2, [r0]
|
||||
teq r3, #0
|
||||
bne 2b
|
||||
bne 1b
|
||||
mov r0, r2
|
||||
bx lr
|
||||
|
||||
.globl atomic_dec32le0
|
||||
.type atomic_dec32le0, %function
|
||||
|
||||
atomic_dec32le0:
|
||||
1: ldrex r2, [r0]
|
||||
cmp r2, #0
|
||||
ble 1b
|
||||
sub r2, r2, r1
|
||||
strex r3, r2, [r0]
|
||||
teq r3, #0
|
||||
bne 1b
|
||||
mov r0, r2
|
||||
bx lr
|
||||
|
||||
Reference in New Issue
Block a user