diff options
Diffstat (limited to 'init/main.c')
| -rw-r--r-- | init/main.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/init/main.c b/init/main.c index b5cc0a7c4708..e60679de61c3 100644 --- a/init/main.c +++ b/init/main.c @@ -68,6 +68,7 @@  #include <linux/shmem_fs.h>  #include <linux/slab.h>  #include <linux/perf_event.h> +#include <linux/file.h>  #include <asm/io.h>  #include <asm/bugs.h> @@ -460,6 +461,10 @@ static void __init mm_init(void)  	percpu_init_late();  	pgtable_cache_init();  	vmalloc_init(); +#ifdef CONFIG_X86 +	if (efi_enabled) +		efi_enter_virtual_mode(); +#endif  }  asmlinkage void __init start_kernel(void) @@ -501,7 +506,7 @@ asmlinkage void __init start_kernel(void)  	setup_per_cpu_areas();  	smp_prepare_boot_cpu();	/* arch-specific boot-cpu hooks */ -	build_all_zonelists(NULL); +	build_all_zonelists(NULL, NULL);  	page_alloc_init();  	printk(KERN_NOTICE "Kernel command line: %s\n", boot_command_line); @@ -601,10 +606,6 @@ asmlinkage void __init start_kernel(void)  	calibrate_delay();  	pidmap_init();  	anon_vma_init(); -#ifdef CONFIG_X86 -	if (efi_enabled) -		efi_enter_virtual_mode(); -#endif  	thread_info_cache_init();  	cred_init();  	fork_init(totalram_pages); @@ -724,6 +725,7 @@ static initcall_t *initcall_levels[] __initdata = {  	__initcall_end,  }; +/* Keep these in sync with initcalls in include/linux/init.h */  static char *initcall_level_names[] __initdata = {  	"early",  	"core", @@ -804,8 +806,8 @@ static noinline int init_post(void)  	system_state = SYSTEM_RUNNING;  	numa_default_policy(); -  	current->signal->flags |= SIGNAL_UNKILLABLE; +	flush_delayed_fput();  	if (ramdisk_execute_command) {  		run_init_process(ramdisk_execute_command);  | 
