xref: /minix3/lib/libc/arch/mips/sys/__syscall.S (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc/*	$NetBSD: __syscall.S,v 1.2 2014/01/31 18:06:26 matt Exp $	*/
22fe8fb19SBen Gras
32fe8fb19SBen Gras#include "SYS.h"
42fe8fb19SBen Gras
5*0a6a1f1dSLionel Sambuc#ifdef __mips_o32
62fe8fb19SBen GrasRSYSCALL(__syscall)
7*0a6a1f1dSLionel Sambuc#else
8*0a6a1f1dSLionel Sambuc
9*0a6a1f1dSLionel SambucLEAF(__syscall)
10*0a6a1f1dSLionel Sambuc        PIC_PROLOGUE(__syscall)
11*0a6a1f1dSLionel Sambuc	move	v0, a0
12*0a6a1f1dSLionel Sambuc	move	a0, a1
13*0a6a1f1dSLionel Sambuc	move	a1, a2
14*0a6a1f1dSLionel Sambuc	move	a2, a3
15*0a6a1f1dSLionel Sambuc	move	a3, a4
16*0a6a1f1dSLionel Sambuc	move	a4, a5
17*0a6a1f1dSLionel Sambuc	move	a5, a6
18*0a6a1f1dSLionel Sambuc	move	a6, a7
19*0a6a1f1dSLionel Sambuc	REG_L	a7, (sp)
20*0a6a1f1dSLionel Sambuc        SYSTRAP(__syscall)
21*0a6a1f1dSLionel Sambuc        bne a3,zero,1f
22*0a6a1f1dSLionel Sambuc        PIC_RETURN()
23*0a6a1f1dSLionel Sambuc1:
24*0a6a1f1dSLionel Sambuc        PIC_TAILCALL(__cerror)
25*0a6a1f1dSLionel SambucEND(__syscall)
26*0a6a1f1dSLionel SambucSTRONG_ALIAS(syscall, __syscall)
27*0a6a1f1dSLionel Sambuc#endif
28