diff options
author | Tyler <tyler@agat.net> | 2006-07-10 07:45:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-10 16:24:23 -0400 |
commit | 598d188af1a0645dc75c9541eff0017a4f6d9987 (patch) | |
tree | ffbc9704b361ca01cf4a1817cc02b4b82e86f4ea /arch/um | |
parent | 5f49d7247828bd2d992cf9bd78e5e33a421fb0ba (diff) |
[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 <tyler@agat.net>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/include/skas/mode_kern_skas.h | 2 | ||||
-rw-r--r-- | arch/um/include/tt/mode_kern_tt.h | 2 | ||||
-rw-r--r-- | arch/um/kernel/skas/mem.c | 19 | ||||
-rw-r--r-- | arch/um/kernel/tt/mem.c | 17 | ||||
-rw-r--r-- | arch/um/kernel/um_arch.c | 2 |
5 files changed, 10 insertions, 32 deletions
diff --git a/arch/um/include/skas/mode_kern_skas.h b/arch/um/include/skas/mode_kern_skas.h index 63c58739bde0..651350adfe03 100644 --- a/arch/um/include/skas/mode_kern_skas.h +++ b/arch/um/include/skas/mode_kern_skas.h | |||
@@ -29,7 +29,7 @@ extern void flush_tlb_mm_skas(struct mm_struct *mm); | |||
29 | extern void force_flush_all_skas(void); | 29 | extern void force_flush_all_skas(void); |
30 | extern long execute_syscall_skas(void *r); | 30 | extern long execute_syscall_skas(void *r); |
31 | extern void before_mem_skas(unsigned long unused); | 31 | extern void before_mem_skas(unsigned long unused); |
32 | extern unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, | 32 | extern unsigned long set_task_sizes_skas(unsigned long *host_size_out, |
33 | unsigned long *task_size_out); | 33 | unsigned long *task_size_out); |
34 | extern int start_uml_skas(void); | 34 | extern int start_uml_skas(void); |
35 | extern int external_pid_skas(struct task_struct *task); | 35 | extern int external_pid_skas(struct task_struct *task); |
diff --git a/arch/um/include/tt/mode_kern_tt.h b/arch/um/include/tt/mode_kern_tt.h index efa0012550d0..fb2d3d76685a 100644 --- a/arch/um/include/tt/mode_kern_tt.h +++ b/arch/um/include/tt/mode_kern_tt.h | |||
@@ -30,7 +30,7 @@ extern void flush_tlb_mm_tt(struct mm_struct *mm); | |||
30 | extern void force_flush_all_tt(void); | 30 | extern void force_flush_all_tt(void); |
31 | extern long execute_syscall_tt(void *r); | 31 | extern long execute_syscall_tt(void *r); |
32 | extern void before_mem_tt(unsigned long brk_start); | 32 | extern void before_mem_tt(unsigned long brk_start); |
33 | extern unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, | 33 | extern unsigned long set_task_sizes_tt(unsigned long *host_size_out, |
34 | unsigned long *task_size_out); | 34 | unsigned long *task_size_out); |
35 | extern int start_uml_tt(void); | 35 | extern int start_uml_tt(void); |
36 | extern int external_pid_tt(struct task_struct *task); | 36 | extern int external_pid_tt(struct task_struct *task); |
diff --git a/arch/um/kernel/skas/mem.c b/arch/um/kernel/skas/mem.c index 88ab96c609ce..7e5b8f165cf2 100644 --- a/arch/um/kernel/skas/mem.c +++ b/arch/um/kernel/skas/mem.c | |||
@@ -9,14 +9,14 @@ | |||
9 | #include "mem_user.h" | 9 | #include "mem_user.h" |
10 | #include "skas.h" | 10 | #include "skas.h" |
11 | 11 | ||
12 | unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, | 12 | unsigned long set_task_sizes_skas(unsigned long *host_size_out, |
13 | unsigned long *task_size_out) | 13 | unsigned long *task_size_out) |
14 | { | 14 | { |
15 | /* Round up to the nearest 4M */ | 15 | /* Round up to the nearest 4M */ |
16 | unsigned long top = ROUND_4M((unsigned long) &arg); | 16 | unsigned long top = ROUND_4M((unsigned long) &host_size_out); |
17 | 17 | ||
18 | #ifdef CONFIG_HOST_TASK_SIZE | 18 | #ifdef CONFIG_HOST_TASK_SIZE |
19 | *host_size_out = CONFIG_HOST_TASK_SIZE; | 19 | *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE); |
20 | *task_size_out = CONFIG_HOST_TASK_SIZE; | 20 | *task_size_out = CONFIG_HOST_TASK_SIZE; |
21 | #else | 21 | #else |
22 | *host_size_out = top; | 22 | *host_size_out = top; |
@@ -24,16 +24,5 @@ unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, | |||
24 | *task_size_out = top; | 24 | *task_size_out = top; |
25 | else *task_size_out = CONFIG_STUB_START & PGDIR_MASK; | 25 | else *task_size_out = CONFIG_STUB_START & PGDIR_MASK; |
26 | #endif | 26 | #endif |
27 | return(((unsigned long) set_task_sizes_skas) & ~0xffffff); | 27 | return ((unsigned long) set_task_sizes_skas) & ~0xffffff; |
28 | } | 28 | } |
29 | |||
30 | /* | ||
31 | * Overrides for Emacs so that we follow Linus's tabbing style. | ||
32 | * Emacs will notice this stuff at the end of the file and automatically | ||
33 | * adjust the settings for this buffer only. This must remain at the end | ||
34 | * of the file. | ||
35 | * --------------------------------------------------------------------------- | ||
36 | * Local variables: | ||
37 | * c-file-style: "linux" | ||
38 | * End: | ||
39 | */ | ||
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) | |||
24 | #define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) | 24 | #define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) |
25 | #define START (CONFIG_TOP_ADDR - SIZE) | 25 | #define START (CONFIG_TOP_ADDR - SIZE) |
26 | 26 | ||
27 | unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, | 27 | unsigned long set_task_sizes_tt(unsigned long *host_size_out, |
28 | unsigned long *task_size_out) | 28 | unsigned long *task_size_out) |
29 | { | 29 | { |
30 | /* Round up to the nearest 4M */ | 30 | /* Round up to the nearest 4M */ |
31 | *host_size_out = ROUND_4M((unsigned long) &arg); | 31 | *host_size_out = ROUND_4M((unsigned long) &host_size_out); |
32 | *task_size_out = START; | 32 | *task_size_out = START; |
33 | return(START); | 33 | return START; |
34 | } | 34 | } |
35 | |||
36 | /* | ||
37 | * Overrides for Emacs so that we follow Linus's tabbing style. | ||
38 | * Emacs will notice this stuff at the end of the file and automatically | ||
39 | * adjust the settings for this buffer only. This must remain at the end | ||
40 | * of the file. | ||
41 | * --------------------------------------------------------------------------- | ||
42 | * Local variables: | ||
43 | * c-file-style: "linux" | ||
44 | * End: | ||
45 | */ | ||
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c index 37cfe7701f06..a50a0aac8faa 100644 --- a/arch/um/kernel/um_arch.c +++ b/arch/um/kernel/um_arch.c | |||
@@ -374,7 +374,7 @@ int linux_main(int argc, char **argv) | |||
374 | 374 | ||
375 | printf("UML running in %s mode\n", mode); | 375 | printf("UML running in %s mode\n", mode); |
376 | 376 | ||
377 | uml_start = CHOOSE_MODE_PROC(set_task_sizes_tt, set_task_sizes_skas, 0, | 377 | uml_start = CHOOSE_MODE_PROC(set_task_sizes_tt, set_task_sizes_skas, |
378 | &host_task_size, &task_size); | 378 | &host_task_size, &task_size); |
379 | 379 | ||
380 | /* | 380 | /* |