
This brings our tree to NetBSD 7.0, as found on -current on the 10-10-2015. This updates: - LLVM to 3.6.1 - GCC to GCC 5.1 - Replace minix/commands/zdump with usr.bin/zdump - external/bsd/libelf has moved to /external/bsd/elftoolchain/ - Import ctwm - Drop sprintf from libminc Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
25 lines
549 B
ArmAsm
25 lines
549 B
ArmAsm
/* $NetBSD: __syscall.S,v 1.1 2014/09/03 19:34:26 matt Exp $ */
|
|
|
|
#include <machine/asm.h>
|
|
|
|
ENTRY(__syscall)
|
|
l.or r13,r3,r0 /* syscall number */
|
|
l.or r3,r4,r0
|
|
l.or r4,r5,r0
|
|
l.or r5,r6,r0
|
|
l.or r6,r7,r0
|
|
l.or r7,r8,r0
|
|
// at most 5 arguments can be passed via registers so the others
|
|
// must be on the stack.
|
|
l.lwz r8,0(r1)
|
|
l.lwz r11,4(r1) /* use return value regs for last 2 */
|
|
l.lwz r12,8(r1) /* use return value regs for last 2 */
|
|
l.sys 0
|
|
l.bf _C_LABEL(__cerror)
|
|
l.nop
|
|
l.jr lr
|
|
l.nop
|
|
END(__syscall)
|
|
|
|
STRONG_ALIAS(syscall, __syscall)
|