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