.global __syscall
	.hidden __syscall
	.type   __syscall,@function
__syscall:
	mr      0, 3                  # Save the system call number
	mr      3, 4                  # Shift the arguments: arg1
	mr      4, 5                  # arg2
	mr      5, 6                  # arg3
	mr      6, 7                  # arg4
	mr      7, 8                  # arg5
	mr      8, 9                  # arg6
	sc
	bnslr+       # return if not summary overflow
	neg     3, 3 # otherwise error: return negated value.
	blr
	.end    __syscall
	.size   __syscall, .-__syscall