diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-08 05:14:58 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 05:14:58 -0400 |
commit | 3de352bbd86f890dd0c5e1c09a6a1b0b29e0f8ce (patch) | |
tree | d4c5eba8cd2abefd7c9f16d089393f0f5999cf63 /arch/x86/Kconfig | |
parent | 1b8ba39a3fad9c58532f6dad12c94d6e675be656 (diff) | |
parent | 9340e1ccdf7b9b22a2be7f51cd74e8b5e11961bf (diff) |
Merge branch 'x86/mpparse' into x86/devel
Conflicts:
arch/x86/Kconfig
arch/x86/kernel/io_apic_32.c
arch/x86/kernel/setup_64.c
arch/x86/mm/init_32.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 135 |
1 files changed, 94 insertions, 41 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7dc46ba26fb..640dc62a7fa 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -230,6 +230,27 @@ config SMP | |||
230 | 230 | ||
231 | If you don't know what to do here, say N. | 231 | If you don't know what to do here, say N. |
232 | 232 | ||
233 | config X86_FIND_SMP_CONFIG | ||
234 | def_bool y | ||
235 | depends on X86_MPPARSE || X86_VOYAGER || X86_VISWS | ||
236 | depends on X86_32 | ||
237 | |||
238 | if ACPI | ||
239 | config X86_MPPARSE | ||
240 | def_bool y | ||
241 | bool "Enable MPS table" | ||
242 | depends on X86_LOCAL_APIC && !X86_VISWS | ||
243 | help | ||
244 | For old smp systems that do not have proper acpi support. Newer systems | ||
245 | (esp with 64bit cpus) with acpi support, MADT and DSDT will override it | ||
246 | endif | ||
247 | |||
248 | if !ACPI | ||
249 | config X86_MPPARSE | ||
250 | def_bool y | ||
251 | depends on X86_LOCAL_APIC && !X86_VISWS | ||
252 | endif | ||
253 | |||
233 | choice | 254 | choice |
234 | prompt "Subarchitecture Type" | 255 | prompt "Subarchitecture Type" |
235 | default X86_PC | 256 | default X86_PC |
@@ -261,36 +282,6 @@ config X86_VOYAGER | |||
261 | If you do not specifically know you have a Voyager based machine, | 282 | If you do not specifically know you have a Voyager based machine, |
262 | say N here, otherwise the kernel you build will not be bootable. | 283 | say N here, otherwise the kernel you build will not be bootable. |
263 | 284 | ||
264 | config X86_NUMAQ | ||
265 | bool "NUMAQ (IBM/Sequent)" | ||
266 | depends on SMP && X86_32 && PCI | ||
267 | select NUMA | ||
268 | help | ||
269 | This option is used for getting Linux to run on a (IBM/Sequent) NUMA | ||
270 | multiquad box. This changes the way that processors are bootstrapped, | ||
271 | and uses Clustered Logical APIC addressing mode instead of Flat Logical. | ||
272 | You will need a new lynxer.elf file to flash your firmware with - send | ||
273 | email to <Martin.Bligh@us.ibm.com>. | ||
274 | |||
275 | config X86_SUMMIT | ||
276 | bool "Summit/EXA (IBM x440)" | ||
277 | depends on X86_32 && SMP | ||
278 | help | ||
279 | This option is needed for IBM systems that use the Summit/EXA chipset. | ||
280 | In particular, it is needed for the x440. | ||
281 | |||
282 | If you don't have one of these computers, you should say N here. | ||
283 | If you want to build a NUMA kernel, you must select ACPI. | ||
284 | |||
285 | config X86_BIGSMP | ||
286 | bool "Support for other sub-arch SMP systems with more than 8 CPUs" | ||
287 | depends on X86_32 && SMP | ||
288 | help | ||
289 | This option is needed for the systems that have more than 8 CPUs | ||
290 | and if the system is not of any sub-arch type above. | ||
291 | |||
292 | If you don't have such a system, you should say N here. | ||
293 | |||
294 | config X86_VISWS | 285 | config X86_VISWS |
295 | bool "SGI 320/540 (Visual Workstation)" | 286 | bool "SGI 320/540 (Visual Workstation)" |
296 | depends on X86_32 && !PCI | 287 | depends on X86_32 && !PCI |
@@ -304,12 +295,33 @@ config X86_VISWS | |||
304 | and vice versa. See <file:Documentation/sgi-visws.txt> for details. | 295 | and vice versa. See <file:Documentation/sgi-visws.txt> for details. |
305 | 296 | ||
306 | config X86_GENERICARCH | 297 | config X86_GENERICARCH |
307 | bool "Generic architecture (Summit, bigsmp, ES7000, default)" | 298 | bool "Generic architecture" |
308 | depends on X86_32 | 299 | depends on X86_32 |
309 | help | 300 | help |
310 | This option compiles in the Summit, bigsmp, ES7000, default subarchitectures. | 301 | This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default |
311 | It is intended for a generic binary kernel. | 302 | subarchitectures. It is intended for a generic binary kernel. |
312 | If you want a NUMA kernel, select ACPI. We need SRAT for NUMA. | 303 | if you select them all, kernel will probe it one by one. and will |
304 | fallback to default. | ||
305 | |||
306 | if X86_GENERICARCH | ||
307 | |||
308 | config X86_NUMAQ | ||
309 | bool "NUMAQ (IBM/Sequent)" | ||
310 | depends on SMP && X86_32 && PCI && X86_MPPARSE | ||
311 | select NUMA | ||
312 | help | ||
313 | This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) | ||
314 | NUMA multiquad box. This changes the way that processors are | ||
315 | bootstrapped, and uses Clustered Logical APIC addressing mode instead | ||
316 | of Flat Logical. You will need a new lynxer.elf file to flash your | ||
317 | firmware with - send email to <Martin.Bligh@us.ibm.com>. | ||
318 | |||
319 | config X86_SUMMIT | ||
320 | bool "Summit/EXA (IBM x440)" | ||
321 | depends on X86_32 && SMP | ||
322 | help | ||
323 | This option is needed for IBM systems that use the Summit/EXA chipset. | ||
324 | In particular, it is needed for the x440. | ||
313 | 325 | ||
314 | config X86_ES7000 | 326 | config X86_ES7000 |
315 | bool "Support for Unisys ES7000 IA32 series" | 327 | bool "Support for Unisys ES7000 IA32 series" |
@@ -317,8 +329,15 @@ config X86_ES7000 | |||
317 | help | 329 | help |
318 | Support for Unisys ES7000 systems. Say 'Y' here if this kernel is | 330 | Support for Unisys ES7000 systems. Say 'Y' here if this kernel is |
319 | supposed to run on an IA32-based Unisys ES7000 system. | 331 | supposed to run on an IA32-based Unisys ES7000 system. |
320 | Only choose this option if you have such a system, otherwise you | 332 | |
321 | should say N here. | 333 | config X86_BIGSMP |
334 | bool "Support for big SMP systems with more than 8 CPUs" | ||
335 | depends on X86_32 && SMP | ||
336 | help | ||
337 | This option is needed for the systems that have more than 8 CPUs | ||
338 | and if the system is not of any sub-arch type above. | ||
339 | |||
340 | endif | ||
322 | 341 | ||
323 | config X86_RDC321X | 342 | config X86_RDC321X |
324 | bool "RDC R-321x SoC" | 343 | bool "RDC R-321x SoC" |
@@ -432,7 +451,7 @@ config MEMTEST | |||
432 | 451 | ||
433 | config ACPI_SRAT | 452 | config ACPI_SRAT |
434 | def_bool y | 453 | def_bool y |
435 | depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) | 454 | depends on X86_32 && ACPI && NUMA && X86_GENERICARCH |
436 | select ACPI_NUMA | 455 | select ACPI_NUMA |
437 | 456 | ||
438 | config HAVE_ARCH_PARSE_SRAT | 457 | config HAVE_ARCH_PARSE_SRAT |
@@ -441,11 +460,11 @@ config HAVE_ARCH_PARSE_SRAT | |||
441 | 460 | ||
442 | config X86_SUMMIT_NUMA | 461 | config X86_SUMMIT_NUMA |
443 | def_bool y | 462 | def_bool y |
444 | depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH) | 463 | depends on X86_32 && NUMA && X86_GENERICARCH |
445 | 464 | ||
446 | config X86_CYCLONE_TIMER | 465 | config X86_CYCLONE_TIMER |
447 | def_bool y | 466 | def_bool y |
448 | depends on X86_32 && X86_SUMMIT || X86_GENERICARCH | 467 | depends on X86_GENERICARCH |
449 | 468 | ||
450 | config ES7000_CLUSTERED_APIC | 469 | config ES7000_CLUSTERED_APIC |
451 | def_bool y | 470 | def_bool y |
@@ -910,9 +929,9 @@ config X86_PAE | |||
910 | config NUMA | 929 | config NUMA |
911 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" | 930 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" |
912 | depends on SMP | 931 | depends on SMP |
913 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL) | 932 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) |
914 | default n if X86_PC | 933 | default n if X86_PC |
915 | default y if (X86_NUMAQ || X86_SUMMIT) | 934 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) |
916 | help | 935 | help |
917 | Enable NUMA (Non Uniform Memory Access) support. | 936 | Enable NUMA (Non Uniform Memory Access) support. |
918 | The kernel will try to allocate memory used by a CPU on the | 937 | The kernel will try to allocate memory used by a CPU on the |
@@ -1089,6 +1108,40 @@ config MTRR | |||
1089 | 1108 | ||
1090 | See <file:Documentation/mtrr.txt> for more information. | 1109 | See <file:Documentation/mtrr.txt> for more information. |
1091 | 1110 | ||
1111 | config MTRR_SANITIZER | ||
1112 | def_bool y | ||
1113 | prompt "MTRR cleanup support" | ||
1114 | depends on MTRR | ||
1115 | help | ||
1116 | Convert MTRR layout from continuous to discrete, so some X driver | ||
1117 | could add WB entries. | ||
1118 | |||
1119 | Say N here if you see bootup problems (boot crash, boot hang, | ||
1120 | spontaneous reboots). | ||
1121 | |||
1122 | Could be disabled with disable_mtrr_cleanup. Also mtrr_chunk_size | ||
1123 | could be used to send largest mtrr entry size for continuous block | ||
1124 | to hold holes (aka. UC entries) | ||
1125 | |||
1126 | If unsure, say Y. | ||
1127 | |||
1128 | config MTRR_SANITIZER_ENABLE_DEFAULT | ||
1129 | int "MTRR cleanup enable value (0-1)" | ||
1130 | range 0 1 | ||
1131 | default "0" | ||
1132 | depends on MTRR_SANITIZER | ||
1133 | help | ||
1134 | Enable mtrr cleanup default value | ||
1135 | |||
1136 | config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT | ||
1137 | int "MTRR cleanup spare reg num (0-7)" | ||
1138 | range 0 7 | ||
1139 | default "1" | ||
1140 | depends on MTRR_SANITIZER | ||
1141 | help | ||
1142 | mtrr cleanup spare entries default, it can be changed via | ||
1143 | mtrr_spare_reg_nr= | ||
1144 | |||
1092 | config X86_PAT | 1145 | config X86_PAT |
1093 | bool | 1146 | bool |
1094 | prompt "x86 PAT support" | 1147 | prompt "x86 PAT support" |