added atomic_dec32le0 for sem/mutex lock

This commit is contained in:
2022-08-31 10:10:35 +02:00
parent 5424edfe5e
commit d071c0957b
5 changed files with 22 additions and 7 deletions

View File

@@ -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