diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 2f31cddd27b..141efab5240 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -448,7 +448,7 @@ static void __init reserve_early_setup_data(void) | |||
448 | * @size: Size of the crashkernel memory to reserve. | 448 | * @size: Size of the crashkernel memory to reserve. |
449 | * Returns the base address on success, and -1ULL on failure. | 449 | * Returns the base address on success, and -1ULL on failure. |
450 | */ | 450 | */ |
451 | unsigned long long find_and_reserve_crashkernel(unsigned long long size) | 451 | unsigned long long __init find_and_reserve_crashkernel(unsigned long long size) |
452 | { | 452 | { |
453 | const unsigned long long alignment = 16<<20; /* 16M */ | 453 | const unsigned long long alignment = 16<<20; /* 16M */ |
454 | unsigned long long start = 0LL; | 454 | unsigned long long start = 0LL; |
@@ -607,14 +607,6 @@ void __init setup_arch(char **cmdline_p) | |||
607 | early_cpu_init(); | 607 | early_cpu_init(); |
608 | early_ioremap_init(); | 608 | early_ioremap_init(); |
609 | 609 | ||
610 | #if defined(CONFIG_VMI) && defined(CONFIG_X86_32) | ||
611 | /* | ||
612 | * Must be before kernel pagetables are setup | ||
613 | * or fixmap area is touched. | ||
614 | */ | ||
615 | vmi_init(); | ||
616 | #endif | ||
617 | |||
618 | ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev); | 610 | ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev); |
619 | screen_info = boot_params.screen_info; | 611 | screen_info = boot_params.screen_info; |
620 | edid_info = boot_params.edid_info; | 612 | edid_info = boot_params.edid_info; |
@@ -694,6 +686,18 @@ void __init setup_arch(char **cmdline_p) | |||
694 | 686 | ||
695 | parse_early_param(); | 687 | parse_early_param(); |
696 | 688 | ||
689 | #ifdef CONFIG_X86_64 | ||
690 | check_efer(); | ||
691 | #endif | ||
692 | |||
693 | #if defined(CONFIG_VMI) && defined(CONFIG_X86_32) | ||
694 | /* | ||
695 | * Must be before kernel pagetables are setup | ||
696 | * or fixmap area is touched. | ||
697 | */ | ||
698 | vmi_init(); | ||
699 | #endif | ||
700 | |||
697 | /* after early param, so could get panic from serial */ | 701 | /* after early param, so could get panic from serial */ |
698 | reserve_early_setup_data(); | 702 | reserve_early_setup_data(); |
699 | 703 | ||
@@ -754,7 +758,6 @@ void __init setup_arch(char **cmdline_p) | |||
754 | #else | 758 | #else |
755 | num_physpages = max_pfn; | 759 | num_physpages = max_pfn; |
756 | 760 | ||
757 | check_efer(); | ||
758 | 761 | ||
759 | /* How many end-of-memory variables you have, grandma! */ | 762 | /* How many end-of-memory variables you have, grandma! */ |
760 | /* need this before calling reserve_initrd */ | 763 | /* need this before calling reserve_initrd */ |