aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/um/kernel/initrd.c4
-rw-r--r--arch/um/kernel/um_arch.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/um/kernel/initrd.c b/arch/um/kernel/initrd.c
index 48bae81f8dca..6f6e7896e53f 100644
--- a/arch/um/kernel/initrd.c
+++ b/arch/um/kernel/initrd.c
@@ -14,7 +14,7 @@
14static char *initrd __initdata = NULL; 14static char *initrd __initdata = NULL;
15static int load_initrd(char *filename, void *buf, int size); 15static int load_initrd(char *filename, void *buf, int size);
16 16
17static int __init read_initrd(void) 17int __init read_initrd(void)
18{ 18{
19 void *area; 19 void *area;
20 long long size; 20 long long size;
@@ -46,8 +46,6 @@ static int __init read_initrd(void)
46 return 0; 46 return 0;
47} 47}
48 48
49__uml_postsetup(read_initrd);
50
51static int __init uml_initrd_setup(char *line, int *add) 49static int __init uml_initrd_setup(char *line, int *add)
52{ 50{
53 initrd = line; 51 initrd = line;
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c
index 4b85acd4020c..64a1fd06f3fd 100644
--- a/arch/um/kernel/um_arch.c
+++ b/arch/um/kernel/um_arch.c
@@ -338,11 +338,17 @@ int __init linux_main(int argc, char **argv)
338 return start_uml(); 338 return start_uml();
339} 339}
340 340
341int __init __weak read_initrd(void)
342{
343 return 0;
344}
345
341void __init setup_arch(char **cmdline_p) 346void __init setup_arch(char **cmdline_p)
342{ 347{
343 stack_protections((unsigned long) &init_thread_info); 348 stack_protections((unsigned long) &init_thread_info);
344 setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem); 349 setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem);
345 mem_total_pages(physmem_size, iomem_size, highmem); 350 mem_total_pages(physmem_size, iomem_size, highmem);
351 read_initrd();
346 352
347 paging_init(); 353 paging_init();
348 strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); 354 strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);