aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-11-06 15:57:20 -0500
committerSam Ravnborg <sam@ravnborg.org>2007-11-12 15:02:19 -0500
commit012c6c72275e66f4e52ae2df629f53a8d127e39f (patch)
tree0fac4992873fce2fbe872ab591446fa596a24f61
parent1032c0ba9da5c5b53173ad2dcf8b2a2da78f8b17 (diff)
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: Sam Ravnborg <sam@ravnborg.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com>
-rw-r--r--arch/x86/Kconfig.i38690
1 files changed, 53 insertions, 37 deletions
diff --git a/arch/x86/Kconfig.i386 b/arch/x86/Kconfig.i386
index 9fe63f10e57f..174b9092b46f 100644
--- a/arch/x86/Kconfig.i386
+++ b/arch/x86/Kconfig.i386
@@ -137,6 +137,7 @@ config X86_PC
137 137
138config X86_ELAN 138config X86_ELAN
139 bool "AMD Elan" 139 bool "AMD Elan"
140 depends on X86_32
140 help 141 help
141 Select this for an AMD Elan processor. 142 Select this for an AMD Elan processor.
142 143
@@ -146,6 +147,7 @@ config X86_ELAN
146 147
147config X86_VOYAGER 148config X86_VOYAGER
148 bool "Voyager (NCR)" 149 bool "Voyager (NCR)"
150 depends on X86_32
149 select SMP if !BROKEN 151 select SMP if !BROKEN
150 help 152 help
151 Voyager is an MCA-based 32-way capable SMP architecture proprietary 153 Voyager is an MCA-based 32-way capable SMP architecture proprietary
@@ -160,6 +162,7 @@ config X86_NUMAQ
160 bool "NUMAQ (IBM/Sequent)" 162 bool "NUMAQ (IBM/Sequent)"
161 select SMP 163 select SMP
162 select NUMA 164 select NUMA
165 depends on X86_32
163 help 166 help
164 This option is used for getting Linux to run on a (IBM/Sequent) NUMA 167 This option is used for getting Linux to run on a (IBM/Sequent) NUMA
165 multiquad box. This changes the way that processors are bootstrapped, 168 multiquad box. This changes the way that processors are bootstrapped,
@@ -169,7 +172,7 @@ config X86_NUMAQ
169 172
170config X86_SUMMIT 173config X86_SUMMIT
171 bool "Summit/EXA (IBM x440)" 174 bool "Summit/EXA (IBM x440)"
172 depends on SMP 175 depends on X86_32 && SMP
173 help 176 help
174 This option is needed for IBM systems that use the Summit/EXA chipset. 177 This option is needed for IBM systems that use the Summit/EXA chipset.
175 In particular, it is needed for the x440. 178 In particular, it is needed for the x440.
@@ -179,7 +182,7 @@ config X86_SUMMIT
179 182
180config X86_BIGSMP 183config X86_BIGSMP
181 bool "Support for other sub-arch SMP systems with more than 8 CPUs" 184 bool "Support for other sub-arch SMP systems with more than 8 CPUs"
182 depends on SMP 185 depends on X86_32 && SMP
183 help 186 help
184 This option is needed for the systems that have more than 8 CPUs 187 This option is needed for the systems that have more than 8 CPUs
185 and if the system is not of any sub-arch type above. 188 and if the system is not of any sub-arch type above.
@@ -188,6 +191,7 @@ config X86_BIGSMP
188 191
189config X86_VISWS 192config X86_VISWS
190 bool "SGI 320/540 (Visual Workstation)" 193 bool "SGI 320/540 (Visual Workstation)"
194 depends on X86_32
191 help 195 help
192 The SGI Visual Workstation series is an IA32-based workstation 196 The SGI Visual Workstation series is an IA32-based workstation
193 based on SGI systems chips with some legacy PC hardware attached. 197 based on SGI systems chips with some legacy PC hardware attached.
@@ -199,6 +203,7 @@ config X86_VISWS
199 203
200config X86_GENERICARCH 204config X86_GENERICARCH
201 bool "Generic architecture (Summit, bigsmp, ES7000, default)" 205 bool "Generic architecture (Summit, bigsmp, ES7000, default)"
206 depends on X86_32
202 help 207 help
203 This option compiles in the Summit, bigsmp, ES7000, default subarchitectures. 208 This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
204 It is intended for a generic binary kernel. 209 It is intended for a generic binary kernel.
@@ -206,7 +211,7 @@ config X86_GENERICARCH
206 211
207config X86_ES7000 212config X86_ES7000
208 bool "Support for Unisys ES7000 IA32 series" 213 bool "Support for Unisys ES7000 IA32 series"
209 depends on SMP 214 depends on X86_32 && SMP
210 help 215 help
211 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is 216 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
212 supposed to run on an IA32-based Unisys ES7000 system. 217 supposed to run on an IA32-based Unisys ES7000 system.
@@ -218,6 +223,7 @@ endchoice
218config SCHED_NO_NO_OMIT_FRAME_POINTER 223config SCHED_NO_NO_OMIT_FRAME_POINTER
219 bool "Single-depth WCHAN output" 224 bool "Single-depth WCHAN output"
220 default y 225 default y
226 depends on X86_32
221 help 227 help
222 Calculate simpler /proc/<PID>/wchan values. If this option 228 Calculate simpler /proc/<PID>/wchan values. If this option
223 is disabled then wchan values will recurse back to the 229 is disabled then wchan values will recurse back to the
@@ -228,7 +234,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
228 234
229config PARAVIRT 235config PARAVIRT
230 bool 236 bool
231 depends on !(X86_VISWS || X86_VOYAGER) 237 depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
232 help 238 help
233 This changes the kernel so it can modify itself when it is run 239 This changes the kernel so it can modify itself when it is run
234 under a hypervisor, potentially improving performance significantly 240 under a hypervisor, potentially improving performance significantly
@@ -237,6 +243,7 @@ config PARAVIRT
237 243
238menuconfig PARAVIRT_GUEST 244menuconfig PARAVIRT_GUEST
239 bool "Paravirtualized guest support" 245 bool "Paravirtualized guest support"
246 depends on X86_32
240 help 247 help
241 Say Y here to get to see options related to running Linux under 248 Say Y here to get to see options related to running Linux under
242 various hypervisors. This option alone does not add any kernel code. 249 various hypervisors. This option alone does not add any kernel code.
@@ -264,7 +271,7 @@ endif
264config ACPI_SRAT 271config ACPI_SRAT
265 bool 272 bool
266 default y 273 default y
267 depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) 274 depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
268 select ACPI_NUMA 275 select ACPI_NUMA
269 276
270config HAVE_ARCH_PARSE_SRAT 277config HAVE_ARCH_PARSE_SRAT
@@ -275,12 +282,12 @@ config HAVE_ARCH_PARSE_SRAT
275config X86_SUMMIT_NUMA 282config X86_SUMMIT_NUMA
276 bool 283 bool
277 default y 284 default y
278 depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) 285 depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH)
279 286
280config X86_CYCLONE_TIMER 287config X86_CYCLONE_TIMER
281 bool 288 bool
282 default y 289 default y
283 depends on X86_SUMMIT || X86_GENERICARCH 290 depends on X86_32 && X86_SUMMIT || X86_GENERICARCH
284 291
285config ES7000_CLUSTERED_APIC 292config ES7000_CLUSTERED_APIC
286 bool 293 bool
@@ -290,7 +297,8 @@ config ES7000_CLUSTERED_APIC
290source "arch/x86/Kconfig.cpu" 297source "arch/x86/Kconfig.cpu"
291 298
292config HPET_TIMER 299config HPET_TIMER
293 bool "HPET Timer Support" 300 bool
301 prompt "HPET Timer Support" if X86_32
294 help 302 help
295 This enables the use of the HPET for the kernel's internal timer. 303 This enables the use of the HPET for the kernel's internal timer.
296 HPET is the next generation timer replacing legacy 8254s. 304 HPET is the next generation timer replacing legacy 8254s.
@@ -341,7 +349,7 @@ source "kernel/Kconfig.preempt"
341 349
342config X86_UP_APIC 350config X86_UP_APIC
343 bool "Local APIC support on uniprocessors" 351 bool "Local APIC support on uniprocessors"
344 depends on !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH) 352 depends on X86_32 && !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH)
345 help 353 help
346 A local APIC (Advanced Programmable Interrupt Controller) is an 354 A local APIC (Advanced Programmable Interrupt Controller) is an
347 integrated interrupt controller in the CPU. If you have a single-CPU 355 integrated interrupt controller in the CPU. If you have a single-CPU
@@ -366,17 +374,17 @@ config X86_UP_IOAPIC
366 374
367config X86_LOCAL_APIC 375config X86_LOCAL_APIC
368 bool 376 bool
369 depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH 377 depends on X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH)
370 default y 378 default y
371 379
372config X86_IO_APIC 380config X86_IO_APIC
373 bool 381 bool
374 depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH 382 depends on X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH)
375 default y 383 default y
376 384
377config X86_VISWS_APIC 385config X86_VISWS_APIC
378 bool 386 bool
379 depends on X86_VISWS 387 depends on X86_32 && X86_VISWS
380 default y 388 default y
381 389
382config X86_MCE 390config X86_MCE
@@ -398,7 +406,7 @@ config X86_MCE
398 406
399config X86_MCE_NONFATAL 407config X86_MCE_NONFATAL
400 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" 408 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
401 depends on X86_MCE 409 depends on X86_32 && X86_MCE
402 help 410 help
403 Enabling this feature starts a timer that triggers every 5 seconds which 411 Enabling this feature starts a timer that triggers every 5 seconds which
404 will look at the machine check registers to see if anything happened. 412 will look at the machine check registers to see if anything happened.
@@ -411,14 +419,15 @@ config X86_MCE_NONFATAL
411 419
412config X86_MCE_P4THERMAL 420config X86_MCE_P4THERMAL
413 bool "check for P4 thermal throttling interrupt." 421 bool "check for P4 thermal throttling interrupt."
414 depends on X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS 422 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS
415 help 423 help
416 Enabling this feature will cause a message to be printed when the P4 424 Enabling this feature will cause a message to be printed when the P4
417 enters thermal throttling. 425 enters thermal throttling.
418 426
419config VM86 427config VM86
420 default y
421 bool "Enable VM86 support" if EMBEDDED 428 bool "Enable VM86 support" if EMBEDDED
429 default y
430 depends on X86_32
422 help 431 help
423 This option is required by programs like DOSEMU to run 16-bit legacy 432 This option is required by programs like DOSEMU to run 16-bit legacy
424 code on X86 processors. It also may be needed by software like 433 code on X86 processors. It also may be needed by software like
@@ -427,6 +436,7 @@ config VM86
427 436
428config TOSHIBA 437config TOSHIBA
429 tristate "Toshiba Laptop support" 438 tristate "Toshiba Laptop support"
439 depends on X86_32
430 ---help--- 440 ---help---
431 This adds a driver to safely access the System Management Mode of 441 This adds a driver to safely access the System Management Mode of
432 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does 442 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
@@ -442,6 +452,7 @@ config TOSHIBA
442 452
443config I8K 453config I8K
444 tristate "Dell laptop support" 454 tristate "Dell laptop support"
455 depends on X86_32
445 ---help--- 456 ---help---
446 This adds a driver to safely access the System Management Mode 457 This adds a driver to safely access the System Management Mode
447 of the CPU on the Dell Inspiron 8000. The System Management Mode 458 of the CPU on the Dell Inspiron 8000. The System Management Mode
@@ -462,7 +473,7 @@ config I8K
462 473
463config X86_REBOOTFIXUPS 474config X86_REBOOTFIXUPS
464 bool "Enable X86 board specific fixups for reboot" 475 bool "Enable X86 board specific fixups for reboot"
465 depends on X86 476 depends on X86_32 && X86
466 default n 477 default n
467 ---help--- 478 ---help---
468 This enables chipset and/or board specific fixups to be done 479 This enables chipset and/or board specific fixups to be done
@@ -521,6 +532,7 @@ choice
521 prompt "High Memory Support" 532 prompt "High Memory Support"
522 default HIGHMEM4G if !X86_NUMAQ 533 default HIGHMEM4G if !X86_NUMAQ
523 default HIGHMEM64G if X86_NUMAQ 534 default HIGHMEM64G if X86_NUMAQ
535 depends on X86_32
524 536
525config NOHIGHMEM 537config NOHIGHMEM
526 bool "off" 538 bool "off"
@@ -580,6 +592,7 @@ choice
580 depends on EXPERIMENTAL 592 depends on EXPERIMENTAL
581 prompt "Memory split" if EMBEDDED 593 prompt "Memory split" if EMBEDDED
582 default VMSPLIT_3G 594 default VMSPLIT_3G
595 depends on X86_32
583 help 596 help
584 Select the desired split between kernel and user memory. 597 Select the desired split between kernel and user memory.
585 598
@@ -617,16 +630,17 @@ config PAGE_OFFSET
617 default 0x78000000 if VMSPLIT_2G_OPT 630 default 0x78000000 if VMSPLIT_2G_OPT
618 default 0x40000000 if VMSPLIT_1G 631 default 0x40000000 if VMSPLIT_1G
619 default 0xC0000000 632 default 0xC0000000
633 depends on X86_32
620 634
621config HIGHMEM 635config HIGHMEM
622 bool 636 bool
623 depends on HIGHMEM64G || HIGHMEM4G 637 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G)
624 default y 638 default y
625 639
626config X86_PAE 640config X86_PAE
627 bool "PAE (Physical Address Extension) Support" 641 bool "PAE (Physical Address Extension) Support"
628 default n 642 default n
629 depends on !HIGHMEM4G 643 depends on X86_32 && !HIGHMEM4G
630 select RESOURCES_64BIT 644 select RESOURCES_64BIT
631 help 645 help
632 PAE is required for NX support, and furthermore enables 646 PAE is required for NX support, and furthermore enables
@@ -637,7 +651,7 @@ config X86_PAE
637# Common NUMA Features 651# Common NUMA Features
638config NUMA 652config NUMA
639 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 653 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
640 depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL 654 depends on X86_32 && SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL
641 default n if X86_PC 655 default n if X86_PC
642 default y if (X86_NUMAQ || X86_SUMMIT) 656 default y if (X86_NUMAQ || X86_SUMMIT)
643 help 657 help
@@ -646,7 +660,7 @@ config NUMA
646 cause boot failures. 660 cause boot failures.
647 661
648comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" 662comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
649 depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI) 663 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
650 664
651config NODES_SHIFT 665config NODES_SHIFT
652 int 666 int
@@ -656,27 +670,27 @@ config NODES_SHIFT
656 670
657config HAVE_ARCH_BOOTMEM_NODE 671config HAVE_ARCH_BOOTMEM_NODE
658 bool 672 bool
659 depends on NUMA 673 depends on X86_32 && NUMA
660 default y 674 default y
661 675
662config ARCH_HAVE_MEMORY_PRESENT 676config ARCH_HAVE_MEMORY_PRESENT
663 bool 677 bool
664 depends on DISCONTIGMEM 678 depends on X86_32 && DISCONTIGMEM
665 default y 679 default y
666 680
667config NEED_NODE_MEMMAP_SIZE 681config NEED_NODE_MEMMAP_SIZE
668 bool 682 bool
669 depends on DISCONTIGMEM || SPARSEMEM 683 depends on X86_32 && (DISCONTIGMEM || SPARSEMEM)
670 default y 684 default y
671 685
672config HAVE_ARCH_ALLOC_REMAP 686config HAVE_ARCH_ALLOC_REMAP
673 bool 687 bool
674 depends on NUMA 688 depends on X86_32 && NUMA
675 default y 689 default y
676 690
677config ARCH_FLATMEM_ENABLE 691config ARCH_FLATMEM_ENABLE
678 def_bool y 692 def_bool y
679 depends on (ARCH_SELECT_MEMORY_MODEL && X86_PC) 693 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC
680 694
681config ARCH_DISCONTIGMEM_ENABLE 695config ARCH_DISCONTIGMEM_ENABLE
682 def_bool y 696 def_bool y
@@ -689,11 +703,11 @@ config ARCH_DISCONTIGMEM_DEFAULT
689config ARCH_SPARSEMEM_ENABLE 703config ARCH_SPARSEMEM_ENABLE
690 def_bool y 704 def_bool y
691 depends on (NUMA || (X86_PC && EXPERIMENTAL)) 705 depends on (NUMA || (X86_PC && EXPERIMENTAL))
692 select SPARSEMEM_STATIC 706 select SPARSEMEM_STATIC if X86_32
693 707
694config ARCH_SELECT_MEMORY_MODEL 708config ARCH_SELECT_MEMORY_MODEL
695 def_bool y 709 def_bool y
696 depends on ARCH_SPARSEMEM_ENABLE 710 depends on X86_32 && ARCH_SPARSEMEM_ENABLE
697 711
698config ARCH_POPULATES_NODE_MAP 712config ARCH_POPULATES_NODE_MAP
699 def_bool y 713 def_bool y
@@ -702,7 +716,7 @@ source "mm/Kconfig"
702 716
703config HIGHPTE 717config HIGHPTE
704 bool "Allocate 3rd-level pagetables from highmem" 718 bool "Allocate 3rd-level pagetables from highmem"
705 depends on HIGHMEM4G || HIGHMEM64G 719 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)
706 help 720 help
707 The VM uses one page table entry for each page of physical memory. 721 The VM uses one page table entry for each page of physical memory.
708 For systems with a lot of RAM, this can be wasteful of precious 722 For systems with a lot of RAM, this can be wasteful of precious
@@ -710,7 +724,8 @@ config HIGHPTE
710 entries in high memory. 724 entries in high memory.
711 725
712config MATH_EMULATION 726config MATH_EMULATION
713 bool "Math emulation" 727 bool
728 prompt "Math emulation" if X86_32
714 ---help--- 729 ---help---
715 Linux can emulate a math coprocessor (used for floating point 730 Linux can emulate a math coprocessor (used for floating point
716 operations) if you don't have one. 486DX and Pentium processors have 731 operations) if you don't have one. 486DX and Pentium processors have
@@ -770,7 +785,7 @@ config MTRR
770 785
771config EFI 786config EFI
772 bool "Boot from EFI support" 787 bool "Boot from EFI support"
773 depends on ACPI 788 depends on X86_32 && ACPI
774 default n 789 default n
775 ---help--- 790 ---help---
776 This enables the kernel to boot on EFI platforms using 791 This enables the kernel to boot on EFI platforms using
@@ -788,7 +803,7 @@ config EFI
788 803
789config IRQBALANCE 804config IRQBALANCE
790 bool "Enable kernel irq balancing" 805 bool "Enable kernel irq balancing"
791 depends on SMP && X86_IO_APIC 806 depends on X86_32 && SMP && X86_IO_APIC
792 default y 807 default y
793 help 808 help
794 The default yes will allow the kernel to do irq load balancing. 809 The default yes will allow the kernel to do irq load balancing.
@@ -798,7 +813,7 @@ config IRQBALANCE
798# Summit needs it only when NUMA is on 813# Summit needs it only when NUMA is on
799config BOOT_IOREMAP 814config BOOT_IOREMAP
800 bool 815 bool
801 depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI)) 816 depends on X86_32 && (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
802 default y 817 default y
803 818
804config SECCOMP 819config SECCOMP
@@ -907,7 +922,8 @@ config RELOCATABLE
907 kernel. 922 kernel.
908 923
909config PHYSICAL_ALIGN 924config PHYSICAL_ALIGN
910 hex "Alignment value to which kernel should be aligned" 925 hex
926 prompt "Alignment value to which kernel should be aligned" if X86_32
911 default "0x100000" 927 default "0x100000"
912 range 0x2000 0x400000 928 range 0x2000 0x400000
913 help 929 help
@@ -940,6 +956,7 @@ config HOTPLUG_CPU
940config COMPAT_VDSO 956config COMPAT_VDSO
941 bool "Compat VDSO support" 957 bool "Compat VDSO support"
942 default y 958 default y
959 depends on X86_32
943 help 960 help
944 Map the VDSO to the predictable old-style address too. 961 Map the VDSO to the predictable old-style address too.
945 ---help--- 962 ---help---
@@ -974,7 +991,7 @@ config GENERIC_PENDING_IRQ
974 991
975config X86_SMP 992config X86_SMP
976 bool 993 bool
977 depends on SMP && !X86_VOYAGER 994 depends on X86_32 && SMP && !X86_VOYAGER
978 default y 995 default y
979 996
980config X86_HT 997config X86_HT
@@ -984,7 +1001,7 @@ config X86_HT
984 1001
985config X86_BIOS_REBOOT 1002config X86_BIOS_REBOOT
986 bool 1003 bool
987 depends on !(X86_VISWS || X86_VOYAGER) 1004 depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
988 default y 1005 default y
989 1006
990config X86_TRAMPOLINE 1007config X86_TRAMPOLINE
@@ -993,7 +1010,6 @@ config X86_TRAMPOLINE
993 default y 1010 default y
994 1011
995config KTIME_SCALAR 1012config KTIME_SCALAR
996 bool 1013 def_bool X86_32
997 default y
998 1014
999source "arch/x86/Kconfig" 1015source "arch/x86/Kconfig"