📄 kconfig
字号:
# x86 configurationmainmenu "Linux Kernel Configuration for x86"# Select 32 or 64 bitconfig 64BIT bool "64-bit kernel" if ARCH = "x86" default ARCH = "x86_64" help Say yes to build a 64-bit kernel - formerly known as x86_64 Say no to build a 32-bit kernel - formerly known as i386config X86_32 def_bool !64BITconfig X86_64 def_bool 64BIT### Arch settingsconfig X86 bool default yconfig GENERIC_TIME bool default yconfig GENERIC_CMOS_UPDATE bool default yconfig CLOCKSOURCE_WATCHDOG bool default yconfig GENERIC_CLOCKEVENTS bool default yconfig GENERIC_CLOCKEVENTS_BROADCAST bool default y depends on X86_64 || (X86_32 && X86_LOCAL_APIC)config LOCKDEP_SUPPORT bool default yconfig STACKTRACE_SUPPORT bool default yconfig SEMAPHORE_SLEEPERS bool default yconfig MMU bool default yconfig ZONE_DMA bool default yconfig QUICKLIST bool default X86_32config SBUS boolconfig GENERIC_ISA_DMA bool default yconfig GENERIC_IOMAP bool default yconfig GENERIC_BUG bool default y depends on BUGconfig GENERIC_HWEIGHT bool default yconfig ARCH_MAY_HAVE_PC_FDC bool default yconfig DMI bool default yconfig RWSEM_GENERIC_SPINLOCK def_bool !X86_XADDconfig RWSEM_XCHGADD_ALGORITHM def_bool X86_XADDconfig ARCH_HAS_ILOG2_U32 def_bool nconfig ARCH_HAS_ILOG2_U64 def_bool nconfig GENERIC_CALIBRATE_DELAY def_bool yconfig GENERIC_TIME_VSYSCALL bool default X86_64config ARCH_SUPPORTS_OPROFILE bool default yconfig ZONE_DMA32 bool default X86_64config ARCH_POPULATES_NODE_MAP def_bool yconfig AUDIT_ARCH bool default X86_64# Use the generic interrupt handling code in kernel/irq/:config GENERIC_HARDIRQS bool default yconfig GENERIC_IRQ_PROBE bool default yconfig GENERIC_PENDING_IRQ bool depends on GENERIC_HARDIRQS && SMP default yconfig X86_SMP bool depends on X86_32 && SMP && !X86_VOYAGER default yconfig X86_HT bool depends on SMP depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || (X86_64 && !MK8) default yconfig X86_BIOS_REBOOT bool depends on X86_32 && !(X86_VISWS || X86_VOYAGER) default yconfig X86_TRAMPOLINE bool depends on X86_SMP || (X86_VOYAGER && SMP) default yconfig KTIME_SCALAR def_bool X86_32source "init/Kconfig"menu "Processor type and features"source "kernel/time/Kconfig"config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. Note that if you say Y here and choose architecture "586" or "Pentium" under "Processor family", the kernel will not work on 486 architectures. Similarly, multiprocessor kernels for the "PPro" architecture may not work on all Pentium based boards. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also the <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>, <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at <http://www.tldp.org/docs.html#howto>. If you don't know what to do here, say N.choice prompt "Subarchitecture Type" default X86_PCconfig X86_PC bool "PC-compatible" help Choose this option if your computer is a standard PC or compatible.config X86_ELAN bool "AMD Elan" depends on X86_32 help Select this for an AMD Elan processor. Do not use this option for K6/Athlon/Opteron processors! If unsure, choose "PC-compatible" instead.config X86_VOYAGER bool "Voyager (NCR)" depends on X86_32 select SMP if !BROKEN help Voyager is an MCA-based 32-way capable SMP architecture proprietary to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based. *** WARNING *** If you do not specifically know you have a Voyager based machine, say N here, otherwise the kernel you build will not be bootable.config X86_NUMAQ bool "NUMAQ (IBM/Sequent)" select SMP select NUMA depends on X86_32 help This option is used for getting Linux to run on a (IBM/Sequent) NUMA multiquad box. This changes the way that processors are bootstrapped, and uses Clustered Logical APIC addressing mode instead of Flat Logical. You will need a new lynxer.elf file to flash your firmware with - send email to <Martin.Bligh@us.ibm.com>.config X86_SUMMIT bool "Summit/EXA (IBM x440)" depends on X86_32 && SMP help This option is needed for IBM systems that use the Summit/EXA chipset. In particular, it is needed for the x440. If you don't have one of these computers, you should say N here. If you want to build a NUMA kernel, you must select ACPI.config X86_BIGSMP bool "Support for other sub-arch SMP systems with more than 8 CPUs" depends on X86_32 && SMP help This option is needed for the systems that have more than 8 CPUs and if the system is not of any sub-arch type above. If you don't have such a system, you should say N here.config X86_VISWS bool "SGI 320/540 (Visual Workstation)" depends on X86_32 help The SGI Visual Workstation series is an IA32-based workstation based on SGI systems chips with some legacy PC hardware attached. Say Y here to create a kernel to run on the SGI 320 or 540. A kernel compiled for the Visual Workstation will not run on PCs and vice versa. See <file:Documentation/sgi-visws.txt> for details.config X86_GENERICARCH bool "Generic architecture (Summit, bigsmp, ES7000, default)" depends on X86_32 help This option compiles in the Summit, bigsmp, ES7000, default subarchitectures. It is intended for a generic binary kernel. If you want a NUMA kernel, select ACPI. We need SRAT for NUMA.config X86_ES7000 bool "Support for Unisys ES7000 IA32 series" depends on X86_32 && SMP help Support for Unisys ES7000 systems. Say 'Y' here if this kernel is supposed to run on an IA32-based Unisys ES7000 system. Only choose this option if you have such a system, otherwise you should say N here.config X86_VSMP bool "Support for ScaleMP vSMP" depends on X86_64 && PCI help Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is supposed to run on these EM64T-based machines. Only choose this option if you have one of these machines.endchoiceconfig SCHED_NO_NO_OMIT_FRAME_POINTER bool "Single-depth WCHAN output" default y depends on X86_32 help Calculate simpler /proc/<PID>/wchan values. If this option is disabled then wchan values will recurse back to the caller function. This provides more accurate wchan values, at the expense of slightly more scheduling overhead. If in doubt, say "Y".config PARAVIRT bool depends on X86_32 && !(X86_VISWS || X86_VOYAGER) help This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly over full virtualization. However, when run without a hypervisor the kernel is theoretically slower and slightly larger.menuconfig PARAVIRT_GUEST bool "Paravirtualized guest support" depends on X86_32 help Say Y here to get to see options related to running Linux under various hypervisors. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled.if PARAVIRT_GUESTsource "arch/x86/xen/Kconfig"config VMI bool "VMI Guest support" select PARAVIRT depends on !(X86_VISWS || X86_VOYAGER) help VMI provides a paravirtualized interface to the VMware ESX server (it could be used by other hypervisors in theory too, but is not at the moment), by linking the kernel to a GPL-ed ROM module provided by the hypervisor.source "arch/x86/lguest/Kconfig"endifconfig ACPI_SRAT bool default y depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) select ACPI_NUMAconfig HAVE_ARCH_PARSE_SRAT bool default y depends on ACPI_SRATconfig X86_SUMMIT_NUMA bool default y depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH)config X86_CYCLONE_TIMER bool default y depends on X86_32 && X86_SUMMIT || X86_GENERICARCHconfig ES7000_CLUSTERED_APIC bool default y depends on SMP && X86_ES7000 && MPENTIUMIIIsource "arch/x86/Kconfig.cpu"config HPET_TIMER bool prompt "HPET Timer Support" if X86_32 default X86_64 help Use the IA-PC HPET (High Precision Event Timer) to manage time in preference to the PIT and RTC, if a HPET is present. HPET is the next generation timer replacing legacy 8254s. The HPET provides a stable time base on SMP systems, unlike the TSC, but it is more expensive to access, as it is off-chip. You can find the HPET spec at <http://www.intel.com/hardwaredesign/hpetspec.htm>. You can safely choose Y here. However, HPET will only be activated if the platform and the BIOS support this feature. Otherwise the 8254 will be used for timing services. Choose N to continue using the legacy 8254 timer.config HPET_EMULATE_RTC bool depends on HPET_TIMER && RTC=y default y# Mark as embedded because too many people got it wrong.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -