aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/sys-x86_64
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-10-16 04:26:56 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:05 -0400
commit6aa802ce6acc9b1f0b34114b3f7c21c84872cc3a (patch)
tree74523303349693ef482dec4a1d803566b69c6abd /arch/um/sys-x86_64
parent4c9e13851315a25a705e7a686116e491041ca228 (diff)
uml: throw out CHOOSE_MODE
The next stage after removing code which depends on CONFIG_MODE_TT is removing the CHOOSE_MODE abstraction, which provided both compile-time and run-time branching to either tt-mode or skas-mode code. This patch removes choose-mode.h and all inclusions of it, and replaces all CHOOSE_MODE invocations with the skas branch. This leaves a number of trivial functions which will be dealt with in a later patch. There are some changes in the uaccess and tls support which go somewhat beyond this and eliminate some of the now-redundant functions. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/sys-x86_64')
-rw-r--r--arch/um/sys-x86_64/signal.c9
-rw-r--r--arch/um/sys-x86_64/syscalls.c4
2 files changed, 3 insertions, 10 deletions
diff --git a/arch/um/sys-x86_64/signal.c b/arch/um/sys-x86_64/signal.c
index c18d929e69b..2d6cdd260c2 100644
--- a/arch/um/sys-x86_64/signal.c
+++ b/arch/um/sys-x86_64/signal.c
@@ -12,7 +12,6 @@
12#include "asm/sigcontext.h" 12#include "asm/sigcontext.h"
13#include "asm/ptrace.h" 13#include "asm/ptrace.h"
14#include "asm/arch/ucontext.h" 14#include "asm/arch/ucontext.h"
15#include "choose-mode.h"
16#include "sysdep/ptrace.h" 15#include "sysdep/ptrace.h"
17#include "frame_kern.h" 16#include "frame_kern.h"
18#include "skas.h" 17#include "skas.h"
@@ -135,9 +134,7 @@ static int copy_sc_from_user(struct pt_regs *to, void __user *from)
135{ 134{
136 int ret; 135 int ret;
137 136
138 ret = CHOOSE_MODE(copy_sc_from_user_tt(UPT_SC(&to->regs), from, 137 ret = copy_sc_from_user_skas(to, from);
139 sizeof(struct _fpstate)),
140 copy_sc_from_user_skas(to, from));
141 return(ret); 138 return(ret);
142} 139}
143 140
@@ -146,9 +143,7 @@ static int copy_sc_to_user(struct sigcontext __user *to,
146 struct pt_regs *from, unsigned long mask, 143 struct pt_regs *from, unsigned long mask,
147 unsigned long sp) 144 unsigned long sp)
148{ 145{
149 return(CHOOSE_MODE(copy_sc_to_user_tt(to, fp, UPT_SC(&from->regs), 146 return copy_sc_to_user_skas(to, fp, from, mask, sp);
150 sizeof(*fp), sp),
151 copy_sc_to_user_skas(to, fp, from, mask, sp)));
152} 147}
153 148
154struct rt_sigframe 149struct rt_sigframe
diff --git a/arch/um/sys-x86_64/syscalls.c b/arch/um/sys-x86_64/syscalls.c
index d0ff832c9ea..d44398c9d27 100644
--- a/arch/um/sys-x86_64/syscalls.c
+++ b/arch/um/sys-x86_64/syscalls.c
@@ -14,7 +14,6 @@
14#include "asm/ptrace.h" 14#include "asm/ptrace.h"
15#include "asm/unistd.h" 15#include "asm/unistd.h"
16#include "asm/prctl.h" /* XXX This should get the constants from libc */ 16#include "asm/prctl.h" /* XXX This should get the constants from libc */
17#include "choose-mode.h"
18#include "kern.h" 17#include "kern.h"
19#include "os.h" 18#include "os.h"
20 19
@@ -92,8 +91,7 @@ long arch_prctl_skas(struct task_struct *task, int code,
92 91
93long sys_arch_prctl(int code, unsigned long addr) 92long sys_arch_prctl(int code, unsigned long addr)
94{ 93{
95 return CHOOSE_MODE_PROC(arch_prctl_tt, arch_prctl_skas, current, code, 94 return arch_prctl_skas(current, code, (unsigned long __user *) addr);
96 (unsigned long __user *) addr);
97} 95}
98 96
99long sys_clone(unsigned long clone_flags, unsigned long newsp, 97long sys_clone(unsigned long clone_flags, unsigned long newsp,