X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2FKconfig;fp=arch%2Fi386%2FKconfig;h=20d835e0d1d5cbd8379374b9c9369ddeb74e9549;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=9c714ef0b05bd564061cbf8b5fc5b40f7a739b52;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 9c714ef0b..20d835e0d 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -14,19 +14,6 @@ config X86_32 486, 586, Pentiums, and various instruction-set-compatible chips by AMD, Cyrix, and others. -config GENERIC_TIME - bool - depends on !X86_XEN - default y - -config LOCKDEP_SUPPORT - bool - default y - -config STACKTRACE_SUPPORT - bool - default y - config SEMAPHORE_SLEEPERS bool default y @@ -50,10 +37,6 @@ config GENERIC_IOMAP bool default y -config GENERIC_HWEIGHT - bool - default y - config ARCH_MAY_HAVE_PC_FDC bool default y @@ -66,35 +49,6 @@ source "init/Kconfig" menu "Processor type and features" -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 , - , - and the SMP-HOWTO available at - . - - If you don't know what to do here, say N. - choice prompt "Subarchitecture Type" default X86_PC @@ -104,15 +58,6 @@ config X86_PC help Choose this option if your computer is a standard PC or compatible. -config X86_XEN - bool "Xen-compatible" - select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST - select X86_UP_IOAPIC if !SMP && XEN_PRIVILEGED_GUEST - select SWIOTLB - help - Choose this option if you plan to run this kernel on top of the - Xen Hypervisor. - config X86_ELAN bool "AMD Elan" help @@ -135,7 +80,6 @@ config X86_VOYAGER config X86_NUMAQ bool "NUMAQ (IBM/Sequent)" - select SMP select NUMA help This option is used for getting Linux to run on a (IBM/Sequent) NUMA @@ -152,7 +96,6 @@ config X86_SUMMIT 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" @@ -180,7 +123,6 @@ config X86_GENERICARCH 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" @@ -196,13 +138,7 @@ endchoice config ACPI_SRAT bool default y - depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) - select ACPI_NUMA - -config HAVE_ARCH_PARSE_SRAT - bool - default y - depends on ACPI_SRAT + depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) config X86_SUMMIT_NUMA bool @@ -223,7 +159,6 @@ source "arch/i386/Kconfig.cpu" config HPET_TIMER bool "HPET Timer Support" - depends on !X86_XEN help This enables the use of the HPET for the kernel's internal timer. HPET is the next generation timer replacing legacy 8254s. @@ -238,6 +173,35 @@ config HPET_EMULATE_RTC depends on HPET_TIMER && RTC=y default y +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 , + , + and the SMP-HOWTO available at + . + + If you don't know what to do here, say N. + config NR_CPUS int "Maximum number of CPUs (2-255)" range 2 255 @@ -254,27 +218,19 @@ config NR_CPUS config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" - depends on X86_HT + depends on SMP + default off help SMT scheduler support improves the CPU scheduler's decision making when dealing with Intel Pentium 4 chips with HyperThreading at a cost of slightly increased overhead in some places. If unsure say N here. -config SCHED_MC - bool "Multi-core scheduler support" - depends on X86_HT - default y - help - Multi-core scheduler support improves the CPU scheduler's decision - making when dealing with multi-core CPU chips at a cost of slightly - increased overhead in some places. If unsure say N here. - source "kernel/Kconfig.preempt" config X86_UP_APIC bool "Local APIC support on uniprocessors" - depends on !SMP && !(X86_VISWS || X86_VOYAGER || XEN_UNPRIVILEGED_GUEST) + depends on !SMP && !(X86_VISWS || X86_VOYAGER) help A local APIC (Advanced Programmable Interrupt Controller) is an integrated interrupt controller in the CPU. If you have a single-CPU @@ -299,12 +255,12 @@ config X86_UP_IOAPIC config X86_LOCAL_APIC bool - depends on X86_UP_APIC || ((X86_VISWS || SMP) && !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)) + depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) default y config X86_IO_APIC bool - depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)) + depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) default y config X86_VISWS_APIC @@ -314,7 +270,7 @@ config X86_VISWS_APIC config X86_MCE bool "Machine Check Exception" - depends on !(X86_VOYAGER || X86_XEN) + depends on !X86_VOYAGER ---help--- Machine Check Exception support allows the processor to notify the kernel if it detects a problem (e.g. overheating, component failure). @@ -349,15 +305,6 @@ config X86_MCE_P4THERMAL Enabling this feature will cause a message to be printed when the P4 enters thermal throttling. -config VM86 - default y - bool "Enable VM86 support" if EMBEDDED - help - This option is required by programs like DOSEMU to run 16-bit legacy - code on X86 processors. It also may be needed by software like - XFree86 to initialize some video cards via BIOS. Disabling this - option saves about 6k. - config TOSHIBA tristate "Toshiba Laptop support" ---help--- @@ -413,7 +360,6 @@ config X86_REBOOTFIXUPS config MICROCODE tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" - depends on !XEN_UNPRIVILEGED_GUEST ---help--- If you say Y here and also to "/dev file system support" in the 'File systems' section, you will be able to update the microcode on @@ -431,7 +377,6 @@ config MICROCODE config X86_MSR tristate "/dev/cpu/*/msr - Model-specific register support" - depends on !X86_XEN help This device gives privileged processes access to the x86 Model-Specific Registers (MSRs). It is a character device with @@ -447,10 +392,6 @@ config X86_CPUID with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. -config SWIOTLB - bool - default n - source "drivers/firmware/Kconfig" choice @@ -459,7 +400,6 @@ choice config NOHIGHMEM bool "off" - depends on !X86_NUMAQ ---help--- Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 @@ -496,7 +436,6 @@ config NOHIGHMEM config HIGHMEM4G bool "4GB" - depends on !X86_NUMAQ help Select this if you have a 32-bit processor and between 1 and 4 gigabytes of physical RAM. @@ -512,7 +451,7 @@ endchoice choice depends on EXPERIMENTAL && !X86_PAE - prompt "Memory split" if EMBEDDED + prompt "Memory split" default VMSPLIT_3G help Select the desired split between kernel and user memory. @@ -527,23 +466,43 @@ choice will also likely make your kernel incompatible with binary-only kernel modules. - If you are not absolutely sure what you are doing, leave this - option alone! - config VMSPLIT_3G - bool "3G/1G user/kernel split" - config VMSPLIT_3G_OPT - bool "3G/1G user/kernel split (for full 1G low memory)" + bool "3G/1G user/kernel split (Default)" + help + This is the default split of 3GB userspace to 1GB kernel + space, which will result in about 860MB of lowmem. + + config VMSPLIT_25G + bool "2.5G/1.5G user/kernel split" + help + This split provides 2.5GB userspace and 1.5GB kernel + space, which will result in about 1370MB of lowmem. + config VMSPLIT_2G bool "2G/2G user/kernel split" + help + This split provides 2GB userspace and 2GB kernel + space, which will result in about 1880MB of lowmem. + + config VMSPLIT_15G + bool "1.5G/2.5G user/kernel split" + help + This split provides 1.5GB userspace and 2.5GB kernel + space, which will result in about 2390MB of lowmem. + config VMSPLIT_1G bool "1G/3G user/kernel split" + help + This split provides 1GB userspace and 3GB kernel + space, which will result in about 2900MB of lowmem. + endchoice config PAGE_OFFSET hex - default 0xB0000000 if VMSPLIT_3G_OPT - default 0x78000000 if VMSPLIT_2G + default 0xA0000000 if VMSPLIT_25G + default 0x80000000 if VMSPLIT_2G + default 0x60000000 if VMSPLIT_15G default 0x40000000 if VMSPLIT_1G default 0xC0000000 @@ -556,24 +515,21 @@ config X86_PAE bool depends on HIGHMEM64G default y - select RESOURCES_64BIT # Common NUMA Features config NUMA bool "Numa Memory Allocation and Scheduler Support" - depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) + depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI)) default n if X86_PC default y if (X86_NUMAQ || X86_SUMMIT) +# Need comments to help the hapless user trying to turn on NUMA support +comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support" + depends on X86_NUMAQ && (!HIGHMEM64G || !SMP) + comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI) -config NODES_SHIFT - int - default "4" if X86_NUMAQ - default "3" - depends on NEED_MULTIPLE_NODES - config HAVE_ARCH_BOOTMEM_NODE bool depends on NUMA @@ -624,7 +580,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID config HIGHPTE bool "Allocate 3rd-level pagetables from highmem" - depends on (HIGHMEM4G || HIGHMEM64G) && !X86_XEN + depends on HIGHMEM4G || HIGHMEM64G help The VM uses one page table entry for each page of physical memory. For systems with a lot of RAM, this can be wasteful of precious @@ -633,7 +589,6 @@ config HIGHPTE config MATH_EMULATION bool "Math emulation" - depends on !X86_XEN ---help--- Linux can emulate a math coprocessor (used for floating point operations) if you don't have one. 486DX and Pentium processors have @@ -659,8 +614,6 @@ config MATH_EMULATION config MTRR bool "MTRR (Memory Type Range Register) support" - depends on !XEN_UNPRIVILEGED_GUEST - default y if X86_XEN ---help--- On Intel P6 family processors (Pentium Pro, Pentium II and later) the Memory Type Range Registers (MTRRs) may be used to control @@ -694,8 +647,8 @@ config MTRR See for more information. config EFI - bool "Boot from EFI support" - depends on ACPI && !X86_XEN + bool "Boot from EFI support (EXPERIMENTAL)" + depends on ACPI default n ---help--- This enables the the kernel to boot on EFI platforms using @@ -713,7 +666,7 @@ config EFI config IRQBALANCE bool "Enable kernel irq balancing" - depends on SMP && X86_IO_APIC && !X86_XEN + depends on SMP && X86_IO_APIC default y help The default yes will allow the kernel to do irq load balancing. @@ -727,18 +680,13 @@ config BOOT_IOREMAP default y config REGPARM - bool "Use register arguments" - default y + bool "Use register arguments (EXPERIMENTAL)" + depends on EXPERIMENTAL + default n help - Compile the kernel with -mregparm=3. This instructs gcc to use - a more efficient function call ABI which passes the first three - arguments of a function call via registers, which results in denser - and faster code. - - If this option is disabled, then the default ABI of passing - arguments via the stack is used. - - If unsure, say Y. + Compile the kernel with -mregparm=3. This uses a different ABI + and passes the first three arguments of a function call in registers. + This will probably break binary only modules. config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" @@ -761,14 +709,14 @@ source kernel/Kconfig.hz config KEXEC bool "kexec system call (EXPERIMENTAL)" - depends on EXPERIMENTAL && !X86_XEN + depends on EXPERIMENTAL help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot - but it is independent of the system firmware. And like a reboot + but it is indepedent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. - The name comes from the similarity to the exec system call. + The name comes from the similiarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not @@ -784,7 +732,7 @@ config CRASH_DUMP Generate crash dump after being started by kexec. config PHYSICAL_START - hex "Physical address where the kernel is loaded" + hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) default "0x1000000" if CRASH_DUMP default "0x100000" @@ -807,22 +755,19 @@ config HOTPLUG_CPU bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER ---help--- - Say Y here to experiment with turning CPUs off and on, and to - enable suspend on SMP systems. CPUs can be controlled through - /sys/devices/system/cpu. + Say Y here to experiment with turning CPUs off and on. CPUs + can be controlled through /sys/devices/system/cpu. -config COMPAT_VDSO - bool "Compat VDSO support" + Say N. + +config DOUBLEFAULT default y - depends on !X86_XEN + bool "Enable doublefault exception handler" if EMBEDDED help - Map the VDSO to the predictable old-style address too. - ---help--- - Say N here if you are running a sufficiently recent glibc - version (2.3.3 or later), to remove the high-mapped - VDSO mapping and to exclusively use the randomized VDSO. - - If unsure, say Y. + This option allows trapping of rare doublefault exceptions that + would otherwise cause a system to silently reboot. Disabling this + option saves about 4k and might cause you much additional grey + hair. endmenu @@ -831,20 +776,18 @@ config ARCH_ENABLE_MEMORY_HOTPLUG depends on HIGHMEM menu "Power management options (ACPI, APM)" - depends on !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST) + depends on !X86_VOYAGER -if !X86_XEN source kernel/power/Kconfig -endif source "drivers/acpi/Kconfig" menu "APM (Advanced Power Management) BIOS Support" -depends on PM && !(X86_VISWS || X86_XEN) +depends on PM && !X86_VISWS config APM tristate "APM (Advanced Power Management) BIOS support" - depends on PM && PM_LEGACY + depends on PM ---help--- APM is a BIOS specification for saving power using several different techniques. This is mostly useful for battery powered laptops with @@ -1029,7 +972,6 @@ choice config PCI_GOBIOS bool "BIOS" - depends on !X86_XEN config PCI_GOMMCONFIG bool "MMConfig" @@ -1037,13 +979,6 @@ config PCI_GOMMCONFIG config PCI_GODIRECT bool "Direct" -config PCI_GOXEN_FE - bool "Xen PCI Frontend" - depends on X86_XEN - help - The PCI device frontend driver allows the kernel to import arbitrary - PCI devices from a PCI backend to support PCI driver domains. - config PCI_GOANY bool "Any" @@ -1051,7 +986,7 @@ endchoice config PCI_BIOS bool - depends on !(X86_VISWS || X86_XEN) && PCI && (PCI_GOBIOS || PCI_GOANY) + depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) default y config PCI_DIRECT @@ -1064,18 +999,6 @@ config PCI_MMCONFIG depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) default y -config XEN_PCIDEV_FRONTEND - bool - depends on PCI && X86_XEN && (PCI_GOXEN_FE || PCI_GOANY) - default y - -config XEN_PCIDEV_FE_DEBUG - bool "Xen PCI Frontend Debugging" - depends on XEN_PCIDEV_FRONTEND - default n - help - Enables some debug statements within the PCI Frontend. - source "drivers/pci/pcie/Kconfig" source "drivers/pci/Kconfig" @@ -1086,7 +1009,7 @@ config ISA_DMA_API config ISA bool "ISA support" - depends on !(X86_VOYAGER || X86_VISWS || X86_XEN) + depends on !(X86_VOYAGER || X86_VISWS) help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff @@ -1113,7 +1036,7 @@ config EISA source "drivers/eisa/Kconfig" config MCA - bool "MCA support" if !(X86_VISWS || X86_VOYAGER || X86_XEN) + bool "MCA support" if !(X86_VISWS || X86_VOYAGER) default y if X86_VOYAGER help MicroChannel Architecture is found in some IBM PS/2 machines and @@ -1127,27 +1050,13 @@ config SCx200 tristate "NatSemi SCx200 support" depends on !X86_VOYAGER help - This provides basic support for National Semiconductor's - (now AMD's) Geode processors. The driver probes for the - PCI-IDs of several on-chip devices, so its a good dependency - for other scx200_* drivers. - - If compiled as a module, the driver is named scx200. + This provides basic support for the National Semiconductor SCx200 + processor. Right now this is just a driver for the GPIO pins. -config SCx200HR_TIMER - tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" - depends on SCx200 && GENERIC_TIME - default y - help - This driver provides a clocksource built upon the on-chip - 27MHz high-resolution timer. Its also a workaround for - NSC Geode SC-1100's buggy TSC, which loses time when the - processor goes idle (as is done by the scheduler). The - other workaround is idle=poll boot option. + If you don't know what to do here, say N. -config K8_NB - def_bool y - depends on AGP_AMD64 + This support is also available as a module. If compiled as a + module, it will be called scx200. source "drivers/pcmcia/Kconfig" @@ -1191,8 +1100,6 @@ source "security/Kconfig" source "crypto/Kconfig" -source "drivers/xen/Kconfig" - source "lib/Kconfig" # @@ -1218,7 +1125,7 @@ config X86_SMP config X86_HT bool - depends on SMP && !(X86_VISWS || X86_VOYAGER || X86_XEN) + depends on SMP && !(X86_VISWS || X86_VOYAGER) default y config X86_BIOS_REBOOT @@ -1231,16 +1138,6 @@ config X86_TRAMPOLINE depends on X86_SMP || (X86_VOYAGER && SMP) default y -config X86_NO_TSS - bool - depends on X86_XEN - default y - -config X86_NO_IDT - bool - depends on X86_XEN - default y - config KTIME_SCALAR bool default y