- Update to 2.6.25-rc3.
[linux-flexiantxendom0-3.2.10.git] / arch / sh / kernel / sys_sh.c
index d545a68..59cd285 100644 (file)
@@ -7,7 +7,6 @@
  *
  * Taken from i386 version.
  */
-
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <asm/uaccess.h>
 #include <asm/unistd.h>
 
-/*
- * sys_pipe() is the normal C calling standard for creating
- * a pipe. It's not the way Unix traditionally does this, though.
- */
-asmlinkage int sys_pipe(unsigned long r4, unsigned long r5,
-       unsigned long r6, unsigned long r7,
-       struct pt_regs __regs)
-{
-       struct pt_regs *regs = RELOC_HIDE(&__regs, 0);
-       int fd[2];
-       int error;
-
-       error = do_pipe(fd);
-       if (!error) {
-               regs->regs[1] = fd[1];
-               return fd[0];
-       }
-       return error;
-}
-
 unsigned long shm_align_mask = PAGE_SIZE - 1;  /* Sane caches */
-
 EXPORT_SYMBOL(shm_align_mask);
 
 #ifdef CONFIG_MMU
@@ -140,7 +118,7 @@ full_search:
 #endif /* CONFIG_MMU */
 
 static inline long
-do_mmap2(unsigned long addr, unsigned long len, unsigned long prot, 
+do_mmap2(unsigned long addr, unsigned long len, unsigned long prot,
         unsigned long flags, int fd, unsigned long pgoff)
 {
        int error = -EBADF;
@@ -195,12 +173,13 @@ asmlinkage int sys_ipc(uint call, int first, int second,
        if (call <= SEMCTL)
                switch (call) {
                case SEMOP:
-                       return sys_semtimedop(first, (struct sembuf __user *)ptr,
+                       return sys_semtimedop(first,
+                                             (struct sembuf __user *)ptr,
                                              second, NULL);
                case SEMTIMEDOP:
-                       return sys_semtimedop(first, (struct sembuf __user *)ptr,
-                                             second,
-                                             (const struct timespec __user *)fifth);
+                       return sys_semtimedop(first,
+                               (struct sembuf __user *)ptr, second,
+                               (const struct timespec __user *)fifth);
                case SEMGET:
                        return sys_semget (first, second, third);
                case SEMCTL: {
@@ -215,25 +194,28 @@ asmlinkage int sys_ipc(uint call, int first, int second,
                        return -EINVAL;
                }
 
-       if (call <= MSGCTL) 
+       if (call <= MSGCTL)
                switch (call) {
                case MSGSND:
-                       return sys_msgsnd (first, (struct msgbuf __user *) ptr, 
+                       return sys_msgsnd (first, (struct msgbuf __user *) ptr,
                                          second, third);
                case MSGRCV:
                        switch (version) {
-                       case 0: {
+                       case 0:
+                       {
                                struct ipc_kludge tmp;
+
                                if (!ptr)
                                        return -EINVAL;
-                               
+
                                if (copy_from_user(&tmp,
-                                                  (struct ipc_kludge __user *) ptr, 
+                                       (struct ipc_kludge __user *) ptr,
                                                   sizeof (tmp)))
                                        return -EFAULT;
+
                                return sys_msgrcv (first, tmp.msgp, second,
                                                   tmp.msgtyp, third);
-                               }
+                       }
                        default:
                                return sys_msgrcv (first,
                                                   (struct msgbuf __user *) ptr,
@@ -247,7 +229,7 @@ asmlinkage int sys_ipc(uint call, int first, int second,
                default:
                        return -EINVAL;
                }
-       if (call <= SHMCTL) 
+       if (call <= SHMCTL)
                switch (call) {
                case SHMAT:
                        switch (version) {
@@ -265,7 +247,7 @@ asmlinkage int sys_ipc(uint call, int first, int second,
                                return do_shmat (first, (char __user *) ptr,
                                                  second, (ulong *) third);
                        }
-               case SHMDT: 
+               case SHMDT:
                        return sys_shmdt ((char __user *)ptr);
                case SHMGET:
                        return sys_shmget (first, second, third);
@@ -275,7 +257,7 @@ asmlinkage int sys_ipc(uint call, int first, int second,
                default:
                        return -EINVAL;
                }
-       
+
        return -EINVAL;
 }
 
@@ -289,49 +271,3 @@ asmlinkage int sys_uname(struct old_utsname * name)
        up_read(&uts_sem);
        return err?-EFAULT:0;
 }
-
-asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char * buf,
-                            size_t count, long dummy, loff_t pos)
-{
-       return sys_pread64(fd, buf, count, pos);
-}
-
-asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char * buf,
-                             size_t count, long dummy, loff_t pos)
-{
-       return sys_pwrite64(fd, buf, count, pos);
-}
-
-asmlinkage int sys_fadvise64_64_wrapper(int fd, u32 offset0, u32 offset1,
-                               u32 len0, u32 len1, int advice)
-{
-#ifdef  __LITTLE_ENDIAN__
-       return sys_fadvise64_64(fd, (u64)offset1 << 32 | offset0,
-                               (u64)len1 << 32 | len0, advice);
-#else
-       return sys_fadvise64_64(fd, (u64)offset0 << 32 | offset1,
-                               (u64)len0 << 32 | len1, advice);
-#endif
-}
-
-#if defined(CONFIG_CPU_SH2) || defined(CONFIG_CPU_SH2A)
-#define SYSCALL_ARG3   "trapa #0x23"
-#else
-#define SYSCALL_ARG3   "trapa #0x13"
-#endif
-
-/*
- * Do a system call from kernel instead of calling sys_execve so we
- * end up with proper pt_regs.
- */
-int kernel_execve(const char *filename, char *const argv[], char *const envp[])
-{
-       register long __sc0 __asm__ ("r3") = __NR_execve;
-       register long __sc4 __asm__ ("r4") = (long) filename;
-       register long __sc5 __asm__ ("r5") = (long) argv;
-       register long __sc6 __asm__ ("r6") = (long) envp;
-       __asm__ __volatile__ (SYSCALL_ARG3 : "=z" (__sc0)       
-                       : "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6)
-                       : "memory");
-       return __sc0;
-}