diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-07-16 02:38:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:38 -0400 |
commit | e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e (patch) | |
tree | fe9892123214821c37a7b615fe52db7f6d46e148 /arch/um/include | |
parent | c43990162fc7f9d2f15a12797fdc6f9c0905f704 (diff) |
uml: Eliminate kernel allocator wrappers
UML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic
because the flag constants weren't available in userspace code.
kern_constants.h had made kernel constants available for a long time, so there
is no need for these wrappers any more. Rather, userspace code calls kmalloc
directly with the userspace versions of the gfp flags.
kmalloc isn't a real procedure, so I had to essentially copy the inline
wrapper around __kmalloc.
vmalloc also had its own wrapper for no good reason. This is now gone.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r-- | arch/um/include/common-offsets.h | 3 | ||||
-rw-r--r-- | arch/um/include/um_malloc.h | 12 |
2 files changed, 12 insertions, 3 deletions
diff --git a/arch/um/include/common-offsets.h b/arch/um/include/common-offsets.h index 7376ee44e330..6eee343e53eb 100644 --- a/arch/um/include/common-offsets.h +++ b/arch/um/include/common-offsets.h | |||
@@ -27,6 +27,9 @@ DEFINE(UM_ELFCLASS64, ELFCLASS64); | |||
27 | 27 | ||
28 | DEFINE(UM_NR_CPUS, NR_CPUS); | 28 | DEFINE(UM_NR_CPUS, NR_CPUS); |
29 | 29 | ||
30 | DEFINE(UM_GFP_KERNEL, GFP_KERNEL); | ||
31 | DEFINE(UM_GFP_ATOMIC, GFP_ATOMIC); | ||
32 | |||
30 | /* For crypto assembler code. */ | 33 | /* For crypto assembler code. */ |
31 | DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); | 34 | DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); |
32 | 35 | ||
diff --git a/arch/um/include/um_malloc.h b/arch/um/include/um_malloc.h index e6d7c5aa3f4e..0ad17cb83d96 100644 --- a/arch/um/include/um_malloc.h +++ b/arch/um/include/um_malloc.h | |||
@@ -6,11 +6,17 @@ | |||
6 | #ifndef __UM_MALLOC_H__ | 6 | #ifndef __UM_MALLOC_H__ |
7 | #define __UM_MALLOC_H__ | 7 | #define __UM_MALLOC_H__ |
8 | 8 | ||
9 | extern void *um_kmalloc(int size); | 9 | #include "kern_constants.h" |
10 | extern void *um_kmalloc_atomic(int size); | 10 | |
11 | extern void *__kmalloc(int size, int flags); | ||
12 | static inline void *kmalloc(int size, int flags) | ||
13 | { | ||
14 | return __kmalloc(size, flags); | ||
15 | } | ||
16 | |||
11 | extern void kfree(const void *ptr); | 17 | extern void kfree(const void *ptr); |
12 | 18 | ||
13 | extern void *um_vmalloc(int size); | 19 | extern void *vmalloc(unsigned long size); |
14 | extern void vfree(void *ptr); | 20 | extern void vfree(void *ptr); |
15 | 21 | ||
16 | #endif /* __UM_MALLOC_H__ */ | 22 | #endif /* __UM_MALLOC_H__ */ |