/* * linux/arch/x86-64/kernel/setup.c * * Copyright (C) 1995 Linus Torvalds * * Nov 2001 Dave Jones <davej@suse.de> * Forked from i386 setup code. *//* * This file handles the architecture-dependent parts of initialization */#include<linux/errno.h>#include<linux/sched.h>#include<linux/kernel.h>#include<linux/mm.h>#include<linux/stddef.h>#include<linux/unistd.h>#include<linux/ptrace.h>#include<linux/slab.h>#include<linux/user.h>#include<linux/a.out.h>#include<linux/tty.h>#include<linux/ioport.h>#include<linux/delay.h>#include<linux/init.h>#include<linux/initrd.h>#include<linux/highmem.h>#include<linux/bootmem.h>#include<linux/module.h>#include<asm/processor.h>#include<linux/console.h>#include<linux/seq_file.h>#include<linux/crash_dump.h>#include<linux/root_dev.h>#include<linux/pci.h>#include<linux/acpi.h>#include<linux/kallsyms.h>#include<linux/edd.h>#include<linux/mmzone.h>#include<linux/kexec.h>#include<linux/cpufreq.h>#include<linux/dmi.h>#include<linux/dma-mapping.h>#include<linux/ctype.h>#include<asm/mtrr.h>#include<asm/uaccess.h>#include<asm/system.h>#include<asm/io.h>#include<asm/smp.h>#include<asm/msr.h>#include<asm/desc.h>#include<video/edid.h>#include<asm/e820.h>#include<asm/dma.h>#include<asm/mpspec.h>#include<asm/mmu_context.h>#include<asm/bootsetup.h>#include<asm/proto.h>#include<asm/setup.h>#include<asm/mach_apic.h>#include<asm/numa.h>#include<asm/sections.h>#include<asm/dmi.h>/* * Machine setup.. */structcpuinfo_x86boot_cpu_data__read_mostly;EXPORT_SYMBOL(boot_cpu_data);unsignedlongmmu_cr4_features;intacpi_disabled;EXPORT_SYMBOL(acpi_disabled);#ifdef CONFIG_ACPIexternint__initdataacpi_ht;externacpi_interrupt_flagsacpi_sci_flags;int__initdataacpi_force=0;#endifintacpi_numa__initdata;/* Boot loader ID as an integer, for the benefit of proc_dointvec */intbootloader_type;unsignedlongsaved_video_mode;/* * Early DMI memory */intdmi_alloc_index;chardmi_alloc_data[DMI_MAX_DATA];/* * Setup options */struct