summaryrefslogtreecommitdiffstats
path: root/usr/klibc/arch/riscv64/syscall.S
blob: 89d9bd2f923f291e9516e8f7ff84f39211e67fe3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <machine/asm.h>
#include <asm/unistd.h>

ENTRY(__syscall_common)
	scall
	li	t0, -4096
	bleu	a0, t0, 1f
	neg	a0, a0
	lui	t0, %hi(errno)
	sw	a0, %lo(errno)(t0)
	li	a0, -1
1:	jr	ra
END(__syscall_common)