xref: /minix/lib/libc/arch/or1k/sys/__syscall.S (revision 0a6a1f1d)
1/*	$NetBSD: __syscall.S,v 1.1 2014/09/03 19:34:26 matt Exp $	*/
2
3#include <machine/asm.h>
4
5ENTRY(__syscall)
6	l.or	r13,r3,r0		/* syscall number */
7	l.or	r3,r4,r0
8	l.or	r4,r5,r0
9	l.or	r5,r6,r0
10	l.or	r6,r7,r0
11	l.or	r7,r8,r0
12	// at most 5 arguments can be passed via registers so the others
13	// must be on the stack.
14	l.lwz	r8,0(r1)
15	l.lwz	r11,4(r1)		/* use return value regs for last 2 */
16	l.lwz	r12,8(r1)		/* use return value regs for last 2 */
17	l.sys	0
18	l.bf	_C_LABEL(__cerror)
19	l.nop
20	l.jr	lr
21	l.nop
22END(__syscall)
23
24STRONG_ALIAS(syscall, __syscall)
25