diff options
Diffstat (limited to 'arch/m32r')
-rw-r--r-- | arch/m32r/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/m32r/kernel/sys_m32r.c | 81 |
2 files changed, 1 insertions, 81 deletions
diff --git a/arch/m32r/include/asm/unistd.h b/arch/m32r/include/asm/unistd.h index cf701c933249..76125777483c 100644 --- a/arch/m32r/include/asm/unistd.h +++ b/arch/m32r/include/asm/unistd.h | |||
@@ -339,6 +339,7 @@ | |||
339 | #define __ARCH_WANT_STAT64 | 339 | #define __ARCH_WANT_STAT64 |
340 | #define __ARCH_WANT_SYS_ALARM | 340 | #define __ARCH_WANT_SYS_ALARM |
341 | #define __ARCH_WANT_SYS_GETHOSTNAME | 341 | #define __ARCH_WANT_SYS_GETHOSTNAME |
342 | #define __ARCH_WANT_SYS_IPC | ||
342 | #define __ARCH_WANT_SYS_PAUSE | 343 | #define __ARCH_WANT_SYS_PAUSE |
343 | #define __ARCH_WANT_SYS_TIME | 344 | #define __ARCH_WANT_SYS_TIME |
344 | #define __ARCH_WANT_SYS_UTIME | 345 | #define __ARCH_WANT_SYS_UTIME |
diff --git a/arch/m32r/kernel/sys_m32r.c b/arch/m32r/kernel/sys_m32r.c index d3c865c5a6ba..cf2e7279ce9b 100644 --- a/arch/m32r/kernel/sys_m32r.c +++ b/arch/m32r/kernel/sys_m32r.c | |||
@@ -76,87 +76,6 @@ asmlinkage int sys_tas(int __user *addr) | |||
76 | return oldval; | 76 | return oldval; |
77 | } | 77 | } |
78 | 78 | ||
79 | /* | ||
80 | * sys_ipc() is the de-multiplexer for the SysV IPC calls.. | ||
81 | * | ||
82 | * This is really horribly ugly. | ||
83 | */ | ||
84 | asmlinkage int sys_ipc(uint call, int first, int second, | ||
85 | int third, void __user *ptr, long fifth) | ||
86 | { | ||
87 | int version, ret; | ||
88 | |||
89 | version = call >> 16; /* hack for backward compatibility */ | ||
90 | call &= 0xffff; | ||
91 | |||
92 | switch (call) { | ||
93 | case SEMOP: | ||
94 | return sys_semtimedop(first, (struct sembuf __user *)ptr, | ||
95 | second, NULL); | ||
96 | case SEMTIMEDOP: | ||
97 | return sys_semtimedop(first, (struct sembuf __user *)ptr, | ||
98 | second, (const struct timespec __user *)fifth); | ||
99 | case SEMGET: | ||
100 | return sys_semget (first, second, third); | ||
101 | case SEMCTL: { | ||
102 | union semun fourth; | ||
103 | if (!ptr) | ||
104 | return -EINVAL; | ||
105 | if (get_user(fourth.__pad, (void __user * __user *) ptr)) | ||
106 | return -EFAULT; | ||
107 | return sys_semctl (first, second, third, fourth); | ||
108 | } | ||
109 | |||
110 | case MSGSND: | ||
111 | return sys_msgsnd (first, (struct msgbuf __user *) ptr, | ||
112 | second, third); | ||
113 | case MSGRCV: | ||
114 | switch (version) { | ||
115 | case 0: { | ||
116 | struct ipc_kludge tmp; | ||
117 | if (!ptr) | ||
118 | return -EINVAL; | ||
119 | |||
120 | if (copy_from_user(&tmp, | ||
121 | (struct ipc_kludge __user *) ptr, | ||
122 | sizeof (tmp))) | ||
123 | return -EFAULT; | ||
124 | return sys_msgrcv (first, tmp.msgp, second, | ||
125 | tmp.msgtyp, third); | ||
126 | } | ||
127 | default: | ||
128 | return sys_msgrcv (first, | ||
129 | (struct msgbuf __user *) ptr, | ||
130 | second, fifth, third); | ||
131 | } | ||
132 | case MSGGET: | ||
133 | return sys_msgget ((key_t) first, second); | ||
134 | case MSGCTL: | ||
135 | return sys_msgctl (first, second, | ||
136 | (struct msqid_ds __user *) ptr); | ||
137 | case SHMAT: { | ||
138 | ulong raddr; | ||
139 | |||
140 | if (!access_ok(VERIFY_WRITE, (ulong __user *) third, | ||
141 | sizeof(ulong))) | ||
142 | return -EFAULT; | ||
143 | ret = do_shmat (first, (char __user *) ptr, second, &raddr); | ||
144 | if (ret) | ||
145 | return ret; | ||
146 | return put_user (raddr, (ulong __user *) third); | ||
147 | } | ||
148 | case SHMDT: | ||
149 | return sys_shmdt ((char __user *)ptr); | ||
150 | case SHMGET: | ||
151 | return sys_shmget (first, second, third); | ||
152 | case SHMCTL: | ||
153 | return sys_shmctl (first, second, | ||
154 | (struct shmid_ds __user *) ptr); | ||
155 | default: | ||
156 | return -ENOSYS; | ||
157 | } | ||
158 | } | ||
159 | |||
160 | asmlinkage int sys_uname(struct old_utsname __user * name) | 79 | asmlinkage int sys_uname(struct old_utsname __user * name) |
161 | { | 80 | { |
162 | int err; | 81 | int err; |