diff options
author | Jeff Dike <jdike@addtoit.com> | 2008-02-04 22:31:00 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 09:44:29 -0800 |
commit | 42a2b54ce8c7b9d4f418995a7950e7e2e15e52ce (patch) | |
tree | 30bcb0ea0a4ee6d5091b1b9a85589cff8b1863fc /include/asm-um | |
parent | b7c000cbc4f1fa7b82efa95b34f00c2adbeaa3fe (diff) | |
download | op-kernel-dev-42a2b54ce8c7b9d4f418995a7950e7e2e15e52ce.zip op-kernel-dev-42a2b54ce8c7b9d4f418995a7950e7e2e15e52ce.tar.gz |
uml: clean up TASK_SIZE usage
Clean up the calculation and use of the usable address space size on the host.
task_size is gone, replaced with TASK_SIZE, which is calculated from
CONFIG_TOP_ADDR. get_kmem_end and set_task_sizes_skas are also gone.
host_task_size, which refers to the entire address space usable by the UML
kernel and which may be larger than the address space usable by a UML process,
since that has to end on a pgdir boundary, is replaced by CONFIG_TOP_ADDR.
STACK_TOP is now TASK_SIZE minus the two stub pages.
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 'include/asm-um')
-rw-r--r-- | include/asm-um/a.out.h | 4 | ||||
-rw-r--r-- | include/asm-um/fixmap.h | 3 | ||||
-rw-r--r-- | include/asm-um/processor-generic.h | 4 |
3 files changed, 3 insertions, 8 deletions
diff --git a/include/asm-um/a.out.h b/include/asm-um/a.out.h index 9281dd8..f42ff145 100644 --- a/include/asm-um/a.out.h +++ b/include/asm-um/a.out.h @@ -13,11 +13,9 @@ extern unsigned long stacksizelim; -extern unsigned long host_task_size; - #define STACK_ROOM (stacksizelim) -#define STACK_TOP task_size +#define STACK_TOP (TASK_SIZE - 2 * PAGE_SIZE) #define STACK_TOP_MAX STACK_TOP diff --git a/include/asm-um/fixmap.h b/include/asm-um/fixmap.h index 3d3e85d..89a87c1 100644 --- a/include/asm-um/fixmap.h +++ b/include/asm-um/fixmap.h @@ -56,9 +56,8 @@ extern void __set_fixmap (enum fixed_addresses idx, * the start of the fixmap, and leave one page empty * at the top of mem.. */ -extern unsigned long get_kmem_end(void); -#define FIXADDR_TOP (get_kmem_end() - 0x2000) +#define FIXADDR_TOP (CONFIG_TOP_ADDR - 2 * PAGE_SIZE) #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) diff --git a/include/asm-um/processor-generic.h b/include/asm-um/processor-generic.h index 35ab6a2..ecf6706 100644 --- a/include/asm-um/processor-generic.h +++ b/include/asm-um/processor-generic.h @@ -94,9 +94,7 @@ static inline void mm_copy_segments(struct mm_struct *from_mm, /* * User space process size: 3GB (default). */ -extern unsigned long task_size; - -#define TASK_SIZE (task_size) +#define TASK_SIZE (CONFIG_TOP_ADDR & PGDIR_MASK) /* This decides where the kernel will search for a free chunk of vm * space during mmap's. |