patch-2.4.10 linux/arch/mips64/kernel/syscall.c
Next file: linux/arch/mips64/kernel/traps.c
Previous file: linux/arch/mips64/kernel/signal32.c
Back to the patch index
Back to the overall index
- Lines: 74
- Date:
Sun Sep 9 10:43:01 2001
- Orig file:
v2.4.9/linux/arch/mips64/kernel/syscall.c
- Orig date:
Mon Mar 19 12:35:10 2001
diff -u --recursive --new-file v2.4.9/linux/arch/mips64/kernel/syscall.c linux/arch/mips64/kernel/syscall.c
@@ -3,8 +3,9 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 1995 - 2000 by Ralf Baechle
+ * Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
+ * Copyright (C) 2001 MIPS Technologies, Inc.
*/
#include <linux/errno.h>
#include <linux/linkage.h>
@@ -129,7 +130,7 @@
}
asmlinkage int
-sys_sysmips(int cmd, long arg1, int arg2, int arg3)
+_sys_sysmips(int cmd, long arg1, int arg2, int arg3)
{
int *p;
char *name;
@@ -155,50 +156,9 @@
return 0;
}
- case MIPS_ATOMIC_SET: {
- unsigned int tmp;
-
- p = (int *) arg1;
- errno = verify_area(VERIFY_WRITE, p, sizeof(*p));
- if (errno)
- return errno;
- errno = 0;
-
- __asm__(".set\tpush\t\t\t# sysmips(MIPS_ATOMIC, ...)\n\t"
- ".set\tnoreorder\n\t"
- ".set\tnoat\n\t"
- "1:\tll\t%0, %4\n\t"
- "2:\tmove\t$1, %3\n\t"
- "3:\tsc\t$1, %1\n\t"
- "beqzl\t$1, 2b\n\t"
- "4:\t ll\t%0, %4\n\t"
- ".set\tpop\n\t"
- ".section\t.fixup,\"ax\"\n"
- "5:\tli\t%2, 1\t\t\t# error\n\t"
- ".previous\n\t"
- ".section\t__ex_table,\"a\"\n\t"
- ".dword\t1b, 5b\n\t"
- ".dword\t3b, 5b\n\t"
- ".dword\t4b, 5b\n\t"
- ".previous\n\t"
- : "=&r" (tmp), "=o" (* (u32 *) p), "=r" (errno)
- : "r" (arg2), "o" (* (u32 *) p), "2" (errno)
- : "$1");
-
- if (errno)
- return -EFAULT;
-
- /* We're skipping error handling etc. */
- if (current->ptrace & PT_TRACESYS)
- syscall_trace();
-
- __asm__ __volatile__(
- "move\t$29, %0\n\t"
- "j\tret_from_sys_call"
- : /* No outputs */
- : "r" (&cmd));
- /* Unreached */
- }
+ case MIPS_ATOMIC_SET:
+ printk(KERN_CRIT "How did I get here?\n");
+ return -EINVAL;
case MIPS_FIXADE:
tmp = current->thread.mflags & ~3;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)