# # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # # Note: ISA is disabled and will hopefully never be enabled. # If you managed to buy an ISA x86-64 box you'll have to fix all the # ISA drivers you need yourself. # mainmenu "Linux Kernel Configuration" config X86_64 bool default y help Port to the x86-64 architecture. x86-64 is a 64-bit extension to the classical 32-bit x86 architecture. For details see http://www.x86-64.org config 64BIT def_bool y config X86 bool default y config MMU bool default y config ISA bool config SBUS bool config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config X86_CMPXCHG bool default y config EARLY_PRINTK bool default y help Write kernel log output directly into the VGA buffer. This is useful for kernel debugging when your machine crashes very early before the console code is initialized. For normal operation it is not recommended because it looks ugly and doesn't cooperate with klogd/syslogd or the X server. You should normally N here, unless you want to debug such a crash. config HPET_TIMER bool default y 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. The HPET provides a stable time base on SMP systems, unlike the RTC, but it is more expensive to access, as it is off-chip. You can find the HPET spec at . If unsure, say Y. config GENERIC_ISA_DMA bool default y source "init/Kconfig" menu "Processor type and features" choice prompt "Processor family" default MK8 config MK8 bool "AMD-Opteron/Athlon64" help Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs. config GENERIC_CPU bool "Generic-x86-64" help Generic x86-64 CPU. endchoice # # Define implied options from the CPU selection here # config X86_L1_CACHE_BYTES int default "64" config X86_L1_CACHE_SHIFT int default "6" config X86_TSC bool default y config X86_GOOD_APIC bool default y config X86_MSR tristate "/dev/cpu/*/msr - Model-specific register support" help This device gives privileged processes access to the x86 Model-Specific Registers (MSRs). It is a character device with major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. MSR accesses are directed to a specific CPU on multi-processor systems. config X86_CPUID tristate "/dev/cpu/*/cpuid - CPU information support" help This device gives processes access to the x86 CPUID instruction to be executed on a specific processor. It is a character device with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. config MATH_EMULATION bool config MCA bool config EISA bool config X86_IO_APIC bool default y config X86_LOCAL_APIC bool default y config MTRR bool "MTRR (Memory Type Range Register) support" ---help--- On Intel P6 family processors (Pentium Pro, Pentium II and later) the Memory Type Range Registers (MTRRs) may be used to control processor access to memory ranges. This is most useful if you have a video (VGA) card on a PCI or AGP bus. Enabling write-combining allows bus write transfers to be combined into a larger transfer before bursting over the PCI/AGP bus. This can increase performance of image write operations 2.5 times or more. Saying Y here creates a /proc/mtrr file which may be used to manipulate your processor's MTRRs. Typically the X server should use this. This code has a reasonably generic interface so that similar control registers on other processors can be easily supported as well. Saying Y here also fixes a problem with buggy SMP BIOSes which only set the MTRRs for the boot CPU and not for the secondary CPUs. This can lead to all sorts of problems, so it's good to say Y here. Just say Y here, all x86-64 machines support MTRRs. See for more information. 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. If you don't know what to do here, say N. config PREEMPT bool "Preemptible Kernel" ---help--- This option reduces the latency of the kernel when reacting to real-time or interactive events by allowing a low priority process to be preempted even if it is in kernel mode executing a system call. This allows applications to run more reliably even when the system is under load. On contrary it may also break your drivers and add priority inheritance problems to your system. Don't select it if you rely on a stable system or have slightly obscure hardware. It's also not very well tested on x86-64 currently. You have been warned. Say Y here if you are feeling brave and building a kernel for a desktop, embedded or real-time system. Say N if you are unsure. # someone write a better help text please. config K8_NUMA bool "K8 NUMA support" depends on SMP help Enable NUMA (Non Unified Memory Architecture) support for AMD Opteron Multiprocessor systems. The kernel will try to allocate memory used by a CPU on the local memory controller of the CPU and in the future do more optimizations. This may improve performance or it may not. Code is still experimental. Say N if unsure. config DISCONTIGMEM bool depends on K8_NUMA default y config NUMA bool depends on K8_NUMA default y config HAVE_DEC_LOCK bool depends on SMP default y # actually 64 maximum, but you need to fix the APIC code first # to use clustered mode or whatever your big iron needs config NR_CPUS int "Maximum number of CPUs (2-8)" depends on SMP default "8" help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU requires memory in the static kernel configuration. config GART_IOMMU bool "IOMMU support" help Support the K8 IOMMU. Needed to run systems with more than 4GB of memory properly with 32-bit PCI devices that do not support DAC (Double Address Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter. Normally the kernel will take the right choice by itself. If unsure say Y config DUMMY_IOMMU bool depends on !GART_IOMMU default y help Don't use IOMMU code. This will cause problems when you have more than 4GB of memory and any 32-bit devices. Don't turn on unless you know what you are doing. config X86_MCE bool default y endmenu menu "Power management options" config PM bool "Power Management support" ---help--- "Power Management" means that parts of your computer are shut off or put into a power conserving "sleep" mode if they are not being used. There are two competing standards for doing this: APM and ACPI. If you want to use either one, say Y here and then also to the requisite support below. Power Management is most important for battery powered laptop computers. Note that, even if you say N here, Linux on the x86 architecture will issue the hlt instruction if nothing is to be done, thereby sending the processor to limited sleep and saving power. However using ACPI will likely save more power. config SOFTWARE_SUSPEND bool "Software Suspend (EXPERIMENTAL)" depends on EXPERIMENTAL && PM && SWAP ---help--- Enable the possibilty of suspending the machine. It doesn't need APM. You may suspend your machine by 'swsusp' or 'shutdown -z