Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc0120fd authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

x86: copy x86_64 specific Kconfig symbols to Kconfig.i386



No functional changes.
A prepatory step towards full unification.

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
parent d2cacbcf
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -353,11 +353,11 @@ config GEODE_MFGPT_TIMER
	  MFGPTs have a better resolution and max interval than the
	  generic PIT, and are suitable for use as high-res timers.

endif # X86_32

config K8_NB
	def_bool y
	depends on AGP_AMD64

endif # X86_32
	depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))

source "drivers/pcmcia/Kconfig"

+195 −20
Original line number Diff line number Diff line
@@ -218,6 +218,14 @@ config X86_ES7000
	  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.

endchoice

config SCHED_NO_NO_OMIT_FRAME_POINTER
@@ -299,9 +307,17 @@ source "arch/x86/Kconfig.cpu"
config HPET_TIMER
	bool
	prompt "HPET Timer Support" if X86_32
	default X86_64
	help
	  This enables the use of the HPET for the kernel's internal timer.
         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.
@@ -313,6 +329,65 @@ config HPET_EMULATE_RTC
	depends on HPET_TIMER && RTC=y
	default y

# Mark as embedded because too many people got it wrong.
# The code disables itself when not needed.
config GART_IOMMU
	bool "GART IOMMU support" if EMBEDDED
	default y
	select SWIOTLB
	select AGP
	depends on X86_64 && PCI
	help
	  Support for full DMA access of devices with 32bit memory access only
	  on systems with more than 3GB. This is usually needed for USB,
	  sound, many IDE/SATA chipsets and some other devices.
	  Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
	  based hardware IOMMU and a software bounce buffer based IOMMU used
	  on Intel systems and as fallback.
	  The code is only active when needed (enough memory and limited
	  device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
	  too.

config CALGARY_IOMMU
	bool "IBM Calgary IOMMU support"
	select SWIOTLB
	depends on X86_64 && PCI && EXPERIMENTAL
	help
	  Support for hardware IOMMUs in IBM's xSeries x366 and x460
	  systems. Needed to run systems with more than 3GB of memory
	  properly with 32-bit PCI devices that do not support DAC
	  (Double Address Cycle). Calgary also supports bus level
	  isolation, where all DMAs pass through the IOMMU.  This
	  prevents them from going anywhere except their intended
	  destination. This catches hard-to-find kernel bugs and
	  mis-behaving drivers and devices that do not use the DMA-API
	  properly to set up their DMA buffers.  The IOMMU can be
	  turned off at boot time with the iommu=off parameter.
	  Normally the kernel will make the right choice by itself.
	  If unsure, say Y.

config CALGARY_IOMMU_ENABLED_BY_DEFAULT
	bool "Should Calgary be enabled by default?"
	default y
	depends on CALGARY_IOMMU
	help
	  Should Calgary be enabled by default? if you choose 'y', Calgary
	  will be used (if it exists). If you choose 'n', Calgary will not be
	  used even if it exists. If you choose 'n' and would like to use
	  Calgary anyway, pass 'iommu=calgary' on the kernel command line.
	  If unsure, say Y.

# need this always selected by IOMMU for the VIA workaround
config SWIOTLB
	bool
	help
	  Support for software bounce buffers used on x86-64 systems
	  which don't have a hardware IOMMU (e.g. the current generation
	  of Intel's x86-64 CPUs). Using this PCI devices which can only
	  access 32-bits of memory can be used on systems with more than
	  3 GB of memory. If unsure, say Y.


config NR_CPUS
	int "Maximum number of CPUs (2-255)"
	range 2 255
@@ -329,7 +404,7 @@ config NR_CPUS

config SCHED_SMT
	bool "SMT (Hyperthreading) scheduler support"
	depends on X86_HT
	depends on (X86_64 && SMP) || (X86_32 && X86_HT)
	help
	  SMT scheduler support improves the CPU scheduler's decision making
	  when dealing with Intel Pentium 4 chips with HyperThreading at a
@@ -338,7 +413,7 @@ config SCHED_SMT

config SCHED_MC
	bool "Multi-core scheduler support"
	depends on X86_HT
	depends on (X86_64 && SMP) || (X86_32 && X86_HT)
	default y
	help
	  Multi-core scheduler support improves the CPU scheduler's decision
@@ -374,12 +449,12 @@ config X86_UP_IOAPIC

config X86_LOCAL_APIC
	bool
	depends on X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH)
	depends on X86_64 || (X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH))
	default y

