diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 32bd87cbf982..4be9b398470e 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -619,28 +619,6 @@ void __init reserve_standard_io_resources(void) | |||
619 | 619 | ||
620 | } | 620 | } |
621 | 621 | ||
622 | /* | ||
623 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
624 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
625 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
626 | */ | ||
627 | |||
628 | #ifdef CONFIG_CRASH_DUMP | ||
629 | /* elfcorehdr= specifies the location of elf core header | ||
630 | * stored by the crashed kernel. This option will be passed | ||
631 | * by kexec loader to the capture kernel. | ||
632 | */ | ||
633 | static int __init setup_elfcorehdr(char *arg) | ||
634 | { | ||
635 | char *end; | ||
636 | if (!arg) | ||
637 | return -EINVAL; | ||
638 | elfcorehdr_addr = memparse(arg, &end); | ||
639 | return end > arg ? 0 : -EINVAL; | ||
640 | } | ||
641 | early_param("elfcorehdr", setup_elfcorehdr); | ||
642 | #endif | ||
643 | |||
644 | static __init void reserve_ibft_region(void) | 622 | static __init void reserve_ibft_region(void) |
645 | { | 623 | { |
646 | unsigned long addr, size = 0; | 624 | unsigned long addr, size = 0; |
@@ -998,6 +976,11 @@ void __init setup_arch(char **cmdline_p) | |||
998 | paging_init(); | 976 | paging_init(); |
999 | x86_init.paging.pagetable_setup_done(swapper_pg_dir); | 977 | x86_init.paging.pagetable_setup_done(swapper_pg_dir); |
1000 | 978 | ||
979 | if (boot_cpu_data.cpuid_level >= 0) { | ||
980 | /* A CPU has %cr4 if and only if it has CPUID */ | ||
981 | mmu_cr4_features = read_cr4(); | ||
982 | } | ||
983 | |||
1001 | #ifdef CONFIG_X86_32 | 984 | #ifdef CONFIG_X86_32 |
1002 | /* sync back kernel address range */ | 985 | /* sync back kernel address range */ |
1003 | clone_pgd_range(initial_page_table + KERNEL_PGD_BOUNDARY, | 986 | clone_pgd_range(initial_page_table + KERNEL_PGD_BOUNDARY, |