Commit 012c6c72 authored by Sam Ravnborg's avatar Sam Ravnborg

x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386

To ease unification of Kconfig.i386 and Kconfig.x86_64
add X86_32 dependencies to all i386 specific symbols.

This patch introduce no functional changes but is one step
towards unification. This smaller step is used to ease
review of the patch set.
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 1032c0ba
...@@ -137,6 +137,7 @@ config X86_PC ...@@ -137,6 +137,7 @@ config X86_PC
config X86_ELAN config X86_ELAN
bool "AMD Elan" bool "AMD Elan"
depends on X86_32
help help
Select this for an AMD Elan processor. Select this for an AMD Elan processor.
...@@ -146,6 +147,7 @@ config X86_ELAN ...@@ -146,6 +147,7 @@ config X86_ELAN
config X86_VOYAGER config X86_VOYAGER
bool "Voyager (NCR)" bool "Voyager (NCR)"
depends on X86_32
select SMP if !BROKEN select SMP if !BROKEN
help help
Voyager is an MCA-based 32-way capable SMP architecture proprietary Voyager is an MCA-based 32-way capable SMP architecture proprietary
...@@ -160,6 +162,7 @@ config X86_NUMAQ ...@@ -160,6 +162,7 @@ config X86_NUMAQ
bool "NUMAQ (IBM/Sequent)" bool "NUMAQ (IBM/Sequent)"
select SMP select SMP
select NUMA select NUMA
depends on X86_32
help help
This option is used for getting Linux to run on a (IBM/Sequent) NUMA This option is used for getting Linux to run on a (IBM/Sequent) NUMA
multiquad box. This changes the way that processors are bootstrapped, multiquad box. This changes the way that processors are bootstrapped,
...@@ -169,7 +172,7 @@ config X86_NUMAQ ...@@ -169,7 +172,7 @@ config X86_NUMAQ
config X86_SUMMIT config X86_SUMMIT
bool "Summit/EXA (IBM x440)" bool "Summit/EXA (IBM x440)"
depends on SMP depends on X86_32 && SMP
help help
This option is needed for IBM systems that use the Summit/EXA chipset. This option is needed for IBM systems that use the Summit/EXA chipset.
In particular, it is needed for the x440. In particular, it is needed for the x440.
...@@ -179,7 +182,7 @@ config X86_SUMMIT ...@@ -179,7 +182,7 @@ config X86_SUMMIT
config X86_BIGSMP config X86_BIGSMP
bool "Support for other sub-arch SMP systems with more than 8 CPUs" bool "Support for other sub-arch SMP systems with more than 8 CPUs"
depends on SMP depends on X86_32 && SMP
help help
This option is needed for the systems that have more than 8 CPUs 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. and if the system is not of any sub-arch type above.
...@@ -188,6 +191,7 @@ config X86_BIGSMP ...@@ -188,6 +191,7 @@ config X86_BIGSMP
config X86_VISWS config X86_VISWS
bool "SGI 320/540 (Visual Workstation)" bool "SGI 320/540 (Visual Workstation)"
depends on X86_32
help help
The SGI Visual Workstation series is an IA32-based workstation The SGI Visual Workstation series is an IA32-based workstation
based on SGI systems chips with some legacy PC hardware attached. based on SGI systems chips with some legacy PC hardware attached.
...@@ -199,6 +203,7 @@ config X86_VISWS ...@@ -199,6 +203,7 @@ config X86_VISWS
config X86_GENERICARCH config X86_GENERICARCH
bool "Generic architecture (Summit, bigsmp, ES7000, default)" bool "Generic architecture (Summit, bigsmp, ES7000, default)"
depends on X86_32
help help
This option compiles in the Summit, bigsmp, ES7000, default subarchitectures. This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
It is intended for a generic binary kernel. It is intended for a generic binary kernel.
...@@ -206,7 +211,7 @@ config X86_GENERICARCH ...@@ -206,7 +211,7 @@ config X86_GENERICARCH
config X86_ES7000 config X86_ES7000
bool "Support for Unisys ES7000 IA32 series" bool "Support for Unisys ES7000 IA32 series"
depends on SMP depends on X86_32 && SMP
help help
Support for Unisys ES7000 systems. Say 'Y' here if this kernel is Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
supposed to run on an IA32-based Unisys ES7000 system. supposed to run on an IA32-based Unisys ES7000 system.
...@@ -218,6 +223,7 @@ endchoice ...@@ -218,6 +223,7 @@ endchoice
config SCHED_NO_NO_OMIT_FRAME_POINTER config SCHED_NO_NO_OMIT_FRAME_POINTER
bool "Single-depth WCHAN output" bool "Single-depth WCHAN output"
default y default y
depends on X86_32
help help
Calculate simpler /proc/<PID>/wchan values. If this option Calculate simpler /proc/<PID>/wchan values. If this option
is disabled then wchan values will recurse back to the is disabled then wchan values will recurse back to the
...@@ -228,7 +234,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER ...@@ -228,7 +234,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
config PARAVIRT config PARAVIRT
bool bool
depends on !(X86_VISWS || X86_VOYAGER) depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
help help
This changes the kernel so it can modify itself when it is run This changes the kernel so it can modify itself when it is run
under a hypervisor, potentially improving performance significantly under a hypervisor, potentially improving performance significantly
...@@ -237,6 +243,7 @@ config PARAVIRT ...@@ -237,6 +243,7 @@ config PARAVIRT
menuconfig PARAVIRT_GUEST menuconfig PARAVIRT_GUEST
bool "Paravirtualized guest support" bool "Paravirtualized guest support"
depends on X86_32
help help
Say Y here to get to see options related to running Linux under Say Y here to get to see options related to running Linux under
various hypervisors. This option alone does not add any kernel code. various hypervisors. This option alone does not add any kernel code.
...@@ -264,7 +271,7 @@ endif ...@@ -264,7 +271,7 @@ endif
config ACPI_SRAT config ACPI_SRAT
bool bool
default y default y
depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
select ACPI_NUMA select ACPI_NUMA
config HAVE_ARCH_PARSE_SRAT config HAVE_ARCH_PARSE_SRAT
...@@ -275,12 +282,12 @@ config HAVE_ARCH_PARSE_SRAT ...@@ -275,12 +282,12 @@ config HAVE_ARCH_PARSE_SRAT
config X86_SUMMIT_NUMA config X86_SUMMIT_NUMA
bool bool
default y default y
depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH)
config X86_CYCLONE_TIMER config X86_CYCLONE_TIMER
bool bool
default y default y
depends on X86_SUMMIT || X86_GENERICARCH depends on X86_32 && X86_SUMMIT || X86_GENERICARCH
config ES7000_CLUSTERED_APIC config ES7000_CLUSTERED_APIC
bool bool
...@@ -290,7 +297,8 @@ config ES7000_CLUSTERED_APIC ...@@ -290,7 +297,8 @@ config ES7000_CLUSTERED_APIC
source "arch/x86/Kconfig.cpu" source "arch/x86/Kconfig.cpu"
config HPET_TIMER config HPET_TIMER
bool "HPET Timer Support" bool
prompt "HPET Timer Support" if X86_32
help help
This enables the use of the HPET for the kernel's internal timer. This enables the use of the HPET for the kernel's internal timer.
HPET is the next generation timer replacing legacy 8254s. HPET is the next generation timer replacing legacy 8254s.
...@@ -341,7 +349,7 @@ source "kernel/Kconfig.preempt" ...@@ -341,7 +349,7 @@ source "kernel/Kconfig.preempt"
config X86_UP_APIC config X86_UP_APIC
bool "Local APIC support on uniprocessors" bool "Local APIC support on uniprocessors"
depends on !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH) depends on X86_32 && !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH)
help help
A local APIC (Advanced Programmable Interrupt Controller) is an A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU integrated interrupt controller in the CPU. If you have a single-CPU
...@@ -366,17 +374,17 @@ config X86_UP_IOAPIC ...@@ -366,17 +374,17 @@ config X86_UP_IOAPIC
config X86_LOCAL_APIC config X86_LOCAL_APIC
bool bool
depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH depends on X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH)
default y default y
config X86_IO_APIC config X86_IO_APIC
bool bool
depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH depends on X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH)
default y default y
config X86_VISWS_APIC config X86_VISWS_APIC
bool bool
depends on X86_VISWS depends on X86_32 && X86_VISWS
default y default y
config X86_MCE config X86_MCE
...@@ -398,7 +406,7 @@ config X86_MCE ...@@ -398,7 +406,7 @@ config X86_MCE
config X86_MCE_NONFATAL config X86_MCE_NONFATAL
tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
depends on X86_MCE depends on X86_32 && X86_MCE
help help
Enabling this feature starts a timer that triggers every 5 seconds which Enabling this feature starts a timer that triggers every 5 seconds which
will look at the machine check registers to see if anything happened. will look at the machine check registers to see if anything happened.
...@@ -411,14 +419,15 @@ config X86_MCE_NONFATAL ...@@ -411,14 +419,15 @@ config X86_MCE_NONFATAL
config X86_MCE_P4THERMAL config X86_MCE_P4THERMAL
bool "check for P4 thermal throttling interrupt." bool "check for P4 thermal throttling interrupt."
depends on X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS
help help
Enabling this feature will cause a message to be printed when the P4 Enabling this feature will cause a message to be printed when the P4
enters thermal throttling. enters thermal throttling.
config VM86 config VM86
default y
bool "Enable VM86 support" if EMBEDDED bool "Enable VM86 support" if EMBEDDED
default y
depends on X86_32
help help
This option is required by programs like DOSEMU to run 16-bit legacy 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 code on X86 processors. It also may be needed by software like
...@@ -427,6 +436,7 @@ config VM86 ...@@ -427,6 +436,7 @@ config VM86
config TOSHIBA config TOSHIBA
tristate "Toshiba Laptop support" tristate "Toshiba Laptop support"
depends on X86_32
---help--- ---help---
This adds a driver to safely access the System Management Mode of This adds a driver to safely access the System Management Mode of
the CPU on Toshiba portables with a genuine Toshiba BIOS. It does the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
...@@ -442,6 +452,7 @@ config TOSHIBA ...@@ -442,6 +452,7 @@ config TOSHIBA
config I8K config I8K
tristate "Dell laptop support" tristate "Dell laptop support"
depends on X86_32
---help--- ---help---
This adds a driver to safely access the System Management Mode This adds a driver to safely access the System Management Mode
of the CPU on the Dell Inspiron 8000. The System Management Mode of the CPU on the Dell Inspiron 8000. The System Management Mode
...@@ -462,7 +473,7 @@ config I8K ...@@ -462,7 +473,7 @@ config I8K
config X86_REBOOTFIXUPS config X86_REBOOTFIXUPS
bool "Enable X86 board specific fixups for reboot" bool "Enable X86 board specific fixups for reboot"
depends on X86 depends on X86_32 && X86
default n default n
---help--- ---help---
This enables chipset and/or board specific fixups to be done This enables chipset and/or board specific fixups to be done
...@@ -521,6 +532,7 @@ choice ...@@ -521,6 +532,7 @@ choice
prompt "High Memory Support" prompt "High Memory Support"
default HIGHMEM4G if !X86_NUMAQ default HIGHMEM4G if !X86_NUMAQ
default HIGHMEM64G if X86_NUMAQ default HIGHMEM64G if X86_NUMAQ
depends on X86_32
config NOHIGHMEM config NOHIGHMEM
bool "off" bool "off"
...@@ -580,6 +592,7 @@ choice ...@@ -580,6 +592,7 @@ choice
depends on EXPERIMENTAL depends on EXPERIMENTAL
prompt "Memory split" if EMBEDDED prompt "Memory split" if EMBEDDED
default VMSPLIT_3G default VMSPLIT_3G
depends on X86_32
help help
Select the desired split between kernel and user memory. Select the desired split between kernel and user memory.
...@@ -617,16 +630,17 @@ config PAGE_OFFSET ...@@ -617,16 +630,17 @@ config PAGE_OFFSET
default 0x78000000 if VMSPLIT_2G_OPT default 0x78000000 if VMSPLIT_2G_OPT
default 0x40000000 if VMSPLIT_1G default 0x40000000 if VMSPLIT_1G
default 0xC0000000 default 0xC0000000
depends on X86_32
config HIGHMEM config HIGHMEM
bool bool
depends on HIGHMEM64G || HIGHMEM4G depends on X86_32 && (HIGHMEM64G || HIGHMEM4G)
default y default y
config X86_PAE config X86_PAE
bool "PAE (Physical Address Extension) Support" bool "PAE (Physical Address Extension) Support"
default n default n
depends on !HIGHMEM4G depends on X86_32 && !HIGHMEM4G
select RESOURCES_64BIT select RESOURCES_64BIT
help help
PAE is required for NX support, and furthermore enables PAE is required for NX support, and furthermore enables
...@@ -637,7 +651,7 @@ config X86_PAE ...@@ -637,7 +651,7 @@ config X86_PAE
# Common NUMA Features # Common NUMA Features
config NUMA config NUMA
bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL depends on X86_32 && SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL
default n if X86_PC default n if X86_PC
default y if (X86_NUMAQ || X86_SUMMIT) default y if (X86_NUMAQ || X86_SUMMIT)
help help
...@@ -646,7 +660,7 @@ config NUMA ...@@ -646,7 +660,7 @@ config NUMA
cause boot failures. cause boot failures.
comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI) depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
config NODES_SHIFT config NODES_SHIFT
int int
...@@ -656,27 +670,27 @@ config NODES_SHIFT ...@@ -656,27 +670,27 @@ config NODES_SHIFT
config HAVE_ARCH_BOOTMEM_NODE config HAVE_ARCH_BOOTMEM_NODE
bool bool
depends on NUMA depends on X86_32 && NUMA
default y default y
config ARCH_HAVE_MEMORY_PRESENT config ARCH_HAVE_MEMORY_PRESENT
bool bool
depends on DISCONTIGMEM depends on X86_32 && DISCONTIGMEM
default y default y
config NEED_NODE_MEMMAP_SIZE config NEED_NODE_MEMMAP_SIZE
bool bool
depends on DISCONTIGMEM || SPARSEMEM depends on X86_32 && (DISCONTIGMEM || SPARSEMEM)
default y default y
config HAVE_ARCH_ALLOC_REMAP config HAVE_ARCH_ALLOC_REMAP
bool bool
depends on NUMA depends on X86_32 && NUMA
default y default y
config ARCH_FLATMEM_ENABLE config ARCH_FLATMEM_ENABLE
def_bool y def_bool y
depends on (ARCH_SELECT_MEMORY_MODEL && X86_PC) depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC
config ARCH_DISCONTIGMEM_ENABLE config ARCH_DISCONTIGMEM_ENABLE
def_bool y def_bool y
...@@ -689,11 +703,11 @@ config ARCH_DISCONTIGMEM_DEFAULT ...@@ -689,11 +703,11 @@ config ARCH_DISCONTIGMEM_DEFAULT
config ARCH_SPARSEMEM_ENABLE config ARCH_SPARSEMEM_ENABLE
def_bool y def_bool y
depends on (NUMA || (X86_PC && EXPERIMENTAL)) depends on (NUMA || (X86_PC && EXPERIMENTAL))
select SPARSEMEM_STATIC select SPARSEMEM_STATIC if X86_32
config ARCH_SELECT_MEMORY_MODEL config ARCH_SELECT_MEMORY_MODEL
def_bool y def_bool y
depends on ARCH_SPARSEMEM_ENABLE depends on X86_32 && ARCH_SPARSEMEM_ENABLE
config ARCH_POPULATES_NODE_MAP config ARCH_POPULATES_NODE_MAP
def_bool y def_bool y
...@@ -702,7 +716,7 @@ source "mm/Kconfig" ...@@ -702,7 +716,7 @@ source "mm/Kconfig"
config HIGHPTE config HIGHPTE
bool "Allocate 3rd-level pagetables from highmem" bool "Allocate 3rd-level pagetables from highmem"
depends on HIGHMEM4G || HIGHMEM64G depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)
help help
The VM uses one page table entry for each page of physical memory. 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 For systems with a lot of RAM, this can be wasteful of precious
...@@ -710,7 +724,8 @@ config HIGHPTE ...@@ -710,7 +724,8 @@ config HIGHPTE
entries in high memory. entries in high memory.
config MATH_EMULATION config MATH_EMULATION
bool "Math emulation" bool
prompt "Math emulation" if X86_32
---help--- ---help---
Linux can emulate a math coprocessor (used for floating point Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have operations) if you don't have one. 486DX and Pentium processors have
...@@ -770,7 +785,7 @@ config MTRR ...@@ -770,7 +785,7 @@ config MTRR
config EFI config EFI
bool "Boot from EFI support" bool "Boot from EFI support"
depends on ACPI depends on X86_32 && ACPI
default n default n
---help--- ---help---
This enables the kernel to boot on EFI platforms using This enables the kernel to boot on EFI platforms using
...@@ -788,7 +803,7 @@ config EFI ...@@ -788,7 +803,7 @@ config EFI
config IRQBALANCE config IRQBALANCE
bool "Enable kernel irq balancing" bool "Enable kernel irq balancing"
depends on SMP && X86_IO_APIC depends on X86_32 && SMP && X86_IO_APIC
default y default y
help help
The default yes will allow the kernel to do irq load balancing. The default yes will allow the kernel to do irq load balancing.
...@@ -798,7 +813,7 @@ config IRQBALANCE ...@@ -798,7 +813,7 @@ config IRQBALANCE
# Summit needs it only when NUMA is on # Summit needs it only when NUMA is on
config BOOT_IOREMAP config BOOT_IOREMAP
bool bool
depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI)) depends on X86_32 && (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
default y default y
config SECCOMP config SECCOMP
...@@ -907,7 +922,8 @@ config RELOCATABLE ...@@ -907,7 +922,8 @@ config RELOCATABLE
kernel. kernel.
config PHYSICAL_ALIGN config PHYSICAL_ALIGN
hex "Alignment value to which kernel should be aligned" hex
prompt "Alignment value to which kernel should be aligned" if X86_32
default "0x100000" default "0x100000"
range 0x2000 0x400000 range 0x2000 0x400000
help help
...@@ -940,6 +956,7 @@ config HOTPLUG_CPU ...@@ -940,6 +956,7 @@ config HOTPLUG_CPU
config COMPAT_VDSO config COMPAT_VDSO
bool "Compat VDSO support" bool "Compat VDSO support"
default y default y
depends on X86_32
help help
Map the VDSO to the predictable old-style address too. Map the VDSO to the predictable old-style address too.
---help--- ---help---
...@@ -974,7 +991,7 @@ config GENERIC_PENDING_IRQ ...@@ -974,7 +991,7 @@ config GENERIC_PENDING_IRQ
config X86_SMP config X86_SMP
bool bool
depends on SMP && !X86_VOYAGER depends on X86_32 && SMP && !X86_VOYAGER
default y default y
config X86_HT config X86_HT
...@@ -984,7 +1001,7 @@ config X86_HT ...@@ -984,7 +1001,7 @@ config X86_HT
config X86_BIOS_REBOOT config X86_BIOS_REBOOT
bool bool
depends on !(X86_VISWS || X86_VOYAGER) depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
default y default y
config X86_TRAMPOLINE config X86_TRAMPOLINE
...@@ -993,7 +1010,6 @@ config X86_TRAMPOLINE ...@@ -993,7 +1010,6 @@ config X86_TRAMPOLINE
default y default y
config KTIME_SCALAR config KTIME_SCALAR
bool def_bool X86_32
default y
source "arch/x86/Kconfig" source "arch/x86/Kconfig"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment