|
@@ -629,12 +629,12 @@ cas_action:
|
|
|
stw %r1, 4(%sr2,%r20)
|
|
|
#endif
|
|
|
/* The load and store could fail */
|
|
|
-1: ldw,ma 0(%r26), %r28
|
|
|
+1: ldw 0(%r26), %r28
|
|
|
sub,<> %r28, %r25, %r0
|
|
|
-2: stw,ma %r24, 0(%r26)
|
|
|
+2: stw %r24, 0(%r26)
|
|
|
/* Free lock */
|
|
|
sync
|
|
|
- stw,ma %r20, 0(%sr2,%r20)
|
|
|
+ stw %r20, 0(%sr2,%r20)
|
|
|
#if ENABLE_LWS_DEBUG
|
|
|
/* Clear thread register indicator */
|
|
|
stw %r0, 4(%sr2,%r20)
|
|
@@ -798,30 +798,30 @@ cas2_action:
|
|
|
ldo 1(%r0),%r28
|
|
|
|
|
|
/* 8bit CAS */
|
|
|
-13: ldb,ma 0(%r26), %r29
|
|
|
+13: ldb 0(%r26), %r29
|
|
|
sub,= %r29, %r25, %r0
|
|
|
b,n cas2_end
|
|
|
-14: stb,ma %r24, 0(%r26)
|
|
|
+14: stb %r24, 0(%r26)
|
|
|
b cas2_end
|
|
|
copy %r0, %r28
|
|
|
nop
|
|
|
nop
|
|
|
|
|
|
/* 16bit CAS */
|
|
|
-15: ldh,ma 0(%r26), %r29
|
|
|
+15: ldh 0(%r26), %r29
|
|
|
sub,= %r29, %r25, %r0
|
|
|
b,n cas2_end
|
|
|
-16: sth,ma %r24, 0(%r26)
|
|
|
+16: sth %r24, 0(%r26)
|
|
|
b cas2_end
|
|
|
copy %r0, %r28
|
|
|
nop
|
|
|
nop
|
|
|
|
|
|
/* 32bit CAS */
|
|
|
-17: ldw,ma 0(%r26), %r29
|
|
|
+17: ldw 0(%r26), %r29
|
|
|
sub,= %r29, %r25, %r0
|
|
|
b,n cas2_end
|
|
|
-18: stw,ma %r24, 0(%r26)
|
|
|
+18: stw %r24, 0(%r26)
|
|
|
b cas2_end
|
|
|
copy %r0, %r28
|
|
|
nop
|
|
@@ -829,10 +829,10 @@ cas2_action:
|
|
|
|
|
|
/* 64bit CAS */
|
|
|
#ifdef CONFIG_64BIT
|
|
|
-19: ldd,ma 0(%r26), %r29
|
|
|
+19: ldd 0(%r26), %r29
|
|
|
sub,*= %r29, %r25, %r0
|
|
|
b,n cas2_end
|
|
|
-20: std,ma %r24, 0(%r26)
|
|
|
+20: std %r24, 0(%r26)
|
|
|
copy %r0, %r28
|
|
|
#else
|
|
|
/* Compare first word */
|
|
@@ -851,7 +851,7 @@ cas2_action:
|
|
|
cas2_end:
|
|
|
/* Free lock */
|
|
|
sync
|
|
|
- stw,ma %r20, 0(%sr2,%r20)
|
|
|
+ stw %r20, 0(%sr2,%r20)
|
|
|
/* Enable interrupts */
|
|
|
ssm PSW_SM_I, %r0
|
|
|
/* Return to userspace, set no error */
|