11.2Sthorpej/* $NetBSD: __syscall.S,v 1.2 2020/04/18 23:55:51 thorpej Exp $ */ 21.1Smatt 31.1Smatt#include <machine/asm.h> 41.1Smatt 51.1SmattENTRY(__syscall) 61.1Smatt l.or r13,r3,r0 /* syscall number */ 71.1Smatt l.or r3,r4,r0 81.1Smatt l.or r4,r5,r0 91.1Smatt l.or r5,r6,r0 101.1Smatt l.or r6,r7,r0 111.1Smatt l.or r7,r8,r0 121.1Smatt // at most 5 arguments can be passed via registers so the others 131.1Smatt // must be on the stack. 141.1Smatt l.lwz r8,0(r1) 151.1Smatt l.lwz r11,4(r1) /* use return value regs for last 2 */ 161.1Smatt l.lwz r12,8(r1) /* use return value regs for last 2 */ 171.1Smatt l.sys 0 181.1Smatt l.bf _C_LABEL(__cerror) 191.1Smatt l.nop 201.1Smatt l.jr lr 211.1Smatt l.nop 221.1SmattEND(__syscall) 231.1Smatt 241.2SthorpejSTRONG_ALIAS(_syscall,__syscall) 251.2SthorpejWEAK_ALIAS(syscall,__syscall) 26