From: Chris Wedgwood <cw@f00f.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Jeff Dike <jdike@addtoit.com>,
akpm@osdl.org, Blaisorblade <blaisorblade_spam@yahoo.it>,
linux-kernel@vger.kernel.org,
Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Subject: [PATCH] - UML - cleanup include/asm-um/unistd.h
Date: Sun, 14 Nov 2004 18:11:59 -0800 [thread overview]
Message-ID: <20041115021159.GA11373@taniwha.stupidest.org> (raw)
In-Reply-To: <200411150008.51110.arnd@arndb.de>
On Mon, Nov 15, 2004 at 12:08:49AM +0100, Arnd Bergmann wrote:
> Speaking of dead code: I think you should be able to mostly get rid
> of the KERNEL_CALL hack in include/asm-um/unistd.h, since all kernel
> syscalls except execve are now gone.
This from my quilt patches directory (just refreshed and tested (TT
only) again just now). This might be a line or two large than it
otherwise should be due to whitespace changes...
Index: cw-current/include/asm-um/unistd.h
===================================================================
--- cw-current.orig/include/asm-um/unistd.h 2004-11-14 17:54:19.360054284 -0800
+++ cw-current/include/asm-um/unistd.h 2004-11-14 17:58:04.457939393 -0800
@@ -42,106 +42,29 @@
#include <linux/compiler.h>
#include <linux/types.h>
-#define KERNEL_CALL(ret_t, sys, args...) \
- mm_segment_t fs = get_fs(); \
- ret_t ret; \
- set_fs(KERNEL_DS); \
- ret = sys(args); \
- set_fs(fs); \
- if (ret >= 0) \
- return ret; \
- errno = -(long)ret; \
- return -1;
-
-static inline long open(const char *pathname, int flags, int mode)
-{
- KERNEL_CALL(int, sys_open, pathname, flags, mode)
-}
-
-static inline long dup(unsigned int fd)
-{
- KERNEL_CALL(int, sys_dup, fd);
-}
-
-static inline long close(unsigned int fd)
-{
- KERNEL_CALL(int, sys_close, fd);
-}
-
-static inline int execve(const char *filename, char *const argv[],
+static inline int execve(const char *filename, char *const argv[],
char *const envp[])
{
- KERNEL_CALL(int, um_execve, filename, argv, envp);
-}
+ mm_segment_t fs;
+ int ret;
-static inline long waitpid(pid_t pid, unsigned int *status, int options)
-{
- KERNEL_CALL(pid_t, sys_wait4, pid, status, options, NULL)
-}
-
-static inline pid_t setsid(void)
-{
- KERNEL_CALL(pid_t, sys_setsid)
-}
-
-static inline long lseek(unsigned int fd, off_t offset, unsigned int whence)
-{
- KERNEL_CALL(long, sys_lseek, fd, offset, whence)
-}
+ fs = get_fs();
+ set_fs(KERNEL_DS);
+ ret = um_execve(filename, argv, envp);
+ set_fs(fs);
-static inline int read(unsigned int fd, char * buf, int len)
-{
- KERNEL_CALL(int, sys_read, fd, buf, len)
-}
+ if (ret >= 0)
+ return ret;
-static inline int write(unsigned int fd, char * buf, int len)
-{
- KERNEL_CALL(int, sys_write, fd, buf, len)
+ errno = -(long)ret;
+ return -1;
}
-long sys_mmap2(unsigned long addr, unsigned long len,
- unsigned long prot, unsigned long flags,
- unsigned long fd, unsigned long pgoff);
int sys_execve(char *file, char **argv, char **env);
-long sys_clone(unsigned long clone_flags, unsigned long newsp,
- int *parent_tid, int *child_tid);
-long sys_fork(void);
-long sys_vfork(void);
-int sys_pipe(unsigned long *fildes);
-int sys_ptrace(long request, long pid, long addr, long data);
-struct sigaction;
-asmlinkage long sys_rt_sigaction(int sig,
- const struct sigaction __user *act,
- struct sigaction __user *oact,
- size_t sigsetsize);
-
-#endif
-
-/* Save the value of __KERNEL_SYSCALLS__, undefine it, include the underlying
- * arch's unistd.h for the system call numbers, and restore the old
- * __KERNEL_SYSCALLS__.
- */
-
-#ifdef __KERNEL_SYSCALLS__
-#define __SAVE_KERNEL_SYSCALLS__ __KERNEL_SYSCALLS__
-#endif
+
+#endif /* __KERNEL_SYSCALLS__ */
#undef __KERNEL_SYSCALLS__
#include "asm/arch/unistd.h"
-#ifdef __KERNEL_SYSCALLS__
-#define __KERNEL_SYSCALLS__ __SAVE_KERNEL_SYSCALLS__
-#endif
-
-#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
+#endif /* _UM_UNISTD_H_*/
next prev parent reply other threads:[~2004-11-15 2:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-14 23:04 [PATCH] - UML - remove some dead code Jeff Dike
2004-11-14 23:08 ` Arnd Bergmann
2004-11-15 2:11 ` Chris Wedgwood [this message]
2004-11-15 5:20 ` [PATCH] - UML - cleanup include/asm-um/unistd.h Jeff Dike
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041115021159.GA11373@taniwha.stupidest.org \
--to=cw@f00f.org \
--cc=akpm@osdl.org \
--cc=arnd@arndb.de \
--cc=blaisorblade_spam@yahoo.it \
--cc=bstroesser@fujitsu-siemens.com \
--cc=jdike@addtoit.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®