ref: 00c219c7d9c2b9f60c2db0e1ba7289b2301209a7
dir: /emu/Linux/asm-mips.S/
#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)