8 #include <linux/errno.h>
9 #include <linux/types.h>
10 #include <linux/sched.h>
14 #include <linux/sem.h>
15 #include <linux/msg.h>
16 #include <linux/shm.h>
17 #include <linux/stat.h>
19 #include <linux/mman.h>
20 #include <linux/utsname.h>
22 #include <linux/ipc.h>
24 #include <asm/uaccess.h>
25 #include <asm/unistd.h>
37 #define COLOUR_ALIGN(addr) (((addr)+SHMLBA-1)&~(SHMLBA-1))
68 if (!vmm || addr + len <= vmm->
vm_start)
71 if (flags & MAP_SHARED)
106 unsigned long prot,
unsigned long flags,
unsigned long fd,
116 unsigned long prot,
unsigned long flags,
unsigned long fd,
124 unsigned long prot,
unsigned long pgoff,
138 static int count = 0;
142 printk (
"%s[%d]: Unimplemented SPARC system call %d\n",
144 #ifdef DEBUG_UNIMP_SYSCALL
157 #ifdef DEBUG_SPARC_BREAKPOINT
158 printk (
"TRAP: Entering kernel PC=%x, nPC=%x\n", regs->
pc, regs->
npc);
163 info.si_addr = (
void __user *)regs->
pc;
167 #ifdef DEBUG_SPARC_BREAKPOINT
168 printk (
"TRAP: Returning to space: PC=%x nPC=%x\n", regs->
pc, regs->
npc);
191 siginitset(&new_ka.
sa.sa_mask, mask);
200 __put_user(old_ka.
sa.sa_restorer, &oact->sa_restorer) ||
213 void __user *restorer,
248 nlen =
strlen(utsname()->domainname) + 1;
267 const char *
const argv[],
268 const char *
const envp[])
272 register long __o0
__asm__ (
"o0") = (
long)(filename);
275 asm volatile (
"t 0x10\n\t"
278 "sub %%g0, %%o0, %0\n\t"
280 :
"=r" (__res),
"=&r" (__o0)
281 :
"1" (__o0),
"r" (__o1),
"r" (__o2),
"r" (__g1)