config X86_IO_APIC
	bool
	depends on X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH)
	depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH))
	default y

config X86_VISWS_APIC
@@ -404,6 +479,22 @@ config X86_MCE
	  to disable it.  MCE support simply ignores non-MCE processors like
	  the 386 and 486, so nearly everyone can say Y here.

config X86_MCE_INTEL
	bool "Intel MCE features"
	depends on X86_64 && X86_MCE && X86_LOCAL_APIC
	default y
	help
	   Additional support for intel specific MCE features such as
	   the thermal monitor.

config X86_MCE_AMD
	bool "AMD MCE features"
	depends on X86_64 && X86_MCE && X86_LOCAL_APIC
	default y
	help
	   Additional support for AMD specific MCE features such as
	   the DRAM Error Threshold.

config X86_MCE_NONFATAL
	tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
	depends on X86_32 && X86_MCE
@@ -651,19 +742,55 @@ config X86_PAE
# Common NUMA Features
config NUMA
	bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
	depends on X86_32 && SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL
	depends on SMP
	depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL)
	default n if X86_PC
	default y if (X86_NUMAQ || X86_SUMMIT)
	help
	  NUMA support for i386. This is currently highly experimental
	  and should be only used for kernel development. It might also
	  cause boot failures.
	  Enable NUMA (Non Uniform Memory Access) support.
	  The kernel will try to allocate memory used by a CPU on the
	  local memory controller of the CPU and add some more
	  NUMA awareness to the kernel.

	  For i386 this is currently highly experimental and should be only
	  used for kernel development. It might also cause boot failures.
	  For x86_64 this is recommended on all multiprocessor Opteron systems.
	  If the system is EM64T, you should say N unless your system is
	  EM64T NUMA.

comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
	depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)

config K8_NUMA
       bool "Old style AMD Opteron NUMA detection"
       depends on X86_64 && NUMA && PCI
       default y
       help
	 Enable K8 NUMA node topology detection.  You should say Y here if
	 you have a multi processor AMD K8 system. This uses an old
	 method to read the NUMA configuration directly from the builtin
	 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA
	 instead, which also takes priority if both are compiled in.

config X86_64_ACPI_NUMA
	bool "ACPI NUMA detection"
	depends on X86_64 && NUMA && ACPI && PCI
	select ACPI_NUMA
	default y
	help
	  Enable ACPI SRAT based node topology detection.

config NUMA_EMU
	bool "NUMA emulation"
	depends on X86_64 && NUMA
	help
	  Enable NUMA emulation. A flat machine will be split
	  into virtual nodes when booted with "numa=fake=N", where N is the
	  number of nodes. This is only useful for debugging.

config NODES_SHIFT
	int
	default "6" if X86_64
	default "4" if X86_NUMAQ
	default "3"
	depends on NEED_MULTIPLE_NODES
@@ -690,7 +817,7 @@ config HAVE_ARCH_ALLOC_REMAP

config ARCH_FLATMEM_ENABLE
	def_bool y
	depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC
	depends on (X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC) || (X86_64 && !NUMA)

config ARCH_DISCONTIGMEM_ENABLE
	def_bool y
@@ -702,8 +829,9 @@ config ARCH_DISCONTIGMEM_DEFAULT

config ARCH_SPARSEMEM_ENABLE
	def_bool y
	depends on (NUMA || (X86_PC && EXPERIMENTAL))
	depends on NUMA || (EXPERIMENTAL && (X86_PC || X86_64))
	select SPARSEMEM_STATIC if X86_32
	select SPARSEMEM_VMEMMAP_ENABLE if X86_64

