all kernels: declare _tas() to prevent pulling in libc version (for libmemdraw)
This commit is contained in:
parent
e2a6e622c7
commit
5458506881
|
@ -449,6 +449,7 @@ TEXT getcallerpc(SB), $-4
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT tas(SB), $-4
|
TEXT tas(SB), $-4
|
||||||
|
TEXT _tas(SB), $-4
|
||||||
MOVW R0, R1
|
MOVW R0, R1
|
||||||
MOVW $0xDEADDEAD, R0
|
MOVW $0xDEADDEAD, R0
|
||||||
MOVW R0, R3
|
MOVW R0, R3
|
||||||
|
|
|
@ -266,6 +266,7 @@ dcf1:
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
SYNC
|
SYNC
|
||||||
MOVW R3, R4
|
MOVW R3, R4
|
||||||
MOVW $0xdead,R5
|
MOVW $0xdead,R5
|
||||||
|
|
|
@ -115,6 +115,7 @@ TEXT islo(SB), 1, $-4
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT tas(SB), $-4
|
TEXT tas(SB), $-4
|
||||||
|
TEXT _tas(SB), $-4
|
||||||
spintas:
|
spintas:
|
||||||
LDREX(0,1)
|
LDREX(0,1)
|
||||||
CMP.S $0, R1
|
CMP.S $0, R1
|
||||||
|
|
|
@ -690,6 +690,7 @@ TEXT islo(SB), $0
|
||||||
* Test-And-Set
|
* Test-And-Set
|
||||||
*/
|
*/
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
MOVL $0xDEADDEAD, AX
|
MOVL $0xDEADDEAD, AX
|
||||||
MOVL lock+0(FP), BX
|
MOVL lock+0(FP), BX
|
||||||
XCHGL AX, (BX) /* lock->key */
|
XCHGL AX, (BX) /* lock->key */
|
||||||
|
|
|
@ -520,6 +520,7 @@ TEXT islo(SB), 1, $-4
|
||||||
* Synchronisation
|
* Synchronisation
|
||||||
*/
|
*/
|
||||||
TEXT tas(SB), 1, $-4
|
TEXT tas(SB), 1, $-4
|
||||||
|
TEXT _tas(SB), 1, $-4
|
||||||
MOVL $0xdeaddead, AX
|
MOVL $0xdeaddead, AX
|
||||||
XCHGL AX, (RARG) /* */
|
XCHGL AX, (RARG) /* */
|
||||||
RET
|
RET
|
||||||
|
|
|
@ -346,6 +346,7 @@ icf1:
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
MOVW R3, R4
|
MOVW R3, R4
|
||||||
MOVW $0xdead, R5
|
MOVW $0xdead, R5
|
||||||
tas1:
|
tas1:
|
||||||
|
|
|
@ -721,8 +721,8 @@ TEXT fcr31(SB), $0 /* fp csr */
|
||||||
* Emulate 68020 test and set: load linked / store conditional
|
* Emulate 68020 test and set: load linked / store conditional
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TEXT _tas(SB), $0
|
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
MOVW R1, R2 /* address of key */
|
MOVW R1, R2 /* address of key */
|
||||||
tas1:
|
tas1:
|
||||||
MOVW $1, R3
|
MOVW $1, R3
|
||||||
|
|
|
@ -843,7 +843,8 @@ GLOBL cpus_proceed+0(SB), $4
|
||||||
|
|
||||||
#include "cache.v7.s"
|
#include "cache.v7.s"
|
||||||
|
|
||||||
TEXT cas+0(SB),0,$12 /* r0 holds p */
|
TEXT cas(SB),0,$12
|
||||||
|
TEXT cmpswap(SB),0,$12 /* r0 holds p */
|
||||||
MOVW ov+4(FP), R1
|
MOVW ov+4(FP), R1
|
||||||
MOVW nv+8(FP), R2
|
MOVW nv+8(FP), R2
|
||||||
spin:
|
spin:
|
||||||
|
@ -863,6 +864,7 @@ fail:
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT tas(SB), $-4 /* _tas(ulong *) */
|
TEXT tas(SB), $-4 /* _tas(ulong *) */
|
||||||
|
TEXT _tas(SB), $-4
|
||||||
/* returns old (R0) after modifying (R0) */
|
/* returns old (R0) after modifying (R0) */
|
||||||
MOVW R0,R5
|
MOVW R0,R5
|
||||||
DMB
|
DMB
|
||||||
|
|
|
@ -920,12 +920,6 @@ confinit(void)
|
||||||
imagmem->maxsize = kpages;
|
imagmem->maxsize = kpages;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
cmpswap(long *addr, long old, long new)
|
|
||||||
{
|
|
||||||
return cas((int *)addr, old, new);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
advertwfi(void) /* advertise my wfi status */
|
advertwfi(void) /* advertise my wfi status */
|
||||||
{
|
{
|
||||||
|
|
|
@ -195,30 +195,12 @@ TEXT fpclear(SB), $0 /* clear pending exceptions */
|
||||||
* Test-And-Set
|
* Test-And-Set
|
||||||
*/
|
*/
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
MOVL $0xDEADDEAD, AX
|
MOVL $0xDEADDEAD, AX
|
||||||
MOVL lock+0(FP), BX
|
MOVL lock+0(FP), BX
|
||||||
XCHGL AX, (BX) /* lock->key */
|
XCHGL AX, (BX) /* lock->key */
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT _xinc(SB), $0 /* void _xinc(long*); */
|
|
||||||
MOVL l+0(FP), AX
|
|
||||||
LOCK; INCL 0(AX)
|
|
||||||
RET
|
|
||||||
|
|
||||||
TEXT _xdec(SB), $0 /* long _xdec(long*); */
|
|
||||||
MOVL l+0(FP), BX
|
|
||||||
XORL AX, AX
|
|
||||||
LOCK; DECL 0(BX)
|
|
||||||
JLT _xdeclt
|
|
||||||
JGT _xdecgt
|
|
||||||
RET
|
|
||||||
_xdecgt:
|
|
||||||
INCL AX
|
|
||||||
RET
|
|
||||||
_xdeclt:
|
|
||||||
DECL AX
|
|
||||||
RET
|
|
||||||
|
|
||||||
TEXT getstack(SB), $0
|
TEXT getstack(SB), $0
|
||||||
MOVL SP, AX
|
MOVL SP, AX
|
||||||
RET
|
RET
|
||||||
|
|
|
@ -237,7 +237,8 @@ TEXT gotolabel(SB), $-4
|
||||||
MOVW $1, R0
|
MOVW $1, R0
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT cas(SB), $0
|
TEXT cas(SB), $0
|
||||||
|
TEXT cmpswap(SB), $0
|
||||||
MOVW ov+4(FP), R1
|
MOVW ov+4(FP), R1
|
||||||
MOVW nv+8(FP), R2
|
MOVW nv+8(FP), R2
|
||||||
spincas:
|
spincas:
|
||||||
|
@ -256,6 +257,7 @@ fail:
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT tas(SB), $0
|
TEXT tas(SB), $0
|
||||||
|
TEXT _tas(SB), $0
|
||||||
MOVW $0xDEADDEAD, R2
|
MOVW $0xDEADDEAD, R2
|
||||||
_tas1:
|
_tas1:
|
||||||
LDREX (R0), R1
|
LDREX (R0), R1
|
||||||
|
|
|
@ -70,14 +70,6 @@ procsetup(Proc *p)
|
||||||
p->pcycles = -p->kentry;
|
p->pcycles = -p->kentry;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
cmpswap(long *a, long b, long c)
|
|
||||||
{
|
|
||||||
extern int cas(int *, int, int);
|
|
||||||
|
|
||||||
return cas((int *) a, b, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
kexit(Ureg *)
|
kexit(Ureg *)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue