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>
This commit is contained in:
Jeff Dike 2007-10-16 01:26:56 -07:00 committed by Linus Torvalds
parent 4c9e138513
commit 6aa802ce6a
36 changed files with 130 additions and 310 deletions

View file

@ -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);