From 598d188af1a0645dc75c9541eff0017a4f6d9987 Mon Sep 17 00:00:00 2001 From: Tyler Date: Mon, 10 Jul 2006 04:45:03 -0700 Subject: [PATCH] uml: clean up address space limits code I was looking at the code of the UML and more precisely at the functions set_task_sizes_tt and set_task_sizes_skas. I noticed that these 2 functions take a paramater (arg) which is not used : the function is always called with the value 0. I suppose that this value might change in the future (or even can be configured), so I added a constant in mem_user.h file. Also, I rounded CONFIG_HOST_TASk_SIZE to a 4M. Signed-off-by: Tyler Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/kernel/tt/mem.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'arch/um/kernel/tt/mem.c') diff --git a/arch/um/kernel/tt/mem.c b/arch/um/kernel/tt/mem.c index bcb8796c3cb1..4ae8c5c1e3b3 100644 --- a/arch/um/kernel/tt/mem.c +++ b/arch/um/kernel/tt/mem.c @@ -24,22 +24,11 @@ void before_mem_tt(unsigned long brk_start) #define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) #define START (CONFIG_TOP_ADDR - SIZE) -unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, +unsigned long set_task_sizes_tt(unsigned long *host_size_out, unsigned long *task_size_out) { /* Round up to the nearest 4M */ - *host_size_out = ROUND_4M((unsigned long) &arg); + *host_size_out = ROUND_4M((unsigned long) &host_size_out); *task_size_out = START; - return(START); + return START; } - -/* - * Overrides for Emacs so that we follow Linus's tabbing style. - * Emacs will notice this stuff at the end of the file and automatically - * adjust the settings for this buffer only. This must remain at the end - * of the file. - * --------------------------------------------------------------------------- - * Local variables: - * c-file-style: "linux" - * End: - */ -- cgit v1.2.3 From 23bbd586ed7894982fd9323f63b2065afbb77773 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Mon, 10 Jul 2006 04:45:06 -0700 Subject: [PATCH] uml: fix static binary segfault When UML is built as a static binary, it segfaults when run. The reason is that a memory hole that is present in dynamic binaries isn't there in static binaries, and it contains essential stuff. This fix removes the code which maps some anonymous memory into that hole and cleans up some related code. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/kernel/tt/mem.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'arch/um/kernel/tt/mem.c') diff --git a/arch/um/kernel/tt/mem.c b/arch/um/kernel/tt/mem.c index 4ae8c5c1e3b3..84a23b14f770 100644 --- a/arch/um/kernel/tt/mem.c +++ b/arch/um/kernel/tt/mem.c @@ -24,11 +24,13 @@ void before_mem_tt(unsigned long brk_start) #define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) #define START (CONFIG_TOP_ADDR - SIZE) -unsigned long set_task_sizes_tt(unsigned long *host_size_out, - unsigned long *task_size_out) +unsigned long set_task_sizes_tt(unsigned long *task_size_out) { + unsigned long host_task_size; + /* Round up to the nearest 4M */ - *host_size_out = ROUND_4M((unsigned long) &host_size_out); + host_task_size = ROUND_4M((unsigned long) &host_task_size); *task_size_out = START; - return START; + + return host_task_size; } -- cgit v1.2.3