1 /* sclow.S: Low level special syscall handling.
2 * Basically these are cases where we can completely
3 * handle the system call without saving any state
4 * because we know that the process will not sleep.
6 * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
9 #include <asm/cprefix.h>
10 #include <asm/ptrace.h>
11 #include <asm/errno.h>
12 #include <asm/winmacro.h>
32 #define LABEL(func) CONCAT(func, _low)
34 .globl LABEL(sunosnop)
40 .globl LABEL(sunosgetpid)
43 ld [%l4 + AOFF_task_pid], %i0
44 ld [%l4 + AOFF_task_p_opptr], %l5
45 ld [%l5 + AOFF_task_pid], %i1
49 #if (ASIZ_task_uid == 2 && ASIZ_task_euid == 2)
50 .globl LABEL(sunosgetuid)
53 lduh [%l4 + AOFF_task_uid], %i0
54 lduh [%l4 + AOFF_task_euid], %i1
58 #if (ASIZ_task_gid == 2 && ASIZ_task_egid == 2)
59 .globl LABEL(sunosgetgid)
62 lduh [%l4 + AOFF_task_gid], %i0
63 lduh [%l4 + AOFF_task_egid], %i1
67 .globl LABEL(sunosmctl)
72 .globl LABEL(sunosgdtsize)
77 .globl LABEL(sunossblock)
82 ld [%l4 + AOFF_task_blocked], %i0
84 st %l5, [%l4 + AOFF_task_blocked]
87 .globl LABEL(sunossmask)
92 ld [%l4 + AOFF_task_blocked], %i0
93 st %l5, [%l4 + AOFF_task_blocked]
96 .globl LABEL(getpagesize)
101 /* XXX sys_nice() XXX */
102 /* XXX sys_setpriority() XXX */
103 /* XXX sys_getpriority() XXX */
104 /* XXX sys_setregid() XXX */
105 /* XXX sys_setgid() XXX */
106 /* XXX sys_setreuid() XXX */
107 /* XXX sys_setuid() XXX */
108 /* XXX sys_setfsuid() XXX */
109 /* XXX sys_setfsgid() XXX */
110 /* XXX sys_setpgid() XXX */
111 /* XXX sys_getpgid() XXX */
112 /* XXX sys_setsid() XXX */
113 /* XXX sys_getsid() XXX */