Hi,

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.

-- 
tyler
[EMAIL PROTECTED]
diff -uprN -X linux-2.6/Documentation/dontdiff 
linux-2.6/arch/um/include/mem_user.h linux-2.6-mine/arch/um/include/mem_user.h
--- linux-2.6/arch/um/include/mem_user.h        2006-05-16 19:05:32.000000000 
+0200
+++ linux-2.6-mine/arch/um/include/mem_user.h   2006-05-22 23:17:02.000000000 
+0200
@@ -44,6 +44,7 @@ struct iomem_region {
 extern struct iomem_region *iomem_regions;
 extern int iomem_size;
 
+#define DEFAULT_HOST_TASK_SIZE                 0
 #define ROUND_4M(n) ((((unsigned long) (n)) + (1 << 22)) & ~((1 << 22) - 1))
 
 extern unsigned long host_task_size;
diff -uprN -X linux-2.6/Documentation/dontdiff 
linux-2.6/arch/um/kernel/skas/mem.c linux-2.6-mine/arch/um/kernel/skas/mem.c
--- linux-2.6/arch/um/kernel/skas/mem.c 2006-05-16 19:05:32.000000000 +0200
+++ linux-2.6-mine/arch/um/kernel/skas/mem.c    2006-05-22 23:16:37.000000000 
+0200
@@ -9,14 +9,14 @@
 #include "mem_user.h"
 #include "skas.h"
 
-unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, 
+unsigned long set_task_sizes_skas(unsigned long *host_size_out, 
                                  unsigned long *task_size_out)
 {
        /* Round up to the nearest 4M */
-       unsigned long top = ROUND_4M((unsigned long) &arg);
+       unsigned long top = ROUND_4M(DEFAULT_HOST_TASK_SIZE);
 
 #ifdef CONFIG_HOST_TASK_SIZE
-       *host_size_out = CONFIG_HOST_TASK_SIZE;
+       *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE);
        *task_size_out = CONFIG_HOST_TASK_SIZE;
 #else
        *host_size_out = top;
diff -uprN -X linux-2.6/Documentation/dontdiff 
linux-2.6/arch/um/kernel/tt/mem.c linux-2.6-mine/arch/um/kernel/tt/mem.c
--- linux-2.6/arch/um/kernel/tt/mem.c   2006-05-16 19:05:32.000000000 +0200
+++ linux-2.6-mine/arch/um/kernel/tt/mem.c      2006-05-22 23:16:11.000000000 
+0200
@@ -24,11 +24,11 @@ void before_mem_tt(unsigned long brk_sta
 #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(DEFAULT_HOST_TASK_SIZE);
        *task_size_out = START;
        return(START);
 }
diff -uprN -X linux-2.6/Documentation/dontdiff 
linux-2.6/arch/um/kernel/um_arch.c linux-2.6-mine/arch/um/kernel/um_arch.c
--- linux-2.6/arch/um/kernel/um_arch.c  2006-05-16 19:05:32.000000000 +0200
+++ linux-2.6-mine/arch/um/kernel/um_arch.c     2006-05-22 23:17:46.000000000 
+0200
@@ -374,7 +374,7 @@ int linux_main(int argc, char **argv)
 
        printf("UML running in %s mode\n", mode);
 
-       uml_start = CHOOSE_MODE_PROC(set_task_sizes_tt, set_task_sizes_skas, 0,
+       uml_start = CHOOSE_MODE_PROC(set_task_sizes_tt, set_task_sizes_skas,
                                     &host_task_size, &task_size);
 
        /*

Reply via email to