#include "zasm_GOOS_GOARCH.h"
#include "../../cmd/ld/textflag.h"
#define SYSCALL MOVQ R10, CX; INT $0x80
TEXT runtime·sys_umtx_op(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVL 20(SP), DX
MOVQ 24(SP), R10
MOVQ 32(SP), R8
MOVL $454, AX
SYSCALL
RET
TEXT runtime·thr_new(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVQ 16(SP), SI
MOVL $455, AX
SYSCALL
RET
TEXT runtime·thr_start(SB),NOSPLIT,$0
MOVQ DI, R13
LEAQ m_tls(R13), DI
CALL runtime·settls(SB)
get_tls(CX)
MOVQ R13, m(CX)
MOVQ m_g0(R13), DI
MOVQ DI, g(CX)
CALL runtime·stackcheck(SB)
CALL runtime·mstart(SB)
MOVQ 0, AX
TEXT runtime·exit(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVL $1, AX
SYSCALL
MOVL $0xf1, 0xf1
RET
TEXT runtime·exit1(SB),NOSPLIT,$-8
MOVQ 8(SP), DI
MOVL $431, AX
SYSCALL
MOVL $0xf1, 0xf1
RET
TEXT runtime·open(SB),NOSPLIT,$-8
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVL 20(SP), DX
MOVL $5, AX
SYSCALL
RET
TEXT runtime·close(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVL $6, AX
SYSCALL
RET
TEXT runtime·read(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
MOVL $3, AX
SYSCALL
RET
TEXT runtime·write(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
MOVL $4, AX
SYSCALL
RET
TEXT runtime·getrlimit(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL $194, AX
SYSCALL
RET
TEXT runtime·raise(SB),NOSPLIT,$16
LEAQ 8(SP), DI
MOVL $432, AX
SYSCALL
MOVQ 8(SP), DI
MOVL sig+0(FP), SI
MOVL $433, AX
SYSCALL
RET
TEXT runtime·setitimer(SB), NOSPLIT, $-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVQ 24(SP), DX
MOVL $83, AX
SYSCALL
RET
TEXT time·now(SB), NOSPLIT, $32
MOVL $232, AX
MOVQ $0, DI
LEAQ 8(SP), SI
SYSCALL
MOVQ 8(SP), AX
MOVQ 16(SP), DX
MOVQ AX, sec+0(FP)
MOVL DX, nsec+8(FP)
RET
TEXT runtime·nanotime(SB), NOSPLIT, $32
MOVL $232, AX
MOVQ $4, DI
LEAQ 8(SP), SI
SYSCALL
MOVQ 8(SP), AX
MOVQ 16(SP), DX
IMULQ $1000000000, AX
ADDQ DX, AX
RET
TEXT runtime·sigaction(SB),NOSPLIT,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVQ 24(SP), DX
MOVL $416, AX
SYSCALL
JCC 2(PC)
MOVL $0xf1, 0xf1
RET
TEXT runtime·sigtramp(SB),NOSPLIT,$64
get_tls(BX)
MOVQ m(BX), BP
CMPQ BP, $0
JNE 5(PC)
MOVQ DI, 0(SP)
MOVQ $runtime·badsignal(SB), AX
CALL AX
RET
MOVQ g(BX), R10
MOVQ R10, 40(SP)
MOVQ m_gsignal(BP), BP
MOVQ BP, g(BX)
MOVQ DI, 0(SP)
MOVQ SI, 8(SP)
MOVQ DX, 16(SP)
MOVQ R10, 24(SP)
CALL runtime·sighandler(SB)
get_tls(BX)
MOVQ 40(SP), R10
MOVQ R10, g(BX)
RET
TEXT runtime·mmap(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
MOVL 28(SP), R10
MOVL 32(SP), R8
MOVL 36(SP), R9
MOVL $477, AX
SYSCALL
RET
TEXT runtime·munmap(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVQ 16(SP), SI
MOVL $73, AX
SYSCALL
JCC 2(PC)
MOVL $0xf1, 0xf1
RET
TEXT runtime·madvise(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVQ 16(SP), SI
MOVQ 24(SP), DX
MOVQ $75, AX
SYSCALL
RET
TEXT runtime·sigaltstack(SB),NOSPLIT,$-8
MOVQ new+8(SP), DI
MOVQ old+16(SP), SI
MOVQ $53, AX
SYSCALL
JCC 2(PC)
MOVL $0xf1, 0xf1
RET
TEXT runtime·usleep(SB),NOSPLIT,$16
MOVL $0, DX
MOVL usec+0(FP), AX
MOVL $1000000, CX
DIVL CX
MOVQ AX, 0(SP)
MOVL $1000, AX
MULL DX
MOVQ AX, 8(SP)
MOVQ SP, DI
MOVQ $0, SI
MOVL $240, AX
SYSCALL
RET
TEXT runtime·settls(SB),NOSPLIT,$8
ADDQ $16, DI
MOVQ DI, 0(SP)
MOVQ SP, SI
MOVQ $129, DI
MOVQ $165, AX
SYSCALL
JCC 2(PC)
MOVL $0xf1, 0xf1
RET
TEXT runtime·sysctl(SB),NOSPLIT,$0
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVQ 24(SP), DX
MOVQ 32(SP), R10
MOVQ 40(SP), R8
MOVQ 48(SP), R9
MOVQ $202, AX
SYSCALL
JCC 3(PC)
NEGQ AX
RET
MOVL $0, AX
RET
TEXT runtime·osyield(SB),NOSPLIT,$-4
MOVL $331, AX
SYSCALL
RET
TEXT runtime·sigprocmask(SB),NOSPLIT,$0
MOVL $3, DI
MOVQ 8(SP), SI
MOVQ 16(SP), DX
MOVL $340, AX
SYSCALL
JAE 2(PC)
MOVL $0xf1, 0xf1
RET
TEXT runtime·kqueue(SB),NOSPLIT,$0
MOVQ $0, DI
MOVQ $0, SI
MOVQ $0, DX
MOVL $362, AX
SYSCALL
JCC 2(PC)
NEGQ AX
RET
TEXT runtime·kevent(SB),NOSPLIT,$0
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
MOVQ 32(SP), R10
MOVL 40(SP), R8
MOVQ 48(SP), R9
MOVL $363, AX
SYSCALL
JCC 2(PC)
NEGQ AX
RET
TEXT runtime·closeonexec(SB),NOSPLIT,$0
MOVL 8(SP), DI
MOVQ $2, SI
MOVQ $1, DX
MOVL $92, AX
SYSCALL
RET