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/os-Linux/aio.c | 5 ----- arch/um/os-Linux/main.c | 10 +++------- arch/um/os-Linux/signal.c | 6 ++---- arch/um/os-Linux/start_up.c | 1 - arch/um/os-Linux/trap.c | 1 - 5 files changed, 5 insertions(+), 18 deletions(-) (limited to 'arch/um/os-Linux') diff --git a/arch/um/os-Linux/aio.c b/arch/um/os-Linux/aio.c index 59348359f9a..c8f5b7a2c1c 100644 --- a/arch/um/os-Linux/aio.c +++ b/arch/um/os-Linux/aio.c @@ -320,11 +320,6 @@ static int init_aio(void) { int err; - CHOOSE_MODE(({ if(!aio_24){ - printk("Disabling 2.6 AIO in tt mode\n"); - aio_24 = 1; - } }), (void) 0); - if(!aio_24){ err = init_aio_26(); if(err && (errno == ENOSYS)){ diff --git a/arch/um/os-Linux/main.c b/arch/um/os-Linux/main.c index 425aa896064..bfabb883daa 100644 --- a/arch/um/os-Linux/main.c +++ b/arch/um/os-Linux/main.c @@ -19,7 +19,6 @@ #include "user.h" #include "init.h" #include "mode.h" -#include "choose-mode.h" #include "uml-config.h" #include "os.h" #include "um_malloc.h" @@ -189,16 +188,13 @@ int __init main(int argc, char **argv, char **envp) return uml_exitcode; } -#define CAN_KMALLOC() \ - (kmalloc_ok && CHOOSE_MODE((os_getpid() != tracing_pid), 1)) - extern void *__real_malloc(int); void *__wrap_malloc(int size) { void *ret; - if(!CAN_KMALLOC()) + if(!kmalloc_ok) return __real_malloc(size); else if(size <= UM_KERN_PAGE_SIZE) /* finding contiguous pages can be hard*/ @@ -251,11 +247,11 @@ void __wrap_free(void *ptr) */ if((addr >= uml_physmem) && (addr < high_physmem)){ - if(CAN_KMALLOC()) + if(kmalloc_ok) kfree(ptr); } else if((addr >= start_vm) && (addr < end_vm)){ - if(CAN_KMALLOC()) + if(kmalloc_ok) vfree(ptr); } else __real_free(ptr); diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index b98f7ea2d2f..0d6122adb8a 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c @@ -53,8 +53,7 @@ void sig_handler(int sig, struct sigcontext *sc) block_signals(); - CHOOSE_MODE_PROC(sig_handler_common_tt, sig_handler_common_skas, - sig, sc); + sig_handler_common_skas(sig, sc); set_signals(enabled); } @@ -257,8 +256,7 @@ void unblock_signals(void) * back here. */ if(save_pending & SIGIO_MASK) - CHOOSE_MODE_PROC(sig_handler_common_tt, - sig_handler_common_skas, SIGIO, NULL); + sig_handler_common_skas(SIGIO, NULL); if(save_pending & SIGALRM_MASK) real_alarm_handler(SIGALRM, NULL); diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c index acf52ea4ff5..da5c90df5c9 100644 --- a/arch/um/os-Linux/start_up.c +++ b/arch/um/os-Linux/start_up.c @@ -31,7 +31,6 @@ #include "init.h" #include "os.h" #include "uml-config.h" -#include "choose-mode.h" #include "mode.h" #include "tempfile.h" #include "kern_constants.h" diff --git a/arch/um/os-Linux/trap.c b/arch/um/os-Linux/trap.c index 295da657931..b17f546c365 100644 --- a/arch/um/os-Linux/trap.c +++ b/arch/um/os-Linux/trap.c @@ -12,7 +12,6 @@ void usr2_handler(int sig, union uml_pt_regs *regs) { - CHOOSE_MODE(syscall_handler_tt(sig, regs), (void) 0); } /* Initialized from linux_main() */ -- cgit v1.2.3