From 6aa802ce6acc9b1f0b34114b3f7c21c84872cc3a Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Tue, 16 Oct 2007 01:26:56 -0700 Subject: 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/sys-i386/ldt.c | 4 +--- arch/um/sys-i386/ptrace.c | 17 +++++------------ arch/um/sys-i386/signal.c | 12 ++---------- arch/um/sys-i386/tls.c | 7 +++---- 4 files changed, 11 insertions(+), 29 deletions(-) (limited to 'arch/um/sys-i386') diff --git a/arch/um/sys-i386/ldt.c b/arch/um/sys-i386/ldt.c index 762a12a..2683d30 100644 --- a/arch/um/sys-i386/ldt.c +++ b/arch/um/sys-i386/ldt.c @@ -12,7 +12,6 @@ #include "asm/smp.h" #include "asm/ldt.h" #include "asm/unistd.h" -#include "choose-mode.h" #include "kern.h" #include "mode_kern.h" #include "os.h" @@ -506,6 +505,5 @@ void free_ldt(struct mmu_context_skas * mm) int sys_modify_ldt(int func, void __user *ptr, unsigned long bytecount) { - return CHOOSE_MODE_PROC(do_modify_ldt_tt, do_modify_ldt_skas, func, - ptr, bytecount); + return do_modify_ldt_skas(func, ptr, bytecount); } diff --git a/arch/um/sys-i386/ptrace.c b/arch/um/sys-i386/ptrace.c index 572fd50..7792365 100644 --- a/arch/um/sys-i386/ptrace.c +++ b/arch/um/sys-i386/ptrace.c @@ -230,13 +230,13 @@ static inline unsigned long twd_fxsr_to_i387( struct i387_fxsave_struct *fxsave static inline int convert_fxsr_to_user(struct _fpstate __user *buf, struct pt_regs *regs) { - return(CHOOSE_MODE(convert_fxsr_to_user_tt(buf, regs), 0)); + return 0; } static inline int convert_fxsr_from_user(struct pt_regs *regs, struct _fpstate __user *buf) { - return(CHOOSE_MODE(convert_fxsr_from_user_tt(regs, buf), 0)); + return 0; } int get_fpregs(unsigned long buf, struct task_struct *child) @@ -261,12 +261,12 @@ int set_fpregs(unsigned long buf, struct task_struct *child) int get_fpxregs(unsigned long buf, struct task_struct *tsk) { - return(CHOOSE_MODE(get_fpxregs_tt(buf, tsk), 0)); + return 0; } int set_fpxregs(unsigned long buf, struct task_struct *tsk) { - return(CHOOSE_MODE(set_fpxregs_tt(buf, tsk), 0)); + return 0; } #ifdef notdef @@ -286,16 +286,9 @@ int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) } #endif -static inline void copy_fpu_fxsave(struct pt_regs *regs, - struct user_i387_struct *buf) -{ - (void) CHOOSE_MODE(copy_fpu_fxsave_tt(regs, buf), 0); -} - int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu ) { - copy_fpu_fxsave(regs, (struct user_i387_struct *) fpu); - return(1); + return 1; } /* diff --git a/arch/um/sys-i386/signal.c b/arch/um/sys-i386/signal.c index 187ea27..a9fe8d6 100644 --- a/arch/um/sys-i386/signal.c +++ b/arch/um/sys-i386/signal.c @@ -12,7 +12,6 @@ #include "frame_kern.h" #include "sigcontext.h" #include "registers.h" -#include "mode.h" #include "skas.h" void copy_sc(union uml_pt_regs *regs, void *from) @@ -108,20 +107,13 @@ int copy_sc_to_user_skas(struct sigcontext __user *to, struct _fpstate __user *t static int copy_sc_from_user(struct pt_regs *to, void __user *from) { - int ret; - - ret = CHOOSE_MODE(copy_sc_from_user_tt(UPT_SC(&to->regs), from, - sizeof(struct _fpstate)), - copy_sc_from_user_skas(to, from)); - return ret; + return copy_sc_from_user_skas(to, from); } static int copy_sc_to_user(struct sigcontext __user *to, struct _fpstate __user *fp, struct pt_regs *from, unsigned long sp) { - return CHOOSE_MODE(copy_sc_to_user_tt(to, fp, UPT_SC(&from->regs), - sizeof(*fp), sp), - copy_sc_to_user_skas(to, fp, from, sp)); + return copy_sc_to_user_skas(to, fp, from, sp); } static int copy_ucontext_to_user(struct ucontext __user *uc, struct _fpstate __user *fp, diff --git a/arch/um/sys-i386/tls.c b/arch/um/sys-i386/tls.c index 0340b96..bb4d0e2 100644 --- a/arch/um/sys-i386/tls.c +++ b/arch/um/sys-i386/tls.c @@ -12,7 +12,6 @@ #include "asm/segment.h" #include "asm/smp.h" #include "asm/desc.h" -#include "choose-mode.h" #include "kern.h" #include "kern_util.h" #include "mode_kern.h" @@ -28,7 +27,7 @@ static int host_supports_tls = -1; int host_gdt_entry_tls_min; -int do_set_thread_area_skas(struct user_desc *info) +int do_set_thread_area(struct user_desc *info) { int ret; u32 cpu; @@ -39,7 +38,7 @@ int do_set_thread_area_skas(struct user_desc *info) return ret; } -int do_get_thread_area_skas(struct user_desc *info) +int do_get_thread_area(struct user_desc *info) { int ret; u32 cpu; @@ -277,7 +276,7 @@ asmlinkage int sys_set_thread_area(struct user_desc __user *user_desc) return -EFAULT; } - ret = CHOOSE_MODE_PROC(do_set_thread_area_tt, do_set_thread_area_skas, &info); + ret = do_set_thread_area(&info); if (ret) return ret; return set_tls_entry(current, &info, idx, 1); -- cgit v1.1