xref: /minix3/lib/libc/arch/powerpc64/sys/__syscall.S (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc/*	$NetBSD: __syscall.S,v 1.2 2014/08/23 02:24:22 matt Exp $	*/
22fe8fb19SBen Gras
32fe8fb19SBen Gras#include "SYS.h"
42fe8fb19SBen Gras
5*0a6a1f1dSLionel Sambuc	.text
6*0a6a1f1dSLionel Sambuc	.p2align 2
7*0a6a1f1dSLionel SambucENTRY(__syscall)
8*0a6a1f1dSLionel Sambuc	mr	%r0,%r3		/* syscall number */
9*0a6a1f1dSLionel Sambuc	mr	%r3,%r4
10*0a6a1f1dSLionel Sambuc	mr	%r4,%r5
11*0a6a1f1dSLionel Sambuc	mr	%r5,%r6
12*0a6a1f1dSLionel Sambuc	mr	%r6,%r7
13*0a6a1f1dSLionel Sambuc	mr	%r7,%r8
14*0a6a1f1dSLionel Sambuc	mr	%r8,%r9
15*0a6a1f1dSLionel Sambuc	mr	%r9,%r10
16*0a6a1f1dSLionel Sambuc	ldreg	%r10,(2*__SIZEOF_POINTER__)(%r1) /* final argument is on the stack */
17*0a6a1f1dSLionel Sambuc	sc
18*0a6a1f1dSLionel Sambuc	bnslr
19*0a6a1f1dSLionel Sambuc	BRANCH_TO_CERROR()
20*0a6a1f1dSLionel SambucEND(__syscall)
21*0a6a1f1dSLionel Sambuc
22*0a6a1f1dSLionel SambucSTRONG_ALIAS(syscall, __syscall)
23