/* * Copyright (C) 1995 Linus Torvalds * * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 * * Memory region support * David Parsons <orc@pell.chi.il.us>, July-August 1999 * * Added E820 sanitization routine (removes overlapping memory regions); * Brian Moyle <bmoyle@mvista.com>, February 2001 * * Moved CPU detection code to cpu/${cpu}.c * Patrick Mochel <mochel@osdl.org>, March 2002 * * Provisions for empty E820 memory regions (reported by certain BIOSes). * Alex Achenbach <xela@slit.de>, December 2002. * *//* * This file handles the architecture-dependent parts of initialization */#include<linux/sched.h>#include<linux/mm.h>#include<linux/mmzone.h>#include<linux/screen_info.h>#include<linux/ioport.h>#include<linux/acpi.h>#include<linux/sfi.h>#include<linux/apm_bios.h>#include<linux/initrd.h>#include<linux/bootmem.h>#include<linux/memblock.h>#include<linux/seq_file.h>#include<linux/console.h>#include<linux/root_dev.h>#include<linux/highmem.h>#include<linux/export.h>#include<linux/efi.h>#include<linux/init.h>#include<linux/edd.h>#include<linux/iscsi_ibft.h>#include<linux/nodemask.h>#include<linux/kexec.h>#include<linux/dmi.h>#include<linux/pfn.h>#include<linux/pci.h>#include<asm/pci-direct.h>#include<linux/init_ohci1394_dma.h>#include<linux/kvm_para.h>#include<linux/dma-contiguous.h>#include<linux/errno.h>#include<linux/kernel.h>#include<linux/stddef.h>#include<linux/unistd.h>#include<linux/ptrace.h>#include<linux/user.h>#include<linux/delay.h>#include<linux/kallsyms.h>#include<linux/cpufreq.h>#include<linux/dma-mapping.h>#include<linux/ctype.h>#include<linux/uaccess.h>#include<linux/percpu.h>#include<linux/crash_dump.h>#include<linux/tboot.h>#include<linux/jiffies.h>#include<linux/mem_encrypt.h>#include<linux/usb/xhci-dbgp.h>#include<video/edid.h>#include<asm/mtrr.h>#include<asm/apic.h>#include<asm/realmode.h>#include<asm/e820/api.h>#include<asm/mpspec.h>#include<asm/setup.h>#include<asm/efi.h>#include<asm/timer.h>#include<asm/i8259.h>#include<asm/sections.h>#include<asm/io_apic.h>#include<asm/ist.h>#include<asm/setup_arch.h>#include<asm/bios_ebda.h>#include<asm/cacheflush.h>#include<asm/processor.h>#include<asm/bugs.h>#include<asm/kasan.h>#include<asm/vsyscall.h>#include<asm/cpu.h>#include<asm/desc.h>#include<asm/dma.h>#include<asm/iommu.h>#include<asm/gart.h>#include<asm/mmu_context.h>#include<asm/proto.h>#include<asm/paravirt.h>#include<asm/hypervisor.h>#include<asm/olpc_ofw.h>#include<asm/percpu.h>#include<asm/topology.h>#include<asm/apicdef.h>#include<asm/amd_nb.h>#include<asm/mce.h>#include<asm/alternative.h>#include<asm/prom.h>#include<asm/microcode.h>#include<asm/mmu_context.h>#include<asm/kasl