]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/kernel/syscall.c
Merge branches 'pxa-core' and 'pxa-machines' into pxa-all
[linux-2.6-omap-h63xx.git] / arch / mips / kernel / syscall.c
index af1bdc897488acf4d71f65bc69579f58b03183ce..343015a2f418fd9fb741ef6ae7b8821008e1af19 100644 (file)
 #include <asm/sysmips.h>
 #include <asm/uaccess.h>
 
-asmlinkage int sys_pipe(nabi_no_regargs volatile struct pt_regs regs)
+/*
+ * For historic reasons the pipe(2) syscall on MIPS has an unusual calling
+ * convention.  It returns results in registers $v0 / $v1 which means there
+ * is no need for it to do verify the validity of a userspace pointer
+ * argument.  Historically that used to be expensive in Linux.  These days
+ * the performance advantage is negligible.
+ */
+asmlinkage int sysm_pipe(nabi_no_regargs volatile struct pt_regs regs)
 {
        int fd[2];
        int error, res;
 
-       error = do_pipe(fd);
+       error = do_pipe_flags(fd, 0);
        if (error) {
                res = error;
                goto out;