//func open(name *byte, mode, perm int32) int32
TEXT runtime·open(SB),NOSPLIT,$0-16
MOVW $SYS_OPEN, R0
- SWI 0
+ SWI $0
MOVW R0, ret+12(FP)
RET
//func pread(fd int32, buf unsafe.Pointer, nbytes int32, offset int64) int32
TEXT runtime·pread(SB),NOSPLIT,$0-24
MOVW $SYS_PREAD, R0
- SWI 0
+ SWI $0
MOVW R0, ret+20(FP)
RET
//func pwrite(fd int32, buf unsafe.Pointer, nbytes int32, offset int64) int32
TEXT runtime·pwrite(SB),NOSPLIT,$0-24
MOVW $SYS_PWRITE, R0
- SWI 0
+ SWI $0
MOVW R0, ret+20(FP)
RET
MOVW R0, 0(R13)
MOVW.W R1, -4(R13)
MOVW $SYS_SEEK, R0
- SWI 0
+ SWI $0
MOVW.W R1, 4(R13)
CMP $-1, R0
MOVW.EQ R0, ret_lo+16(FP)
//func closefd(fd int32) int32
TEXT runtime·closefd(SB),NOSPLIT,$0-8
MOVW $SYS_CLOSE, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
//func exits(msg *byte)
TEXT runtime·exits(SB),NOSPLIT,$0-4
MOVW $SYS_EXITS, R0
- SWI 0
+ SWI $0
RET
//func brk_(addr unsafe.Pointer) int32
TEXT runtime·brk_(SB),NOSPLIT,$0-8
MOVW $SYS_BRK_, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
//func sleep(ms int32) int32
TEXT runtime·sleep(SB),NOSPLIT,$0-8
MOVW $SYS_SLEEP, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
//func plan9_semacquire(addr *uint32, block int32) int32
TEXT runtime·plan9_semacquire(SB),NOSPLIT,$0-12
MOVW $SYS_SEMACQUIRE, R0
- SWI 0
+ SWI $0
MOVW R0, ret+8(FP)
RET
//func plan9_tsemacquire(addr *uint32, ms int32) int32
TEXT runtime·plan9_tsemacquire(SB),NOSPLIT,$0-12
MOVW $SYS_TSEMACQUIRE, R0
- SWI 0
+ SWI $0
MOVW R0, ret+8(FP)
RET
//func nsec(*int64) int64
TEXT runtime·nsec(SB),NOSPLIT,$-4-12
MOVW $SYS_NSEC, R0
- SWI 0
+ SWI $0
MOVW arg+0(FP), R1
MOVW 0(R1), R0
MOVW R0, ret_lo+4(FP)
MOVW $sysnsec_lo-8(SP), R0 // destination addr
MOVW R0,res-12(SP)
MOVW $SYS_NSEC, R0
- SWI 0
+ SWI $0
MOVW sysnsec_lo-8(SP), R1 // R1:R2 = nsec
MOVW sysnsec_hi-4(SP), R2
//func notify(fn unsafe.Pointer) int32
TEXT runtime·notify(SB),NOSPLIT,$0-8
MOVW $SYS_NOTIFY, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
//func noted(mode int32) int32
TEXT runtime·noted(SB),NOSPLIT,$0-8
MOVW $SYS_NOTED, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
//func plan9_semrelease(addr *uint32, count int32) int32
TEXT runtime·plan9_semrelease(SB),NOSPLIT,$0-12
MOVW $SYS_SEMRELEASE, R0
- SWI 0
+ SWI $0
MOVW R0, ret+8(FP)
RET
//func rfork(flags int32) int32
TEXT runtime·rfork(SB),NOSPLIT,$0-8
MOVW $SYS_RFORK, R0
- SWI 0
+ SWI $0
MOVW R0, ret+4(FP)
RET
MOVW $ERRMAX, R2
MOVW R2, ret_len+4(FP)
MOVW $SYS_ERRSTR, R0
- SWI 0
+ SWI $0
MOVW R1, R2
MOVBU 0(R2), R0
CMP $0, R0
BL runtime·entersyscall(SB)
MOVW trap+0(FP), R0 // syscall num
MOVM.IA.W (R13),[R1-R2] // pop LR and caller's LR
- SWI 0
+ SWI $0
MOVM.DB.W [R1-R2],(R13) // push LR and caller's LR
MOVW $0, R2
MOVW $r1+16(FP), R1
BL runtime·entersyscall(SB)
MOVW trap+0(FP), R0 // syscall num
MOVM.IA.W (R13),[R1-R2] // pop LR and caller's LR
- SWI 0
+ SWI $0
MOVM.DB.W [R1-R2],(R13) // push LR and caller's LR
MOVW $0, R1
MOVW $r1+28(FP), R1
TEXT ·RawSyscall(SB),NOSPLIT,$0-28
MOVW trap+0(FP), R0 // syscall num
MOVM.IA.W (R13),[R1] // pop caller's LR
- SWI 0
+ SWI $0
MOVM.DB.W [R1],(R13) // push caller's LR
MOVW R0, r1+16(FP)
MOVW R0, r2+20(FP)
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
MOVW trap+0(FP), R0 // syscall num
MOVM.IA.W (R13),[R1] // pop caller's LR
- SWI 0
+ SWI $0
MOVM.DB.W [R1],(R13) // push caller's LR
MOVW R0, r1+28(FP)
MOVW R0, r2+32(FP)
MOVW R5, placeholder+0(FP) //placeholder = dest for return value
MOVW $SYS_SEEK, R0 // syscall num
MOVM.IA.W (R13),[R1] // pop LR
- SWI 0
+ SWI $0
MOVM.DB.W [R1],(R13) // push LR
CMP $-1, R0
MOVW.EQ R0, 0(R5)