blob: d2780f6a28aa8e9cb35087297ece9ae03569b059 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <sys/asm.h>
#include <sys/regdef.h>
#include <asm/cachectl.h>
LEAF(FPsave)
cfc1 t0, $31
sw t0, 0(a0) /* a0 is argument */
j $31
END(FPsave)
LEAF(FPrestore)
lw t0, 0(a0) /* a0 is argument */
ctc1 t0, $31
j $31
END(FPrestore)
LEAF(_tas)
.set noreorder
1:
ll v0,0(a0) /* a0 is argument */
or t1, v0, 1
sc t1,0(a0)
beq t1,zero,1b
nop
j $31 /* lock held */
nop
.set reorder
END(_tas)
|