2001-04-12 09:14:58 +02:00
|
|
|
--- machdep/syscall-template-sparc-netbsd-1.3.S.orig Thu Apr 12 06:57:20 2001
|
|
|
|
+++ machdep/syscall-template-sparc-netbsd-1.3.S Thu Apr 12 07:20:31 2001
|
|
|
|
@@ -0,0 +1,48 @@
|
1998-12-28 23:21:59 +01:00
|
|
|
+/* ==== syscall.S ============================================================
|
|
|
|
+ * Copyright (c) 1994 Chris Provenzano, proven@mit.edu
|
|
|
|
+ * All rights reserved.
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+
|
2001-04-12 09:14:58 +02:00
|
|
|
+#include <machine/asm.h>
|
1998-12-28 23:21:59 +01:00
|
|
|
+#include <sys/syscall.h>
|
|
|
|
+
|
|
|
|
+#ifdef SYS___sigsuspend14
|
|
|
|
+#define SYS_sigsuspend SYS___sigsuspend14
|
|
|
|
+#endif
|
|
|
|
+#ifdef SYS___sigprocmask14
|
|
|
|
+#define SYS_sigprocmask SYS___sigprocmask14
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#define SYSCALL(x) \
|
2001-04-12 09:14:58 +02:00
|
|
|
+ .globl _C_LABEL(machdep_sys_##x); \
|
1998-12-28 23:21:59 +01:00
|
|
|
+ \
|
2001-04-12 09:14:58 +02:00
|
|
|
+_C_LABEL(machdep_sys_##x):; \
|
1998-12-28 23:21:59 +01:00
|
|
|
+ \
|
|
|
|
+ mov SYS_##x, %g1; \
|
|
|
|
+ ta 0; \
|
|
|
|
+ bcs,a 2b; \
|
|
|
|
+ sub %r0,%o0,%o0; \
|
|
|
|
+ retl; \
|
|
|
|
+ nop
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * Initial asm stuff for all functions.
|
|
|
|
+ */
|
|
|
|
+ .text
|
|
|
|
+ .align 4
|
|
|
|
+
|
|
|
|
+/* ==========================================================================
|
|
|
|
+ * error code for all syscalls. The error value is returned as the negative
|
|
|
|
+ * of the errno value.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+1:
|
|
|
|
+ sub %r0, %o0, %o0
|
|
|
|
+2:
|
|
|
|
+ retl
|
|
|
|
+ nop
|
|
|
|
+
|
|
|
|
+#define XSYSCALL(NAME) SYSCALL(NAME)
|
|
|
|
+
|
|
|
|
+XSYSCALL(SYSCALL_NAME)
|