aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r--arch/x86/kernel/setup.c27
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 */
633static 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}
641early_param("elfcorehdr", setup_elfcorehdr);
642#endif
643
644static __init void reserve_ibft_region(void) 622static __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,