config ARCH_SELECT_MEMORY_MODEL
	def_bool y
@@ -712,6 +840,10 @@ config ARCH_SELECT_MEMORY_MODEL
config ARCH_POPULATES_NODE_MAP
	def_bool y

config ARCH_MEMORY_PROBE
	def_bool X86_64
	depends on MEMORY_HOTPLUG

source "mm/Kconfig"

config HIGHPTE
@@ -833,6 +965,30 @@ config SECCOMP

	  If unsure, say Y. Only embedded should say N here.

config CC_STACKPROTECTOR
	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
	depends on X86_64 && EXPERIMENTAL
	help
         This option turns on the -fstack-protector GCC feature. This
	  feature puts, at the beginning of critical functions, a canary
	  value on the stack just before the return address, and validates
	  the value just before actually returning.  Stack based buffer
	  overflows (that need to overwrite this return address) now also
	  overwrite the canary, which gets detected and the attack is then
	  neutralized via a kernel panic.

	  This feature requires gcc version 4.2 or above, or a distribution
	  gcc with the feature backported. Older versions are automatically
	  detected and for those versions, this configuration option is ignored.

config CC_STACKPROTECTOR_ALL
	bool "Use stack-protector for all functions"
	depends on CC_STACKPROTECTOR
	help
	  Normally, GCC only inserts the canary value protection for
	  functions that use large-ish on-stack buffers. By enabling
	  this option, GCC will be asked to do this for ALL functions.

source kernel/Kconfig.hz

config KEXEC
@@ -854,7 +1010,7 @@ config KEXEC
config CRASH_DUMP
	bool "kernel crash dumps (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	depends on HIGHMEM
	depends on X86_64 || (X86_32 && HIGHMEM)
	help
	  Generate crash dump after being started by kexec.
	  This should be normally only set in special crash dump kernels
@@ -869,6 +1025,7 @@ config CRASH_DUMP
config PHYSICAL_START
	hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
	default "0x1000000" if X86_NUMAQ
	default "0x200000" if X86_64
	default "0x100000"
	help
	  This gives the physical address where the kernel is loaded.
@@ -921,10 +1078,15 @@ config RELOCATABLE
	  must live at a different physical address than the primary
	  kernel.

	  Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
	  it has been loaded at and the compile time physical address
	  (CONFIG_PHYSICAL_START) is ignored.

config PHYSICAL_ALIGN
	hex
	prompt "Alignment value to which kernel should be aligned" if X86_32
	default "0x100000"
	default "0x100000" if X86_32
	default "0x200000" if X86_64
	range 0x2000 0x400000
	help
	  This value puts the alignment restrictions on physical address
@@ -952,6 +1114,8 @@ config HOTPLUG_CPU
	  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 N if you want to disable CPU hotplug and don't need to
	  suspend.

config COMPAT_VDSO
	bool "Compat VDSO support"
@@ -970,8 +1134,19 @@ endmenu

config ARCH_ENABLE_MEMORY_HOTPLUG
	def_bool y
	depends on HIGHMEM
	depends on X86_64 || (X86_32 && HIGHMEM)

config MEMORY_HOTPLUG_RESERVE
	def_bool X86_64
	depends on (MEMORY_HOTPLUG && DISCONTIGMEM)

config HAVE_ARCH_EARLY_PFN_TO_NID
	def_bool X86_64
	depends on NUMA

config OUT_OF_LINE_PFN_TO_PAGE
	def_bool X86_64
	depends on DISCONTIGMEM

#
# Use the generic interrupt handling code in kernel/irq/:
@@ -996,7 +1171,7 @@ config X86_SMP

config X86_HT
	bool
	depends on SMP && !(X86_VISWS || X86_VOYAGER)
	depends on SMP && !(X86_VISWS || X86_VOYAGER || MK8)
	default y

config X86_BIOS_REBOOT