1*77abcafcSthorpej/* $NetBSD: __syscall.S,v 1.2 2020/04/18 23:55:51 thorpej Exp $ */ 227620987Smatt 327620987Smatt#include <machine/asm.h> 427620987Smatt 527620987SmattENTRY(__syscall) 627620987Smatt l.or r13,r3,r0 /* syscall number */ 727620987Smatt l.or r3,r4,r0 827620987Smatt l.or r4,r5,r0 927620987Smatt l.or r5,r6,r0 1027620987Smatt l.or r6,r7,r0 1127620987Smatt l.or r7,r8,r0 1227620987Smatt // at most 5 arguments can be passed via registers so the others 1327620987Smatt // must be on the stack. 1427620987Smatt l.lwz r8,0(r1) 1527620987Smatt l.lwz r11,4(r1) /* use return value regs for last 2 */ 1627620987Smatt l.lwz r12,8(r1) /* use return value regs for last 2 */ 1727620987Smatt l.sys 0 1827620987Smatt l.bf _C_LABEL(__cerror) 1927620987Smatt l.nop 2027620987Smatt l.jr lr 2127620987Smatt l.nop 2227620987SmattEND(__syscall) 2327620987Smatt 24*77abcafcSthorpejSTRONG_ALIAS(_syscall,__syscall) 25*77abcafcSthorpejWEAK_ALIAS(syscall,__syscall) 26