diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-02-24 19:11:51 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-02-24 19:11:51 -0500 |
commit | 638bee71c83a2837b48062fdc5b222163cf53d79 (patch) | |
tree | 9c1699c07a5aa547d769138317279b8ee1ba89e8 /arch/x86/Kconfig | |
parent | 2aaa822984b97efd894d10d1e1382206ef0291a7 (diff) | |
parent | a852cbfaaf8122827602027b1614971cfd832304 (diff) |
Merge branch 'x86/core' into x86/mce2
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 649 |
1 files changed, 333 insertions, 316 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 52d7013785fe..bd720a67f559 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -5,7 +5,7 @@ mainmenu "Linux Kernel Configuration for x86" | |||
5 | config 64BIT | 5 | config 64BIT |
6 | bool "64-bit kernel" if ARCH = "x86" | 6 | bool "64-bit kernel" if ARCH = "x86" |
7 | default ARCH = "x86_64" | 7 | default ARCH = "x86_64" |
8 | help | 8 | ---help--- |
9 | Say yes to build a 64-bit kernel - formerly known as x86_64 | 9 | Say yes to build a 64-bit kernel - formerly known as x86_64 |
10 | Say no to build a 32-bit kernel - formerly known as i386 | 10 | Say no to build a 32-bit kernel - formerly known as i386 |
11 | 11 | ||
@@ -34,8 +34,8 @@ config X86 | |||
34 | select HAVE_FUNCTION_TRACER | 34 | select HAVE_FUNCTION_TRACER |
35 | select HAVE_FUNCTION_GRAPH_TRACER | 35 | select HAVE_FUNCTION_GRAPH_TRACER |
36 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST | 36 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST |
37 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) | 37 | select HAVE_KVM |
38 | select HAVE_ARCH_KGDB if !X86_VOYAGER | 38 | select HAVE_ARCH_KGDB |
39 | select HAVE_ARCH_TRACEHOOK | 39 | select HAVE_ARCH_TRACEHOOK |
40 | select HAVE_GENERIC_DMA_COHERENT if X86_32 | 40 | select HAVE_GENERIC_DMA_COHERENT if X86_32 |
41 | select HAVE_EFFICIENT_UNALIGNED_ACCESS | 41 | select HAVE_EFFICIENT_UNALIGNED_ACCESS |
@@ -133,18 +133,16 @@ config ARCH_HAS_CACHE_LINE_SIZE | |||
133 | def_bool y | 133 | def_bool y |
134 | 134 | ||
135 | config HAVE_SETUP_PER_CPU_AREA | 135 | config HAVE_SETUP_PER_CPU_AREA |
136 | def_bool X86_64_SMP || (X86_SMP && !X86_VOYAGER) | 136 | def_bool y |
137 | 137 | ||
138 | config HAVE_CPUMASK_OF_CPU_MAP | 138 | config HAVE_CPUMASK_OF_CPU_MAP |
139 | def_bool X86_64_SMP | 139 | def_bool X86_64_SMP |
140 | 140 | ||
141 | config ARCH_HIBERNATION_POSSIBLE | 141 | config ARCH_HIBERNATION_POSSIBLE |
142 | def_bool y | 142 | def_bool y |
143 | depends on !SMP || !X86_VOYAGER | ||
144 | 143 | ||
145 | config ARCH_SUSPEND_POSSIBLE | 144 | config ARCH_SUSPEND_POSSIBLE |
146 | def_bool y | 145 | def_bool y |
147 | depends on !X86_VOYAGER | ||
148 | 146 | ||
149 | config ZONE_DMA32 | 147 | config ZONE_DMA32 |
150 | bool | 148 | bool |
@@ -174,11 +172,6 @@ config GENERIC_PENDING_IRQ | |||
174 | depends on GENERIC_HARDIRQS && SMP | 172 | depends on GENERIC_HARDIRQS && SMP |
175 | default y | 173 | default y |
176 | 174 | ||
177 | config X86_SMP | ||
178 | bool | ||
179 | depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) | ||
180 | default y | ||
181 | |||
182 | config USE_GENERIC_SMP_HELPERS | 175 | config USE_GENERIC_SMP_HELPERS |
183 | def_bool y | 176 | def_bool y |
184 | depends on SMP | 177 | depends on SMP |
@@ -194,19 +187,17 @@ config X86_64_SMP | |||
194 | config X86_HT | 187 | config X86_HT |
195 | bool | 188 | bool |
196 | depends on SMP | 189 | depends on SMP |
197 | depends on (X86_32 && !X86_VOYAGER) || X86_64 | ||
198 | default y | ||
199 | |||
200 | config X86_BIOS_REBOOT | ||
201 | bool | ||
202 | depends on !X86_VOYAGER | ||
203 | default y | 190 | default y |
204 | 191 | ||
205 | config X86_TRAMPOLINE | 192 | config X86_TRAMPOLINE |
206 | bool | 193 | bool |
207 | depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP) | 194 | depends on SMP || (64BIT && ACPI_SLEEP) |
208 | default y | 195 | default y |
209 | 196 | ||
197 | config X86_32_LAZY_GS | ||
198 | def_bool y | ||
199 | depends on X86_32 && !CC_STACKPROTECTOR | ||
200 | |||
210 | config KTIME_SCALAR | 201 | config KTIME_SCALAR |
211 | def_bool X86_32 | 202 | def_bool X86_32 |
212 | source "init/Kconfig" | 203 | source "init/Kconfig" |
@@ -244,14 +235,24 @@ config SMP | |||
244 | 235 | ||
245 | If you don't know what to do here, say N. | 236 | If you don't know what to do here, say N. |
246 | 237 | ||
247 | config X86_HAS_BOOT_CPU_ID | 238 | config X86_X2APIC |
248 | def_bool y | 239 | bool "Support x2apic" |
249 | depends on X86_VOYAGER | 240 | depends on X86_LOCAL_APIC && X86_64 |
241 | ---help--- | ||
242 | This enables x2apic support on CPUs that have this feature. | ||
243 | |||
244 | This allows 32-bit apic IDs (so it can support very large systems), | ||
245 | and accesses the local apic via MSRs not via mmio. | ||
246 | |||
247 | ( On certain CPU models you may need to enable INTR_REMAP too, | ||
248 | to get functional x2apic mode. ) | ||
249 | |||
250 | If you don't know what to do here, say N. | ||
250 | 251 | ||
251 | config SPARSE_IRQ | 252 | config SPARSE_IRQ |
252 | bool "Support sparse irq numbering" | 253 | bool "Support sparse irq numbering" |
253 | depends on PCI_MSI || HT_IRQ | 254 | depends on PCI_MSI || HT_IRQ |
254 | help | 255 | ---help--- |
255 | This enables support for sparse irqs. This is useful for distro | 256 | This enables support for sparse irqs. This is useful for distro |
256 | kernels that want to define a high CONFIG_NR_CPUS value but still | 257 | kernels that want to define a high CONFIG_NR_CPUS value but still |
257 | want to have low kernel memory footprint on smaller machines. | 258 | want to have low kernel memory footprint on smaller machines. |
@@ -265,114 +266,140 @@ config NUMA_MIGRATE_IRQ_DESC | |||
265 | bool "Move irq desc when changing irq smp_affinity" | 266 | bool "Move irq desc when changing irq smp_affinity" |
266 | depends on SPARSE_IRQ && NUMA | 267 | depends on SPARSE_IRQ && NUMA |
267 | default n | 268 | default n |
268 | help | 269 | ---help--- |
269 | This enables moving irq_desc to cpu/node that irq will use handled. | 270 | This enables moving irq_desc to cpu/node that irq will use handled. |
270 | 271 | ||
271 | If you don't know what to do here, say N. | 272 | If you don't know what to do here, say N. |
272 | 273 | ||
273 | config X86_FIND_SMP_CONFIG | ||
274 | def_bool y | ||
275 | depends on X86_MPPARSE || X86_VOYAGER | ||
276 | |||
277 | config X86_MPPARSE | 274 | config X86_MPPARSE |
278 | bool "Enable MPS table" if ACPI | 275 | bool "Enable MPS table" if ACPI |
279 | default y | 276 | default y |
280 | depends on X86_LOCAL_APIC | 277 | depends on X86_LOCAL_APIC |
281 | help | 278 | ---help--- |
282 | For old smp systems that do not have proper acpi support. Newer systems | 279 | For old smp systems that do not have proper acpi support. Newer systems |
283 | (esp with 64bit cpus) with acpi support, MADT and DSDT will override it | 280 | (esp with 64bit cpus) with acpi support, MADT and DSDT will override it |
284 | 281 | ||
285 | choice | 282 | config X86_BIGSMP |
286 | prompt "Subarchitecture Type" | 283 | bool "Support for big SMP systems with more than 8 CPUs" |
287 | default X86_PC | 284 | depends on X86_32 && SMP |
285 | ---help--- | ||
286 | This option is needed for the systems that have more than 8 CPUs | ||
288 | 287 | ||
289 | config X86_PC | 288 | if X86_32 |
290 | bool "PC-compatible" | 289 | config X86_EXTENDED_PLATFORM |
291 | help | 290 | bool "Support for extended (non-PC) x86 platforms" |
292 | Choose this option if your computer is a standard PC or compatible. | 291 | default y |
292 | ---help--- | ||
293 | If you disable this option then the kernel will only support | ||
294 | standard PC platforms. (which covers the vast majority of | ||
295 | systems out there.) | ||
296 | |||
297 | If you enable this option then you'll be able to select support | ||
298 | for the following (non-PC) 32 bit x86 platforms: | ||
299 | AMD Elan | ||
300 | NUMAQ (IBM/Sequent) | ||
301 | RDC R-321x SoC | ||
302 | SGI 320/540 (Visual Workstation) | ||
303 | Summit/EXA (IBM x440) | ||
304 | Unisys ES7000 IA32 series | ||
305 | |||
306 | If you have one of these systems, or if you want to build a | ||
307 | generic distribution kernel, say Y here - otherwise say N. | ||
308 | endif | ||
309 | |||
310 | if X86_64 | ||
311 | config X86_EXTENDED_PLATFORM | ||
312 | bool "Support for extended (non-PC) x86 platforms" | ||
313 | default y | ||
314 | ---help--- | ||
315 | If you disable this option then the kernel will only support | ||
316 | standard PC platforms. (which covers the vast majority of | ||
317 | systems out there.) | ||
318 | |||
319 | If you enable this option then you'll be able to select support | ||
320 | for the following (non-PC) 64 bit x86 platforms: | ||
321 | ScaleMP vSMP | ||
322 | SGI Ultraviolet | ||
323 | |||
324 | If you have one of these systems, or if you want to build a | ||
325 | generic distribution kernel, say Y here - otherwise say N. | ||
326 | endif | ||
327 | # This is an alphabetically sorted list of 64 bit extended platforms | ||
328 | # Please maintain the alphabetic order if and when there are additions | ||
329 | |||
330 | config X86_VSMP | ||
331 | bool "ScaleMP vSMP" | ||
332 | select PARAVIRT | ||
333 | depends on X86_64 && PCI | ||
334 | depends on X86_EXTENDED_PLATFORM | ||
335 | ---help--- | ||
336 | Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is | ||
337 | supposed to run on these EM64T-based machines. Only choose this option | ||
338 | if you have one of these machines. | ||
339 | |||
340 | config X86_UV | ||
341 | bool "SGI Ultraviolet" | ||
342 | depends on X86_64 | ||
343 | depends on X86_EXTENDED_PLATFORM | ||
344 | select X86_X2APIC | ||
345 | ---help--- | ||
346 | This option is needed in order to support SGI Ultraviolet systems. | ||
347 | If you don't have one of these, you should say N here. | ||
348 | |||
349 | # Following is an alphabetically sorted list of 32 bit extended platforms | ||
350 | # Please maintain the alphabetic order if and when there are additions | ||
293 | 351 | ||
294 | config X86_ELAN | 352 | config X86_ELAN |
295 | bool "AMD Elan" | 353 | bool "AMD Elan" |
296 | depends on X86_32 | 354 | depends on X86_32 |
297 | help | 355 | depends on X86_EXTENDED_PLATFORM |
356 | ---help--- | ||
298 | Select this for an AMD Elan processor. | 357 | Select this for an AMD Elan processor. |
299 | 358 | ||
300 | Do not use this option for K6/Athlon/Opteron processors! | 359 | Do not use this option for K6/Athlon/Opteron processors! |
301 | 360 | ||
302 | If unsure, choose "PC-compatible" instead. | 361 | If unsure, choose "PC-compatible" instead. |
303 | 362 | ||
304 | config X86_VOYAGER | 363 | config X86_RDC321X |
305 | bool "Voyager (NCR)" | 364 | bool "RDC R-321x SoC" |
306 | depends on X86_32 && (SMP || BROKEN) && !PCI | ||
307 | help | ||
308 | Voyager is an MCA-based 32-way capable SMP architecture proprietary | ||
309 | to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based. | ||
310 | |||
311 | *** WARNING *** | ||
312 | |||
313 | If you do not specifically know you have a Voyager based machine, | ||
314 | say N here, otherwise the kernel you build will not be bootable. | ||
315 | |||
316 | config X86_GENERICARCH | ||
317 | bool "Generic architecture" | ||
318 | depends on X86_32 | 365 | depends on X86_32 |
319 | help | 366 | depends on X86_EXTENDED_PLATFORM |
320 | This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default | 367 | select M486 |
368 | select X86_REBOOTFIXUPS | ||
369 | ---help--- | ||
370 | This option is needed for RDC R-321x system-on-chip, also known | ||
371 | as R-8610-(G). | ||
372 | If you don't have one of these chips, you should say N here. | ||
373 | |||
374 | config X86_32_NON_STANDARD | ||
375 | bool "Support non-standard 32-bit SMP architectures" | ||
376 | depends on X86_32 && SMP | ||
377 | depends on X86_EXTENDED_PLATFORM | ||
378 | ---help--- | ||
379 | This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default | ||
321 | subarchitectures. It is intended for a generic binary kernel. | 380 | subarchitectures. It is intended for a generic binary kernel. |
322 | if you select them all, kernel will probe it one by one. and will | 381 | if you select them all, kernel will probe it one by one. and will |
323 | fallback to default. | 382 | fallback to default. |
324 | 383 | ||
325 | if X86_GENERICARCH | 384 | # Alphabetically sorted list of Non standard 32 bit platforms |
326 | 385 | ||
327 | config X86_NUMAQ | 386 | config X86_NUMAQ |
328 | bool "NUMAQ (IBM/Sequent)" | 387 | bool "NUMAQ (IBM/Sequent)" |
329 | depends on SMP && X86_32 && PCI && X86_MPPARSE | 388 | depends on X86_32_NON_STANDARD |
330 | select NUMA | 389 | select NUMA |
331 | help | 390 | select X86_MPPARSE |
391 | ---help--- | ||
332 | This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) | 392 | This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) |
333 | NUMA multiquad box. This changes the way that processors are | 393 | NUMA multiquad box. This changes the way that processors are |
334 | bootstrapped, and uses Clustered Logical APIC addressing mode instead | 394 | bootstrapped, and uses Clustered Logical APIC addressing mode instead |
335 | of Flat Logical. You will need a new lynxer.elf file to flash your | 395 | of Flat Logical. You will need a new lynxer.elf file to flash your |
336 | firmware with - send email to <Martin.Bligh@us.ibm.com>. | 396 | firmware with - send email to <Martin.Bligh@us.ibm.com>. |
337 | 397 | ||
338 | config X86_SUMMIT | ||
339 | bool "Summit/EXA (IBM x440)" | ||
340 | depends on X86_32 && SMP | ||
341 | help | ||
342 | This option is needed for IBM systems that use the Summit/EXA chipset. | ||
343 | In particular, it is needed for the x440. | ||
344 | |||
345 | config X86_ES7000 | ||
346 | bool "Support for Unisys ES7000 IA32 series" | ||
347 | depends on X86_32 && SMP | ||
348 | help | ||
349 | Support for Unisys ES7000 systems. Say 'Y' here if this kernel is | ||
350 | supposed to run on an IA32-based Unisys ES7000 system. | ||
351 | |||
352 | config X86_BIGSMP | ||
353 | bool "Support for big SMP systems with more than 8 CPUs" | ||
354 | depends on X86_32 && SMP | ||
355 | help | ||
356 | This option is needed for the systems that have more than 8 CPUs | ||
357 | and if the system is not of any sub-arch type above. | ||
358 | |||
359 | endif | ||
360 | |||
361 | config X86_VSMP | ||
362 | bool "Support for ScaleMP vSMP" | ||
363 | select PARAVIRT | ||
364 | depends on X86_64 && PCI | ||
365 | help | ||
366 | Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is | ||
367 | supposed to run on these EM64T-based machines. Only choose this option | ||
368 | if you have one of these machines. | ||
369 | |||
370 | endchoice | ||
371 | |||
372 | config X86_VISWS | 398 | config X86_VISWS |
373 | bool "SGI 320/540 (Visual Workstation)" | 399 | bool "SGI 320/540 (Visual Workstation)" |
374 | depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT | 400 | depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT |
375 | help | 401 | depends on X86_32_NON_STANDARD |
402 | ---help--- | ||
376 | The SGI Visual Workstation series is an IA32-based workstation | 403 | The SGI Visual Workstation series is an IA32-based workstation |
377 | based on SGI systems chips with some legacy PC hardware attached. | 404 | based on SGI systems chips with some legacy PC hardware attached. |
378 | 405 | ||
@@ -381,21 +408,25 @@ config X86_VISWS | |||
381 | A kernel compiled for the Visual Workstation will run on general | 408 | A kernel compiled for the Visual Workstation will run on general |
382 | PCs as well. See <file:Documentation/sgi-visws.txt> for details. | 409 | PCs as well. See <file:Documentation/sgi-visws.txt> for details. |
383 | 410 | ||
384 | config X86_RDC321X | 411 | config X86_SUMMIT |
385 | bool "RDC R-321x SoC" | 412 | bool "Summit/EXA (IBM x440)" |
386 | depends on X86_32 | 413 | depends on X86_32_NON_STANDARD |
387 | select M486 | 414 | ---help--- |
388 | select X86_REBOOTFIXUPS | 415 | This option is needed for IBM systems that use the Summit/EXA chipset. |
389 | help | 416 | In particular, it is needed for the x440. |
390 | This option is needed for RDC R-321x system-on-chip, also known | 417 | |
391 | as R-8610-(G). | 418 | config X86_ES7000 |
392 | If you don't have one of these chips, you should say N here. | 419 | bool "Unisys ES7000 IA32 series" |
420 | depends on X86_32_NON_STANDARD && X86_BIGSMP | ||
421 | ---help--- | ||
422 | Support for Unisys ES7000 systems. Say 'Y' here if this kernel is | ||
423 | supposed to run on an IA32-based Unisys ES7000 system. | ||
393 | 424 | ||
394 | config SCHED_OMIT_FRAME_POINTER | 425 | config SCHED_OMIT_FRAME_POINTER |
395 | def_bool y | 426 | def_bool y |
396 | prompt "Single-depth WCHAN output" | 427 | prompt "Single-depth WCHAN output" |
397 | depends on X86 | 428 | depends on X86 |
398 | help | 429 | ---help--- |
399 | Calculate simpler /proc/<PID>/wchan values. If this option | 430 | Calculate simpler /proc/<PID>/wchan values. If this option |
400 | is disabled then wchan values will recurse back to the | 431 | is disabled then wchan values will recurse back to the |
401 | caller function. This provides more accurate wchan values, | 432 | caller function. This provides more accurate wchan values, |
@@ -405,7 +436,7 @@ config SCHED_OMIT_FRAME_POINTER | |||
405 | 436 | ||
406 | menuconfig PARAVIRT_GUEST | 437 | menuconfig PARAVIRT_GUEST |
407 | bool "Paravirtualized guest support" | 438 | bool "Paravirtualized guest support" |
408 | help | 439 | ---help--- |
409 | Say Y here to get to see options related to running Linux under | 440 | Say Y here to get to see options related to running Linux under |
410 | various hypervisors. This option alone does not add any kernel code. | 441 | various hypervisors. This option alone does not add any kernel code. |
411 | 442 | ||
@@ -419,8 +450,7 @@ config VMI | |||
419 | bool "VMI Guest support" | 450 | bool "VMI Guest support" |
420 | select PARAVIRT | 451 | select PARAVIRT |
421 | depends on X86_32 | 452 | depends on X86_32 |
422 | depends on !X86_VOYAGER | 453 | ---help--- |
423 | help | ||
424 | VMI provides a paravirtualized interface to the VMware ESX server | 454 | VMI provides a paravirtualized interface to the VMware ESX server |
425 | (it could be used by other hypervisors in theory too, but is not | 455 | (it could be used by other hypervisors in theory too, but is not |
426 | at the moment), by linking the kernel to a GPL-ed ROM module | 456 | at the moment), by linking the kernel to a GPL-ed ROM module |
@@ -430,8 +460,7 @@ config KVM_CLOCK | |||
430 | bool "KVM paravirtualized clock" | 460 | bool "KVM paravirtualized clock" |
431 | select PARAVIRT | 461 | select PARAVIRT |
432 | select PARAVIRT_CLOCK | 462 | select PARAVIRT_CLOCK |
433 | depends on !X86_VOYAGER | 463 | ---help--- |
434 | help | ||
435 | Turning on this option will allow you to run a paravirtualized clock | 464 | Turning on this option will allow you to run a paravirtualized clock |
436 | when running over the KVM hypervisor. Instead of relying on a PIT | 465 | when running over the KVM hypervisor. Instead of relying on a PIT |
437 | (or probably other) emulation by the underlying device model, the host | 466 | (or probably other) emulation by the underlying device model, the host |
@@ -441,17 +470,15 @@ config KVM_CLOCK | |||
441 | config KVM_GUEST | 470 | config KVM_GUEST |
442 | bool "KVM Guest support" | 471 | bool "KVM Guest support" |
443 | select PARAVIRT | 472 | select PARAVIRT |
444 | depends on !X86_VOYAGER | 473 | ---help--- |
445 | help | 474 | This option enables various optimizations for running under the KVM |
446 | This option enables various optimizations for running under the KVM | 475 | hypervisor. |
447 | hypervisor. | ||
448 | 476 | ||
449 | source "arch/x86/lguest/Kconfig" | 477 | source "arch/x86/lguest/Kconfig" |
450 | 478 | ||
451 | config PARAVIRT | 479 | config PARAVIRT |
452 | bool "Enable paravirtualization code" | 480 | bool "Enable paravirtualization code" |
453 | depends on !X86_VOYAGER | 481 | ---help--- |
454 | help | ||
455 | This changes the kernel so it can modify itself when it is run | 482 | This changes the kernel so it can modify itself when it is run |
456 | under a hypervisor, potentially improving performance significantly | 483 | under a hypervisor, potentially improving performance significantly |
457 | over full virtualization. However, when run without a hypervisor | 484 | over full virtualization. However, when run without a hypervisor |
@@ -464,51 +491,51 @@ config PARAVIRT_CLOCK | |||
464 | endif | 491 | endif |
465 | 492 | ||
466 | config PARAVIRT_DEBUG | 493 | config PARAVIRT_DEBUG |
467 | bool "paravirt-ops debugging" | 494 | bool "paravirt-ops debugging" |
468 | depends on PARAVIRT && DEBUG_KERNEL | 495 | depends on PARAVIRT && DEBUG_KERNEL |
469 | help | 496 | ---help--- |
470 | Enable to debug paravirt_ops internals. Specifically, BUG if | 497 | Enable to debug paravirt_ops internals. Specifically, BUG if |
471 | a paravirt_op is missing when it is called. | 498 | a paravirt_op is missing when it is called. |
472 | 499 | ||
473 | config MEMTEST | 500 | config MEMTEST |
474 | bool "Memtest" | 501 | bool "Memtest" |
475 | help | 502 | ---help--- |
476 | This option adds a kernel parameter 'memtest', which allows memtest | 503 | This option adds a kernel parameter 'memtest', which allows memtest |
477 | to be set. | 504 | to be set. |
478 | memtest=0, mean disabled; -- default | 505 | memtest=0, mean disabled; -- default |
479 | memtest=1, mean do 1 test pattern; | 506 | memtest=1, mean do 1 test pattern; |
480 | ... | 507 | ... |
481 | memtest=4, mean do 4 test patterns. | 508 | memtest=4, mean do 4 test patterns. |
482 | If you are unsure how to answer this question, answer N. | 509 | If you are unsure how to answer this question, answer N. |
483 | 510 | ||
484 | config X86_SUMMIT_NUMA | 511 | config X86_SUMMIT_NUMA |
485 | def_bool y | 512 | def_bool y |
486 | depends on X86_32 && NUMA && X86_GENERICARCH | 513 | depends on X86_32 && NUMA && X86_32_NON_STANDARD |
487 | 514 | ||
488 | config X86_CYCLONE_TIMER | 515 | config X86_CYCLONE_TIMER |
489 | def_bool y | 516 | def_bool y |
490 | depends on X86_GENERICARCH | 517 | depends on X86_32_NON_STANDARD |
491 | 518 | ||
492 | source "arch/x86/Kconfig.cpu" | 519 | source "arch/x86/Kconfig.cpu" |
493 | 520 | ||
494 | config HPET_TIMER | 521 | config HPET_TIMER |
495 | def_bool X86_64 | 522 | def_bool X86_64 |
496 | prompt "HPET Timer Support" if X86_32 | 523 | prompt "HPET Timer Support" if X86_32 |
497 | help | 524 | ---help--- |
498 | Use the IA-PC HPET (High Precision Event Timer) to manage | 525 | Use the IA-PC HPET (High Precision Event Timer) to manage |
499 | time in preference to the PIT and RTC, if a HPET is | 526 | time in preference to the PIT and RTC, if a HPET is |
500 | present. | 527 | present. |
501 | HPET is the next generation timer replacing legacy 8254s. | 528 | HPET is the next generation timer replacing legacy 8254s. |
502 | The HPET provides a stable time base on SMP | 529 | The HPET provides a stable time base on SMP |
503 | systems, unlike the TSC, but it is more expensive to access, | 530 | systems, unlike the TSC, but it is more expensive to access, |
504 | as it is off-chip. You can find the HPET spec at | 531 | as it is off-chip. You can find the HPET spec at |
505 | <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>. | 532 | <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>. |
506 | 533 | ||
507 | You can safely choose Y here. However, HPET will only be | 534 | You can safely choose Y here. However, HPET will only be |
508 | activated if the platform and the BIOS support this feature. | 535 | activated if the platform and the BIOS support this feature. |
509 | Otherwise the 8254 will be used for timing services. | 536 | Otherwise the 8254 will be used for timing services. |
510 | 537 | ||
511 | Choose N to continue using the legacy 8254 timer. | 538 | Choose N to continue using the legacy 8254 timer. |
512 | 539 | ||
513 | config HPET_EMULATE_RTC | 540 | config HPET_EMULATE_RTC |
514 | def_bool y | 541 | def_bool y |
@@ -519,7 +546,7 @@ config HPET_EMULATE_RTC | |||
519 | config DMI | 546 | config DMI |
520 | default y | 547 | default y |
521 | bool "Enable DMI scanning" if EMBEDDED | 548 | bool "Enable DMI scanning" if EMBEDDED |
522 | help | 549 | ---help--- |
523 | Enabled scanning of DMI to identify machine quirks. Say Y | 550 | Enabled scanning of DMI to identify machine quirks. Say Y |
524 | here unless you have verified that your setup is not | 551 | here unless you have verified that your setup is not |
525 | affected by entries in the DMI blacklist. Required by PNP | 552 | affected by entries in the DMI blacklist. Required by PNP |
@@ -531,7 +558,7 @@ config GART_IOMMU | |||
531 | select SWIOTLB | 558 | select SWIOTLB |
532 | select AGP | 559 | select AGP |
533 | depends on X86_64 && PCI | 560 | depends on X86_64 && PCI |
534 | help | 561 | ---help--- |
535 | Support for full DMA access of devices with 32bit memory access only | 562 | Support for full DMA access of devices with 32bit memory access only |
536 | on systems with more than 3GB. This is usually needed for USB, | 563 | on systems with more than 3GB. This is usually needed for USB, |
537 | sound, many IDE/SATA chipsets and some other devices. | 564 | sound, many IDE/SATA chipsets and some other devices. |
@@ -546,7 +573,7 @@ config CALGARY_IOMMU | |||
546 | bool "IBM Calgary IOMMU support" | 573 | bool "IBM Calgary IOMMU support" |
547 | select SWIOTLB | 574 | select SWIOTLB |
548 | depends on X86_64 && PCI && EXPERIMENTAL | 575 | depends on X86_64 && PCI && EXPERIMENTAL |
549 | help | 576 | ---help--- |
550 | Support for hardware IOMMUs in IBM's xSeries x366 and x460 | 577 | Support for hardware IOMMUs in IBM's xSeries x366 and x460 |
551 | systems. Needed to run systems with more than 3GB of memory | 578 | systems. Needed to run systems with more than 3GB of memory |
552 | properly with 32-bit PCI devices that do not support DAC | 579 | properly with 32-bit PCI devices that do not support DAC |
@@ -564,7 +591,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT | |||
564 | def_bool y | 591 | def_bool y |
565 | prompt "Should Calgary be enabled by default?" | 592 | prompt "Should Calgary be enabled by default?" |
566 | depends on CALGARY_IOMMU | 593 | depends on CALGARY_IOMMU |
567 | help | 594 | ---help--- |
568 | Should Calgary be enabled by default? if you choose 'y', Calgary | 595 | Should Calgary be enabled by default? if you choose 'y', Calgary |
569 | will be used (if it exists). If you choose 'n', Calgary will not be | 596 | will be used (if it exists). If you choose 'n', Calgary will not be |
570 | used even if it exists. If you choose 'n' and would like to use | 597 | used even if it exists. If you choose 'n' and would like to use |
@@ -576,7 +603,7 @@ config AMD_IOMMU | |||
576 | select SWIOTLB | 603 | select SWIOTLB |
577 | select PCI_MSI | 604 | select PCI_MSI |
578 | depends on X86_64 && PCI && ACPI | 605 | depends on X86_64 && PCI && ACPI |
579 | help | 606 | ---help--- |
580 | With this option you can enable support for AMD IOMMU hardware in | 607 | With this option you can enable support for AMD IOMMU hardware in |
581 | your system. An IOMMU is a hardware component which provides | 608 | your system. An IOMMU is a hardware component which provides |
582 | remapping of DMA memory accesses from devices. With an AMD IOMMU you | 609 | remapping of DMA memory accesses from devices. With an AMD IOMMU you |
@@ -591,7 +618,7 @@ config AMD_IOMMU_STATS | |||
591 | bool "Export AMD IOMMU statistics to debugfs" | 618 | bool "Export AMD IOMMU statistics to debugfs" |
592 | depends on AMD_IOMMU | 619 | depends on AMD_IOMMU |
593 | select DEBUG_FS | 620 | select DEBUG_FS |
594 | help | 621 | ---help--- |
595 | This option enables code in the AMD IOMMU driver to collect various | 622 | This option enables code in the AMD IOMMU driver to collect various |
596 | statistics about whats happening in the driver and exports that | 623 | statistics about whats happening in the driver and exports that |
597 | information to userspace via debugfs. | 624 | information to userspace via debugfs. |
@@ -600,7 +627,7 @@ config AMD_IOMMU_STATS | |||
600 | # need this always selected by IOMMU for the VIA workaround | 627 | # need this always selected by IOMMU for the VIA workaround |
601 | config SWIOTLB | 628 | config SWIOTLB |
602 | def_bool y if X86_64 | 629 | def_bool y if X86_64 |
603 | help | 630 | ---help--- |
604 | Support for software bounce buffers used on x86-64 systems | 631 | Support for software bounce buffers used on x86-64 systems |
605 | which don't have a hardware IOMMU (e.g. the current generation | 632 | which don't have a hardware IOMMU (e.g. the current generation |
606 | of Intel's x86-64 CPUs). Using this PCI devices which can only | 633 | of Intel's x86-64 CPUs). Using this PCI devices which can only |
@@ -618,7 +645,7 @@ config MAXSMP | |||
618 | depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL | 645 | depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL |
619 | select CPUMASK_OFFSTACK | 646 | select CPUMASK_OFFSTACK |
620 | default n | 647 | default n |
621 | help | 648 | ---help--- |
622 | Configure maximum number of CPUS and NUMA Nodes for this architecture. | 649 | Configure maximum number of CPUS and NUMA Nodes for this architecture. |
623 | If unsure, say N. | 650 | If unsure, say N. |
624 | 651 | ||
@@ -629,7 +656,7 @@ config NR_CPUS | |||
629 | default "4096" if MAXSMP | 656 | default "4096" if MAXSMP |
630 | default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000) | 657 | default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000) |
631 | default "8" if SMP | 658 | default "8" if SMP |
632 | help | 659 | ---help--- |
633 | This allows you to specify the maximum number of CPUs which this | 660 | This allows you to specify the maximum number of CPUs which this |
634 | kernel will support. The maximum supported value is 512 and the | 661 | kernel will support. The maximum supported value is 512 and the |
635 | minimum value which makes sense is 2. | 662 | minimum value which makes sense is 2. |
@@ -640,7 +667,7 @@ config NR_CPUS | |||
640 | config SCHED_SMT | 667 | config SCHED_SMT |
641 | bool "SMT (Hyperthreading) scheduler support" | 668 | bool "SMT (Hyperthreading) scheduler support" |
642 | depends on X86_HT | 669 | depends on X86_HT |
643 | help | 670 | ---help--- |
644 | SMT scheduler support improves the CPU scheduler's decision making | 671 | SMT scheduler support improves the CPU scheduler's decision making |
645 | when dealing with Intel Pentium 4 chips with HyperThreading at a | 672 | when dealing with Intel Pentium 4 chips with HyperThreading at a |
646 | cost of slightly increased overhead in some places. If unsure say | 673 | cost of slightly increased overhead in some places. If unsure say |
@@ -650,7 +677,7 @@ config SCHED_MC | |||
650 | def_bool y | 677 | def_bool y |
651 | prompt "Multi-core scheduler support" | 678 | prompt "Multi-core scheduler support" |
652 | depends on X86_HT | 679 | depends on X86_HT |
653 | help | 680 | ---help--- |
654 | Multi-core scheduler support improves the CPU scheduler's decision | 681 | Multi-core scheduler support improves the CPU scheduler's decision |
655 | making when dealing with multi-core CPU chips at a cost of slightly | 682 | making when dealing with multi-core CPU chips at a cost of slightly |
656 | increased overhead in some places. If unsure say N here. | 683 | increased overhead in some places. If unsure say N here. |
@@ -659,8 +686,8 @@ source "kernel/Kconfig.preempt" | |||
659 | 686 | ||
660 | config X86_UP_APIC | 687 | config X86_UP_APIC |
661 | bool "Local APIC support on uniprocessors" | 688 | bool "Local APIC support on uniprocessors" |
662 | depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH) | 689 | depends on X86_32 && !SMP && !X86_32_NON_STANDARD |
663 | help | 690 | ---help--- |
664 | A local APIC (Advanced Programmable Interrupt Controller) is an | 691 | A local APIC (Advanced Programmable Interrupt Controller) is an |
665 | integrated interrupt controller in the CPU. If you have a single-CPU | 692 | integrated interrupt controller in the CPU. If you have a single-CPU |
666 | system which has a processor with a local APIC, you can say Y here to | 693 | system which has a processor with a local APIC, you can say Y here to |
@@ -673,7 +700,7 @@ config X86_UP_APIC | |||
673 | config X86_UP_IOAPIC | 700 | config X86_UP_IOAPIC |
674 | bool "IO-APIC support on uniprocessors" | 701 | bool "IO-APIC support on uniprocessors" |
675 | depends on X86_UP_APIC | 702 | depends on X86_UP_APIC |
676 | help | 703 | ---help--- |
677 | An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an | 704 | An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an |
678 | SMP-capable replacement for PC-style interrupt controllers. Most | 705 | SMP-capable replacement for PC-style interrupt controllers. Most |
679 | SMP systems and many recent uniprocessor systems have one. | 706 | SMP systems and many recent uniprocessor systems have one. |
@@ -684,11 +711,11 @@ config X86_UP_IOAPIC | |||
684 | 711 | ||
685 | config X86_LOCAL_APIC | 712 | config X86_LOCAL_APIC |
686 | def_bool y | 713 | def_bool y |
687 | depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) | 714 | depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC |
688 | 715 | ||
689 | config X86_IO_APIC | 716 | config X86_IO_APIC |
690 | def_bool y | 717 | def_bool y |
691 | depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) | 718 | depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC |
692 | 719 | ||
693 | config X86_VISWS_APIC | 720 | config X86_VISWS_APIC |
694 | def_bool y | 721 | def_bool y |
@@ -698,7 +725,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS | |||
698 | bool "Reroute for broken boot IRQs" | 725 | bool "Reroute for broken boot IRQs" |
699 | default n | 726 | default n |
700 | depends on X86_IO_APIC | 727 | depends on X86_IO_APIC |
701 | help | 728 | ---help--- |
702 | This option enables a workaround that fixes a source of | 729 | This option enables a workaround that fixes a source of |
703 | spurious interrupts. This is recommended when threaded | 730 | spurious interrupts. This is recommended when threaded |
704 | interrupt handling is used on systems where the generation of | 731 | interrupt handling is used on systems where the generation of |
@@ -720,7 +747,6 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS | |||
720 | 747 | ||
721 | config X86_MCE | 748 | config X86_MCE |
722 | bool "Machine Check Exception" | 749 | bool "Machine Check Exception" |
723 | depends on !X86_VOYAGER | ||
724 | ---help--- | 750 | ---help--- |
725 | Machine Check Exception support allows the processor to notify the | 751 | Machine Check Exception support allows the processor to notify the |
726 | kernel if it detects a problem (e.g. overheating, component failure). | 752 | kernel if it detects a problem (e.g. overheating, component failure). |
@@ -739,7 +765,7 @@ config X86_MCE_INTEL | |||
739 | def_bool y | 765 | def_bool y |
740 | prompt "Intel MCE features" | 766 | prompt "Intel MCE features" |
741 | depends on X86_64 && X86_MCE && X86_LOCAL_APIC | 767 | depends on X86_64 && X86_MCE && X86_LOCAL_APIC |
742 | help | 768 | ---help--- |
743 | Additional support for intel specific MCE features such as | 769 | Additional support for intel specific MCE features such as |
744 | the thermal monitor. | 770 | the thermal monitor. |
745 | 771 | ||
@@ -747,7 +773,7 @@ config X86_MCE_AMD | |||
747 | def_bool y | 773 | def_bool y |
748 | prompt "AMD MCE features" | 774 | prompt "AMD MCE features" |
749 | depends on X86_64 && X86_MCE && X86_LOCAL_APIC | 775 | depends on X86_64 && X86_MCE && X86_LOCAL_APIC |
750 | help | 776 | ---help--- |
751 | Additional support for AMD specific MCE features such as | 777 | Additional support for AMD specific MCE features such as |
752 | the DRAM Error Threshold. | 778 | the DRAM Error Threshold. |
753 | 779 | ||
@@ -759,7 +785,7 @@ config X86_MCE_THRESHOLD | |||
759 | config X86_MCE_NONFATAL | 785 | config X86_MCE_NONFATAL |
760 | tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" | 786 | tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" |
761 | depends on X86_32 && X86_MCE | 787 | depends on X86_32 && X86_MCE |
762 | help | 788 | ---help--- |
763 | Enabling this feature starts a timer that triggers every 5 seconds which | 789 | Enabling this feature starts a timer that triggers every 5 seconds which |
764 | will look at the machine check registers to see if anything happened. | 790 | will look at the machine check registers to see if anything happened. |
765 | Non-fatal problems automatically get corrected (but still logged). | 791 | Non-fatal problems automatically get corrected (but still logged). |
@@ -772,7 +798,7 @@ config X86_MCE_NONFATAL | |||
772 | config X86_MCE_P4THERMAL | 798 | config X86_MCE_P4THERMAL |
773 | bool "check for P4 thermal throttling interrupt." | 799 | bool "check for P4 thermal throttling interrupt." |
774 | depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) | 800 | depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) |
775 | help | 801 | ---help--- |
776 | Enabling this feature will cause a message to be printed when the P4 | 802 | Enabling this feature will cause a message to be printed when the P4 |
777 | enters thermal throttling. | 803 | enters thermal throttling. |
778 | 804 | ||
@@ -780,11 +806,11 @@ config VM86 | |||
780 | bool "Enable VM86 support" if EMBEDDED | 806 | bool "Enable VM86 support" if EMBEDDED |
781 | default y | 807 | default y |
782 | depends on X86_32 | 808 | depends on X86_32 |
783 | help | 809 | ---help--- |
784 | This option is required by programs like DOSEMU to run 16-bit legacy | 810 | This option is required by programs like DOSEMU to run 16-bit legacy |
785 | code on X86 processors. It also may be needed by software like | 811 | code on X86 processors. It also may be needed by software like |
786 | XFree86 to initialize some video cards via BIOS. Disabling this | 812 | XFree86 to initialize some video cards via BIOS. Disabling this |
787 | option saves about 6k. | 813 | option saves about 6k. |
788 | 814 | ||
789 | config TOSHIBA | 815 | config TOSHIBA |
790 | tristate "Toshiba Laptop support" | 816 | tristate "Toshiba Laptop support" |
@@ -858,33 +884,33 @@ config MICROCODE | |||
858 | module will be called microcode. | 884 | module will be called microcode. |
859 | 885 | ||
860 | config MICROCODE_INTEL | 886 | config MICROCODE_INTEL |
861 | bool "Intel microcode patch loading support" | 887 | bool "Intel microcode patch loading support" |
862 | depends on MICROCODE | 888 | depends on MICROCODE |
863 | default MICROCODE | 889 | default MICROCODE |
864 | select FW_LOADER | 890 | select FW_LOADER |
865 | --help--- | 891 | ---help--- |
866 | This options enables microcode patch loading support for Intel | 892 | This options enables microcode patch loading support for Intel |
867 | processors. | 893 | processors. |
868 | 894 | ||
869 | For latest news and information on obtaining all the required | 895 | For latest news and information on obtaining all the required |
870 | Intel ingredients for this driver, check: | 896 | Intel ingredients for this driver, check: |
871 | <http://www.urbanmyth.org/microcode/>. | 897 | <http://www.urbanmyth.org/microcode/>. |
872 | 898 | ||
873 | config MICROCODE_AMD | 899 | config MICROCODE_AMD |
874 | bool "AMD microcode patch loading support" | 900 | bool "AMD microcode patch loading support" |
875 | depends on MICROCODE | 901 | depends on MICROCODE |
876 | select FW_LOADER | 902 | select FW_LOADER |
877 | --help--- | 903 | ---help--- |
878 | If you select this option, microcode patch loading support for AMD | 904 | If you select this option, microcode patch loading support for AMD |
879 | processors will be enabled. | 905 | processors will be enabled. |
880 | 906 | ||
881 | config MICROCODE_OLD_INTERFACE | 907 | config MICROCODE_OLD_INTERFACE |
882 | def_bool y | 908 | def_bool y |
883 | depends on MICROCODE | 909 | depends on MICROCODE |
884 | 910 | ||
885 | config X86_MSR | 911 | config X86_MSR |
886 | tristate "/dev/cpu/*/msr - Model-specific register support" | 912 | tristate "/dev/cpu/*/msr - Model-specific register support" |
887 | help | 913 | ---help--- |
888 | This device gives privileged processes access to the x86 | 914 | This device gives privileged processes access to the x86 |
889 | Model-Specific Registers (MSRs). It is a character device with | 915 | Model-Specific Registers (MSRs). It is a character device with |
890 | major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. | 916 | major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. |
@@ -893,7 +919,7 @@ config X86_MSR | |||
893 | 919 | ||
894 | config X86_CPUID | 920 | config X86_CPUID |
895 | tristate "/dev/cpu/*/cpuid - CPU information support" | 921 | tristate "/dev/cpu/*/cpuid - CPU information support" |
896 | help | 922 | ---help--- |
897 | This device gives processes access to the x86 CPUID instruction to | 923 | This device gives processes access to the x86 CPUID instruction to |
898 | be executed on a specific processor. It is a character device | 924 | be executed on a specific processor. It is a character device |
899 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to | 925 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to |
@@ -945,7 +971,7 @@ config NOHIGHMEM | |||
945 | config HIGHMEM4G | 971 | config HIGHMEM4G |
946 | bool "4GB" | 972 | bool "4GB" |
947 | depends on !X86_NUMAQ | 973 | depends on !X86_NUMAQ |
948 | help | 974 | ---help--- |
949 | Select this if you have a 32-bit processor and between 1 and 4 | 975 | Select this if you have a 32-bit processor and between 1 and 4 |
950 | gigabytes of physical RAM. | 976 | gigabytes of physical RAM. |
951 | 977 | ||
@@ -953,7 +979,7 @@ config HIGHMEM64G | |||
953 | bool "64GB" | 979 | bool "64GB" |
954 | depends on !M386 && !M486 | 980 | depends on !M386 && !M486 |
955 | select X86_PAE | 981 | select X86_PAE |
956 | help | 982 | ---help--- |
957 | Select this if you have a 32-bit processor and more than 4 | 983 | Select this if you have a 32-bit processor and more than 4 |
958 | gigabytes of physical RAM. | 984 | gigabytes of physical RAM. |
959 | 985 | ||
@@ -964,7 +990,7 @@ choice | |||
964 | prompt "Memory split" if EMBEDDED | 990 | prompt "Memory split" if EMBEDDED |
965 | default VMSPLIT_3G | 991 | default VMSPLIT_3G |
966 | depends on X86_32 | 992 | depends on X86_32 |
967 | help | 993 | ---help--- |
968 | Select the desired split between kernel and user memory. | 994 | Select the desired split between kernel and user memory. |
969 | 995 | ||
970 | If the address range available to the kernel is less than the | 996 | If the address range available to the kernel is less than the |
@@ -1010,20 +1036,20 @@ config HIGHMEM | |||
1010 | config X86_PAE | 1036 | config X86_PAE |
1011 | bool "PAE (Physical Address Extension) Support" | 1037 | bool "PAE (Physical Address Extension) Support" |
1012 | depends on X86_32 && !HIGHMEM4G | 1038 | depends on X86_32 && !HIGHMEM4G |
1013 | help | 1039 | ---help--- |
1014 | PAE is required for NX support, and furthermore enables | 1040 | PAE is required for NX support, and furthermore enables |
1015 | larger swapspace support for non-overcommit purposes. It | 1041 | larger swapspace support for non-overcommit purposes. It |
1016 | has the cost of more pagetable lookup overhead, and also | 1042 | has the cost of more pagetable lookup overhead, and also |
1017 | consumes more pagetable space per process. | 1043 | consumes more pagetable space per process. |
1018 | 1044 | ||
1019 | config ARCH_PHYS_ADDR_T_64BIT | 1045 | config ARCH_PHYS_ADDR_T_64BIT |
1020 | def_bool X86_64 || X86_PAE | 1046 | def_bool X86_64 || X86_PAE |
1021 | 1047 | ||
1022 | config DIRECT_GBPAGES | 1048 | config DIRECT_GBPAGES |
1023 | bool "Enable 1GB pages for kernel pagetables" if EMBEDDED | 1049 | bool "Enable 1GB pages for kernel pagetables" if EMBEDDED |
1024 | default y | 1050 | default y |
1025 | depends on X86_64 | 1051 | depends on X86_64 |
1026 | help | 1052 | ---help--- |
1027 | Allow the kernel linear mapping to use 1GB pages on CPUs that | 1053 | Allow the kernel linear mapping to use 1GB pages on CPUs that |
1028 | support it. This can improve the kernel's performance a tiny bit by | 1054 | support it. This can improve the kernel's performance a tiny bit by |
1029 | reducing TLB pressure. If in doubt, say "Y". | 1055 | reducing TLB pressure. If in doubt, say "Y". |
@@ -1033,9 +1059,8 @@ config NUMA | |||
1033 | bool "Numa Memory Allocation and Scheduler Support" | 1059 | bool "Numa Memory Allocation and Scheduler Support" |
1034 | depends on SMP | 1060 | depends on SMP |
1035 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) | 1061 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) |
1036 | default n if X86_PC | ||
1037 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) | 1062 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) |
1038 | help | 1063 | ---help--- |
1039 | Enable NUMA (Non Uniform Memory Access) support. | 1064 | Enable NUMA (Non Uniform Memory Access) support. |
1040 | 1065 | ||
1041 | The kernel will try to allocate memory used by a CPU on the | 1066 | The kernel will try to allocate memory used by a CPU on the |
@@ -1058,19 +1083,19 @@ config K8_NUMA | |||
1058 | def_bool y | 1083 | def_bool y |
1059 | prompt "Old style AMD Opteron NUMA detection" | 1084 | prompt "Old style AMD Opteron NUMA detection" |
1060 | depends on X86_64 && NUMA && PCI | 1085 | depends on X86_64 && NUMA && PCI |
1061 | help | 1086 | ---help--- |
1062 | Enable K8 NUMA node topology detection. You should say Y here if | 1087 | Enable K8 NUMA node topology detection. You should say Y here if |
1063 | you have a multi processor AMD K8 system. This uses an old | 1088 | you have a multi processor AMD K8 system. This uses an old |
1064 | method to read the NUMA configuration directly from the builtin | 1089 | method to read the NUMA configuration directly from the builtin |
1065 | Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA | 1090 | Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA |
1066 | instead, which also takes priority if both are compiled in. | 1091 | instead, which also takes priority if both are compiled in. |
1067 | 1092 | ||
1068 | config X86_64_ACPI_NUMA | 1093 | config X86_64_ACPI_NUMA |
1069 | def_bool y | 1094 | def_bool y |
1070 | prompt "ACPI NUMA detection" | 1095 | prompt "ACPI NUMA detection" |
1071 | depends on X86_64 && NUMA && ACPI && PCI | 1096 | depends on X86_64 && NUMA && ACPI && PCI |
1072 | select ACPI_NUMA | 1097 | select ACPI_NUMA |
1073 | help | 1098 | ---help--- |
1074 | Enable ACPI SRAT based node topology detection. | 1099 | Enable ACPI SRAT based node topology detection. |
1075 | 1100 | ||
1076 | # Some NUMA nodes have memory ranges that span | 1101 | # Some NUMA nodes have memory ranges that span |
@@ -1085,7 +1110,7 @@ config NODES_SPAN_OTHER_NODES | |||
1085 | config NUMA_EMU | 1110 | config NUMA_EMU |
1086 | bool "NUMA emulation" | 1111 | bool "NUMA emulation" |
1087 | depends on X86_64 && NUMA | 1112 | depends on X86_64 && NUMA |
1088 | help | 1113 | ---help--- |
1089 | Enable NUMA emulation. A flat machine will be split | 1114 | Enable NUMA emulation. A flat machine will be split |
1090 | into virtual nodes when booted with "numa=fake=N", where N is the | 1115 | into virtual nodes when booted with "numa=fake=N", where N is the |
1091 | number of nodes. This is only useful for debugging. | 1116 | number of nodes. This is only useful for debugging. |
@@ -1098,7 +1123,7 @@ config NODES_SHIFT | |||
1098 | default "4" if X86_NUMAQ | 1123 | default "4" if X86_NUMAQ |
1099 | default "3" | 1124 | default "3" |
1100 | depends on NEED_MULTIPLE_NODES | 1125 | depends on NEED_MULTIPLE_NODES |
1101 | help | 1126 | ---help--- |
1102 | Specify the maximum number of NUMA Nodes available on the target | 1127 | Specify the maximum number of NUMA Nodes available on the target |
1103 | system. Increases memory reserved to accomodate various tables. | 1128 | system. Increases memory reserved to accomodate various tables. |
1104 | 1129 | ||
@@ -1136,7 +1161,7 @@ config ARCH_SPARSEMEM_DEFAULT | |||
1136 | 1161 | ||
1137 | config ARCH_SPARSEMEM_ENABLE | 1162 | config ARCH_SPARSEMEM_ENABLE |
1138 | def_bool y | 1163 | def_bool y |
1139 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH | 1164 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD |
1140 | select SPARSEMEM_STATIC if X86_32 | 1165 | select SPARSEMEM_STATIC if X86_32 |
1141 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 | 1166 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 |
1142 | 1167 | ||
@@ -1153,61 +1178,61 @@ source "mm/Kconfig" | |||
1153 | config HIGHPTE | 1178 | config HIGHPTE |
1154 | bool "Allocate 3rd-level pagetables from highmem" | 1179 | bool "Allocate 3rd-level pagetables from highmem" |
1155 | depends on X86_32 && (HIGHMEM4G || HIGHMEM64G) | 1180 | depends on X86_32 && (HIGHMEM4G || HIGHMEM64G) |
1156 | help | 1181 | ---help--- |
1157 | The VM uses one page table entry for each page of physical memory. | 1182 | The VM uses one page table entry for each page of physical memory. |
1158 | For systems with a lot of RAM, this can be wasteful of precious | 1183 | For systems with a lot of RAM, this can be wasteful of precious |
1159 | low memory. Setting this option will put user-space page table | 1184 | low memory. Setting this option will put user-space page table |
1160 | entries in high memory. | 1185 | entries in high memory. |
1161 | 1186 | ||
1162 | config X86_CHECK_BIOS_CORRUPTION | 1187 | config X86_CHECK_BIOS_CORRUPTION |
1163 | bool "Check for low memory corruption" | 1188 | bool "Check for low memory corruption" |
1164 | help | 1189 | ---help--- |
1165 | Periodically check for memory corruption in low memory, which | 1190 | Periodically check for memory corruption in low memory, which |
1166 | is suspected to be caused by BIOS. Even when enabled in the | 1191 | is suspected to be caused by BIOS. Even when enabled in the |
1167 | configuration, it is disabled at runtime. Enable it by | 1192 | configuration, it is disabled at runtime. Enable it by |
1168 | setting "memory_corruption_check=1" on the kernel command | 1193 | setting "memory_corruption_check=1" on the kernel command |
1169 | line. By default it scans the low 64k of memory every 60 | 1194 | line. By default it scans the low 64k of memory every 60 |
1170 | seconds; see the memory_corruption_check_size and | 1195 | seconds; see the memory_corruption_check_size and |
1171 | memory_corruption_check_period parameters in | 1196 | memory_corruption_check_period parameters in |
1172 | Documentation/kernel-parameters.txt to adjust this. | 1197 | Documentation/kernel-parameters.txt to adjust this. |
1173 | 1198 | ||
1174 | When enabled with the default parameters, this option has | 1199 | When enabled with the default parameters, this option has |
1175 | almost no overhead, as it reserves a relatively small amount | 1200 | almost no overhead, as it reserves a relatively small amount |
1176 | of memory and scans it infrequently. It both detects corruption | 1201 | of memory and scans it infrequently. It both detects corruption |
1177 | and prevents it from affecting the running system. | 1202 | and prevents it from affecting the running system. |
1178 | 1203 | ||
1179 | It is, however, intended as a diagnostic tool; if repeatable | 1204 | It is, however, intended as a diagnostic tool; if repeatable |
1180 | BIOS-originated corruption always affects the same memory, | 1205 | BIOS-originated corruption always affects the same memory, |
1181 | you can use memmap= to prevent the kernel from using that | 1206 | you can use memmap= to prevent the kernel from using that |
1182 | memory. | 1207 | memory. |
1183 | 1208 | ||
1184 | config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | 1209 | config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK |
1185 | bool "Set the default setting of memory_corruption_check" | 1210 | bool "Set the default setting of memory_corruption_check" |
1186 | depends on X86_CHECK_BIOS_CORRUPTION | 1211 | depends on X86_CHECK_BIOS_CORRUPTION |
1187 | default y | 1212 | default y |
1188 | help | 1213 | ---help--- |
1189 | Set whether the default state of memory_corruption_check is | 1214 | Set whether the default state of memory_corruption_check is |
1190 | on or off. | 1215 | on or off. |
1191 | 1216 | ||
1192 | config X86_RESERVE_LOW_64K | 1217 | config X86_RESERVE_LOW_64K |
1193 | bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" | 1218 | bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" |
1194 | default y | 1219 | default y |
1195 | help | 1220 | ---help--- |
1196 | Reserve the first 64K of physical RAM on BIOSes that are known | 1221 | Reserve the first 64K of physical RAM on BIOSes that are known |
1197 | to potentially corrupt that memory range. A numbers of BIOSes are | 1222 | to potentially corrupt that memory range. A numbers of BIOSes are |
1198 | known to utilize this area during suspend/resume, so it must not | 1223 | known to utilize this area during suspend/resume, so it must not |
1199 | be used by the kernel. | 1224 | be used by the kernel. |
1200 | 1225 | ||
1201 | Set this to N if you are absolutely sure that you trust the BIOS | 1226 | Set this to N if you are absolutely sure that you trust the BIOS |
1202 | to get all its memory reservations and usages right. | 1227 | to get all its memory reservations and usages right. |
1203 | 1228 | ||
1204 | If you have doubts about the BIOS (e.g. suspend/resume does not | 1229 | If you have doubts about the BIOS (e.g. suspend/resume does not |
1205 | work or there's kernel crashes after certain hardware hotplug | 1230 | work or there's kernel crashes after certain hardware hotplug |
1206 | events) and it's not AMI or Phoenix, then you might want to enable | 1231 | events) and it's not AMI or Phoenix, then you might want to enable |
1207 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical | 1232 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical |
1208 | corruption patterns. | 1233 | corruption patterns. |
1209 | 1234 | ||
1210 | Say Y if unsure. | 1235 | Say Y if unsure. |
1211 | 1236 | ||
1212 | config MATH_EMULATION | 1237 | config MATH_EMULATION |
1213 | bool | 1238 | bool |
@@ -1273,7 +1298,7 @@ config MTRR_SANITIZER | |||
1273 | def_bool y | 1298 | def_bool y |
1274 | prompt "MTRR cleanup support" | 1299 | prompt "MTRR cleanup support" |
1275 | depends on MTRR | 1300 | depends on MTRR |
1276 | help | 1301 | ---help--- |
1277 | Convert MTRR layout from continuous to discrete, so X drivers can | 1302 | Convert MTRR layout from continuous to discrete, so X drivers can |
1278 | add writeback entries. | 1303 | add writeback entries. |
1279 | 1304 | ||
@@ -1288,7 +1313,7 @@ config MTRR_SANITIZER_ENABLE_DEFAULT | |||
1288 | range 0 1 | 1313 | range 0 1 |
1289 | default "0" | 1314 | default "0" |
1290 | depends on MTRR_SANITIZER | 1315 | depends on MTRR_SANITIZER |
1291 | help | 1316 | ---help--- |
1292 | Enable mtrr cleanup default value | 1317 | Enable mtrr cleanup default value |
1293 | 1318 | ||
1294 | config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT | 1319 | config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT |
@@ -1296,7 +1321,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT | |||
1296 | range 0 7 | 1321 | range 0 7 |
1297 | default "1" | 1322 | default "1" |
1298 | depends on MTRR_SANITIZER | 1323 | depends on MTRR_SANITIZER |
1299 | help | 1324 | ---help--- |
1300 | mtrr cleanup spare entries default, it can be changed via | 1325 | mtrr cleanup spare entries default, it can be changed via |
1301 | mtrr_spare_reg_nr=N on the kernel command line. | 1326 | mtrr_spare_reg_nr=N on the kernel command line. |
1302 | 1327 | ||
@@ -1304,7 +1329,7 @@ config X86_PAT | |||
1304 | bool | 1329 | bool |
1305 | prompt "x86 PAT support" | 1330 | prompt "x86 PAT support" |
1306 | depends on MTRR | 1331 | depends on MTRR |
1307 | help | 1332 | ---help--- |
1308 | Use PAT attributes to setup page level cache control. | 1333 | Use PAT attributes to setup page level cache control. |
1309 | 1334 | ||
1310 | PATs are the modern equivalents of MTRRs and are much more | 1335 | PATs are the modern equivalents of MTRRs and are much more |
@@ -1319,20 +1344,20 @@ config EFI | |||
1319 | bool "EFI runtime service support" | 1344 | bool "EFI runtime service support" |
1320 | depends on ACPI | 1345 | depends on ACPI |
1321 | ---help--- | 1346 | ---help--- |
1322 | This enables the kernel to use EFI runtime services that are | 1347 | This enables the kernel to use EFI runtime services that are |
1323 | available (such as the EFI variable services). | 1348 | available (such as the EFI variable services). |
1324 | 1349 | ||
1325 | This option is only useful on systems that have EFI firmware. | 1350 | This option is only useful on systems that have EFI firmware. |
1326 | In addition, you should use the latest ELILO loader available | 1351 | In addition, you should use the latest ELILO loader available |
1327 | at <http://elilo.sourceforge.net> in order to take advantage | 1352 | at <http://elilo.sourceforge.net> in order to take advantage |
1328 | of EFI runtime services. However, even with this option, the | 1353 | of EFI runtime services. However, even with this option, the |
1329 | resultant kernel should continue to boot on existing non-EFI | 1354 | resultant kernel should continue to boot on existing non-EFI |
1330 | platforms. | 1355 | platforms. |
1331 | 1356 | ||
1332 | config SECCOMP | 1357 | config SECCOMP |
1333 | def_bool y | 1358 | def_bool y |
1334 | prompt "Enable seccomp to safely compute untrusted bytecode" | 1359 | prompt "Enable seccomp to safely compute untrusted bytecode" |
1335 | help | 1360 | ---help--- |
1336 | This kernel feature is useful for number crunching applications | 1361 | This kernel feature is useful for number crunching applications |
1337 | that may need to compute untrusted bytecode during their | 1362 | that may need to compute untrusted bytecode during their |
1338 | execution. By using pipes or other transports made available to | 1363 | execution. By using pipes or other transports made available to |
@@ -1345,13 +1370,16 @@ config SECCOMP | |||
1345 | 1370 | ||
1346 | If unsure, say Y. Only embedded should say N here. | 1371 | If unsure, say Y. Only embedded should say N here. |
1347 | 1372 | ||
1373 | config CC_STACKPROTECTOR_ALL | ||
1374 | bool | ||
1375 | |||
1348 | config CC_STACKPROTECTOR | 1376 | config CC_STACKPROTECTOR |
1349 | bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" | 1377 | bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" |
1350 | depends on X86_64 && EXPERIMENTAL && BROKEN | 1378 | select CC_STACKPROTECTOR_ALL |
1351 | help | 1379 | ---help--- |
1352 | This option turns on the -fstack-protector GCC feature. This | 1380 | This option turns on the -fstack-protector GCC feature. This |
1353 | feature puts, at the beginning of critical functions, a canary | 1381 | feature puts, at the beginning of functions, a canary value on |
1354 | value on the stack just before the return address, and validates | 1382 | the stack just before the return address, and validates |
1355 | the value just before actually returning. Stack based buffer | 1383 | the value just before actually returning. Stack based buffer |
1356 | overflows (that need to overwrite this return address) now also | 1384 | overflows (that need to overwrite this return address) now also |
1357 | overwrite the canary, which gets detected and the attack is then | 1385 | overwrite the canary, which gets detected and the attack is then |
@@ -1359,22 +1387,14 @@ config CC_STACKPROTECTOR | |||
1359 | 1387 | ||
1360 | This feature requires gcc version 4.2 or above, or a distribution | 1388 | This feature requires gcc version 4.2 or above, or a distribution |
1361 | gcc with the feature backported. Older versions are automatically | 1389 | gcc with the feature backported. Older versions are automatically |
1362 | detected and for those versions, this configuration option is ignored. | 1390 | detected and for those versions, this configuration option is |
1363 | 1391 | ignored. (and a warning is printed during bootup) | |
1364 | config CC_STACKPROTECTOR_ALL | ||
1365 | bool "Use stack-protector for all functions" | ||
1366 | depends on CC_STACKPROTECTOR | ||
1367 | help | ||
1368 | Normally, GCC only inserts the canary value protection for | ||
1369 | functions that use large-ish on-stack buffers. By enabling | ||
1370 | this option, GCC will be asked to do this for ALL functions. | ||
1371 | 1392 | ||
1372 | source kernel/Kconfig.hz | 1393 | source kernel/Kconfig.hz |
1373 | 1394 | ||
1374 | config KEXEC | 1395 | config KEXEC |
1375 | bool "kexec system call" | 1396 | bool "kexec system call" |
1376 | depends on X86_BIOS_REBOOT | 1397 | ---help--- |
1377 | help | ||
1378 | kexec is a system call that implements the ability to shutdown your | 1398 | kexec is a system call that implements the ability to shutdown your |
1379 | current kernel, and to start another kernel. It is like a reboot | 1399 | current kernel, and to start another kernel. It is like a reboot |
1380 | but it is independent of the system firmware. And like a reboot | 1400 | but it is independent of the system firmware. And like a reboot |
@@ -1391,7 +1411,7 @@ config KEXEC | |||
1391 | config CRASH_DUMP | 1411 | config CRASH_DUMP |
1392 | bool "kernel crash dumps" | 1412 | bool "kernel crash dumps" |
1393 | depends on X86_64 || (X86_32 && HIGHMEM) | 1413 | depends on X86_64 || (X86_32 && HIGHMEM) |
1394 | help | 1414 | ---help--- |
1395 | Generate crash dump after being started by kexec. | 1415 | Generate crash dump after being started by kexec. |
1396 | This should be normally only set in special crash dump kernels | 1416 | This should be normally only set in special crash dump kernels |
1397 | which are loaded in the main kernel with kexec-tools into | 1417 | which are loaded in the main kernel with kexec-tools into |
@@ -1406,7 +1426,7 @@ config KEXEC_JUMP | |||
1406 | bool "kexec jump (EXPERIMENTAL)" | 1426 | bool "kexec jump (EXPERIMENTAL)" |
1407 | depends on EXPERIMENTAL | 1427 | depends on EXPERIMENTAL |
1408 | depends on KEXEC && HIBERNATION && X86_32 | 1428 | depends on KEXEC && HIBERNATION && X86_32 |
1409 | help | 1429 | ---help--- |
1410 | Jump between original kernel and kexeced kernel and invoke | 1430 | Jump between original kernel and kexeced kernel and invoke |
1411 | code in physical address mode via KEXEC | 1431 | code in physical address mode via KEXEC |
1412 | 1432 | ||
@@ -1415,7 +1435,7 @@ config PHYSICAL_START | |||
1415 | default "0x1000000" if X86_NUMAQ | 1435 | default "0x1000000" if X86_NUMAQ |
1416 | default "0x200000" if X86_64 | 1436 | default "0x200000" if X86_64 |
1417 | default "0x100000" | 1437 | default "0x100000" |
1418 | help | 1438 | ---help--- |
1419 | This gives the physical address where the kernel is loaded. | 1439 | This gives the physical address where the kernel is loaded. |
1420 | 1440 | ||
1421 | If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then | 1441 | If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then |
@@ -1456,7 +1476,7 @@ config PHYSICAL_START | |||
1456 | config RELOCATABLE | 1476 | config RELOCATABLE |
1457 | bool "Build a relocatable kernel (EXPERIMENTAL)" | 1477 | bool "Build a relocatable kernel (EXPERIMENTAL)" |
1458 | depends on EXPERIMENTAL | 1478 | depends on EXPERIMENTAL |
1459 | help | 1479 | ---help--- |
1460 | This builds a kernel image that retains relocation information | 1480 | This builds a kernel image that retains relocation information |
1461 | so it can be loaded someplace besides the default 1MB. | 1481 | so it can be loaded someplace besides the default 1MB. |
1462 | The relocations tend to make the kernel binary about 10% larger, | 1482 | The relocations tend to make the kernel binary about 10% larger, |
@@ -1476,7 +1496,7 @@ config PHYSICAL_ALIGN | |||
1476 | default "0x100000" if X86_32 | 1496 | default "0x100000" if X86_32 |
1477 | default "0x200000" if X86_64 | 1497 | default "0x200000" if X86_64 |
1478 | range 0x2000 0x400000 | 1498 | range 0x2000 0x400000 |
1479 | help | 1499 | ---help--- |
1480 | This value puts the alignment restrictions on physical address | 1500 | This value puts the alignment restrictions on physical address |
1481 | where kernel is loaded and run from. Kernel is compiled for an | 1501 | where kernel is loaded and run from. Kernel is compiled for an |
1482 | address which meets above alignment restriction. | 1502 | address which meets above alignment restriction. |
@@ -1497,7 +1517,7 @@ config PHYSICAL_ALIGN | |||
1497 | 1517 | ||
1498 | config HOTPLUG_CPU | 1518 | config HOTPLUG_CPU |
1499 | bool "Support for hot-pluggable CPUs" | 1519 | bool "Support for hot-pluggable CPUs" |
1500 | depends on SMP && HOTPLUG && !X86_VOYAGER | 1520 | depends on SMP && HOTPLUG |
1501 | ---help--- | 1521 | ---help--- |
1502 | Say Y here to allow turning CPUs off and on. CPUs can be | 1522 | Say Y here to allow turning CPUs off and on. CPUs can be |
1503 | controlled through /sys/devices/system/cpu. | 1523 | controlled through /sys/devices/system/cpu. |
@@ -1509,7 +1529,7 @@ config COMPAT_VDSO | |||
1509 | def_bool y | 1529 | def_bool y |
1510 | prompt "Compat VDSO support" | 1530 | prompt "Compat VDSO support" |
1511 | depends on X86_32 || IA32_EMULATION | 1531 | depends on X86_32 || IA32_EMULATION |
1512 | help | 1532 | ---help--- |
1513 | Map the 32-bit VDSO to the predictable old-style address too. | 1533 | Map the 32-bit VDSO to the predictable old-style address too. |
1514 | ---help--- | 1534 | ---help--- |
1515 | Say N here if you are running a sufficiently recent glibc | 1535 | Say N here if you are running a sufficiently recent glibc |
@@ -1521,7 +1541,7 @@ config COMPAT_VDSO | |||
1521 | config CMDLINE_BOOL | 1541 | config CMDLINE_BOOL |
1522 | bool "Built-in kernel command line" | 1542 | bool "Built-in kernel command line" |
1523 | default n | 1543 | default n |
1524 | help | 1544 | ---help--- |
1525 | Allow for specifying boot arguments to the kernel at | 1545 | Allow for specifying boot arguments to the kernel at |
1526 | build time. On some systems (e.g. embedded ones), it is | 1546 | build time. On some systems (e.g. embedded ones), it is |
1527 | necessary or convenient to provide some or all of the | 1547 | necessary or convenient to provide some or all of the |
@@ -1539,7 +1559,7 @@ config CMDLINE | |||
1539 | string "Built-in kernel command string" | 1559 | string "Built-in kernel command string" |
1540 | depends on CMDLINE_BOOL | 1560 | depends on CMDLINE_BOOL |
1541 | default "" | 1561 | default "" |
1542 | help | 1562 | ---help--- |
1543 | Enter arguments here that should be compiled into the kernel | 1563 | Enter arguments here that should be compiled into the kernel |
1544 | image and used at boot time. If the boot loader provides a | 1564 | image and used at boot time. If the boot loader provides a |
1545 | command line at boot time, it is appended to this string to | 1565 | command line at boot time, it is appended to this string to |
@@ -1556,7 +1576,7 @@ config CMDLINE_OVERRIDE | |||
1556 | bool "Built-in command line overrides boot loader arguments" | 1576 | bool "Built-in command line overrides boot loader arguments" |
1557 | default n | 1577 | default n |
1558 | depends on CMDLINE_BOOL | 1578 | depends on CMDLINE_BOOL |
1559 | help | 1579 | ---help--- |
1560 | Set this option to 'Y' to have the kernel ignore the boot loader | 1580 | Set this option to 'Y' to have the kernel ignore the boot loader |
1561 | command line, and use ONLY the built-in command line. | 1581 | command line, and use ONLY the built-in command line. |
1562 | 1582 | ||
@@ -1578,7 +1598,6 @@ config HAVE_ARCH_EARLY_PFN_TO_NID | |||
1578 | depends on NUMA | 1598 | depends on NUMA |
1579 | 1599 | ||
1580 | menu "Power management and ACPI options" | 1600 | menu "Power management and ACPI options" |
1581 | depends on !X86_VOYAGER | ||
1582 | 1601 | ||
1583 | config ARCH_HIBERNATION_HEADER | 1602 | config ARCH_HIBERNATION_HEADER |
1584 | def_bool y | 1603 | def_bool y |
@@ -1656,7 +1675,7 @@ if APM | |||
1656 | 1675 | ||
1657 | config APM_IGNORE_USER_SUSPEND | 1676 | config APM_IGNORE_USER_SUSPEND |
1658 | bool "Ignore USER SUSPEND" | 1677 | bool "Ignore USER SUSPEND" |
1659 | help | 1678 | ---help--- |
1660 | This option will ignore USER SUSPEND requests. On machines with a | 1679 | This option will ignore USER SUSPEND requests. On machines with a |
1661 | compliant APM BIOS, you want to say N. However, on the NEC Versa M | 1680 | compliant APM BIOS, you want to say N. However, on the NEC Versa M |
1662 | series notebooks, it is necessary to say Y because of a BIOS bug. | 1681 | series notebooks, it is necessary to say Y because of a BIOS bug. |
@@ -1680,7 +1699,7 @@ config APM_DO_ENABLE | |||
1680 | 1699 | ||
1681 | config APM_CPU_IDLE | 1700 | config APM_CPU_IDLE |
1682 | bool "Make CPU Idle calls when idle" | 1701 | bool "Make CPU Idle calls when idle" |
1683 | help | 1702 | ---help--- |
1684 | Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. | 1703 | Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. |
1685 | On some machines, this can activate improved power savings, such as | 1704 | On some machines, this can activate improved power savings, such as |
1686 | a slowed CPU clock rate, when the machine is idle. These idle calls | 1705 | a slowed CPU clock rate, when the machine is idle. These idle calls |
@@ -1691,7 +1710,7 @@ config APM_CPU_IDLE | |||
1691 | 1710 | ||
1692 | config APM_DISPLAY_BLANK | 1711 | config APM_DISPLAY_BLANK |
1693 | bool "Enable console blanking using APM" | 1712 | bool "Enable console blanking using APM" |
1694 | help | 1713 | ---help--- |
1695 | Enable console blanking using the APM. Some laptops can use this to | 1714 | Enable console blanking using the APM. Some laptops can use this to |
1696 | turn off the LCD backlight when the screen blanker of the Linux | 1715 | turn off the LCD backlight when the screen blanker of the Linux |
1697 | virtual console blanks the screen. Note that this is only used by | 1716 | virtual console blanks the screen. Note that this is only used by |
@@ -1704,7 +1723,7 @@ config APM_DISPLAY_BLANK | |||
1704 | 1723 | ||
1705 | config APM_ALLOW_INTS | 1724 | config APM_ALLOW_INTS |
1706 | bool "Allow interrupts during APM BIOS calls" | 1725 | bool "Allow interrupts during APM BIOS calls" |
1707 | help | 1726 | ---help--- |
1708 | Normally we disable external interrupts while we are making calls to | 1727 | Normally we disable external interrupts while we are making calls to |
1709 | the APM BIOS as a measure to lessen the effects of a badly behaving | 1728 | the APM BIOS as a measure to lessen the effects of a badly behaving |
1710 | BIOS implementation. The BIOS should reenable interrupts if it | 1729 | BIOS implementation. The BIOS should reenable interrupts if it |
@@ -1729,7 +1748,7 @@ config PCI | |||
1729 | bool "PCI support" | 1748 | bool "PCI support" |
1730 | default y | 1749 | default y |
1731 | select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) | 1750 | select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) |
1732 | help | 1751 | ---help--- |
1733 | Find out whether you have a PCI motherboard. PCI is the name of a | 1752 | Find out whether you have a PCI motherboard. PCI is the name of a |
1734 | bus system, i.e. the way the CPU talks to the other stuff inside | 1753 | bus system, i.e. the way the CPU talks to the other stuff inside |
1735 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | 1754 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or |
@@ -1800,7 +1819,7 @@ config PCI_MMCONFIG | |||
1800 | config DMAR | 1819 | config DMAR |
1801 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" | 1820 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" |
1802 | depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL | 1821 | depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL |
1803 | help | 1822 | ---help--- |
1804 | DMA remapping (DMAR) devices support enables independent address | 1823 | DMA remapping (DMAR) devices support enables independent address |
1805 | translations for Direct Memory Access (DMA) from devices. | 1824 | translations for Direct Memory Access (DMA) from devices. |
1806 | These DMA remapping devices are reported via ACPI tables | 1825 | These DMA remapping devices are reported via ACPI tables |
@@ -1822,29 +1841,30 @@ config DMAR_GFX_WA | |||
1822 | def_bool y | 1841 | def_bool y |
1823 | prompt "Support for Graphics workaround" | 1842 | prompt "Support for Graphics workaround" |
1824 | depends on DMAR | 1843 | depends on DMAR |
1825 | help | 1844 | ---help--- |
1826 | Current Graphics drivers tend to use physical address | 1845 | Current Graphics drivers tend to use physical address |
1827 | for DMA and avoid using DMA APIs. Setting this config | 1846 | for DMA and avoid using DMA APIs. Setting this config |
1828 | option permits the IOMMU driver to set a unity map for | 1847 | option permits the IOMMU driver to set a unity map for |
1829 | all the OS-visible memory. Hence the driver can continue | 1848 | all the OS-visible memory. Hence the driver can continue |
1830 | to use physical addresses for DMA. | 1849 | to use physical addresses for DMA. |
1831 | 1850 | ||
1832 | config DMAR_FLOPPY_WA | 1851 | config DMAR_FLOPPY_WA |
1833 | def_bool y | 1852 | def_bool y |
1834 | depends on DMAR | 1853 | depends on DMAR |
1835 | help | 1854 | ---help--- |
1836 | Floppy disk drivers are know to bypass DMA API calls | 1855 | Floppy disk drivers are know to bypass DMA API calls |
1837 | thereby failing to work when IOMMU is enabled. This | 1856 | thereby failing to work when IOMMU is enabled. This |
1838 | workaround will setup a 1:1 mapping for the first | 1857 | workaround will setup a 1:1 mapping for the first |
1839 | 16M to make floppy (an ISA device) work. | 1858 | 16M to make floppy (an ISA device) work. |
1840 | 1859 | ||
1841 | config INTR_REMAP | 1860 | config INTR_REMAP |
1842 | bool "Support for Interrupt Remapping (EXPERIMENTAL)" | 1861 | bool "Support for Interrupt Remapping (EXPERIMENTAL)" |
1843 | depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL | 1862 | depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL |
1844 | help | 1863 | select X86_X2APIC |
1845 | Supports Interrupt remapping for IO-APIC and MSI devices. | 1864 | ---help--- |
1846 | To use x2apic mode in the CPU's which support x2APIC enhancements or | 1865 | Supports Interrupt remapping for IO-APIC and MSI devices. |
1847 | to support platforms with CPU's having > 8 bit APIC ID, say Y. | 1866 | To use x2apic mode in the CPU's which support x2APIC enhancements or |
1867 | to support platforms with CPU's having > 8 bit APIC ID, say Y. | ||
1848 | 1868 | ||
1849 | source "drivers/pci/pcie/Kconfig" | 1869 | source "drivers/pci/pcie/Kconfig" |
1850 | 1870 | ||
@@ -1858,8 +1878,7 @@ if X86_32 | |||
1858 | 1878 | ||
1859 | config ISA | 1879 | config ISA |
1860 | bool "ISA support" | 1880 | bool "ISA support" |
1861 | depends on !X86_VOYAGER | 1881 | ---help--- |
1862 | help | ||
1863 | Find out whether you have ISA slots on your motherboard. ISA is the | 1882 | Find out whether you have ISA slots on your motherboard. ISA is the |
1864 | name of a bus system, i.e. the way the CPU talks to the other stuff | 1883 | name of a bus system, i.e. the way the CPU talks to the other stuff |
1865 | inside your box. Other bus systems are PCI, EISA, MicroChannel | 1884 | inside your box. Other bus systems are PCI, EISA, MicroChannel |
@@ -1885,9 +1904,8 @@ config EISA | |||
1885 | source "drivers/eisa/Kconfig" | 1904 | source "drivers/eisa/Kconfig" |
1886 | 1905 | ||
1887 | config MCA | 1906 | config MCA |
1888 | bool "MCA support" if !X86_VOYAGER | 1907 | bool "MCA support" |
1889 | default y if X86_VOYAGER | 1908 | ---help--- |
1890 | help | ||
1891 | MicroChannel Architecture is found in some IBM PS/2 machines and | 1909 | MicroChannel Architecture is found in some IBM PS/2 machines and |
1892 | laptops. It is a bus system similar to PCI or ISA. See | 1910 | laptops. It is a bus system similar to PCI or ISA. See |
1893 | <file:Documentation/mca.txt> (and especially the web page given | 1911 | <file:Documentation/mca.txt> (and especially the web page given |
@@ -1897,8 +1915,7 @@ source "drivers/mca/Kconfig" | |||
1897 | 1915 | ||
1898 | config SCx200 | 1916 | config SCx200 |
1899 | tristate "NatSemi SCx200 support" | 1917 | tristate "NatSemi SCx200 support" |
1900 | depends on !X86_VOYAGER | 1918 | ---help--- |
1901 | help | ||
1902 | This provides basic support for National Semiconductor's | 1919 | This provides basic support for National Semiconductor's |
1903 | (now AMD's) Geode processors. The driver probes for the | 1920 | (now AMD's) Geode processors. The driver probes for the |
1904 | PCI-IDs of several on-chip devices, so its a good dependency | 1921 | PCI-IDs of several on-chip devices, so its a good dependency |
@@ -1910,7 +1927,7 @@ config SCx200HR_TIMER | |||
1910 | tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" | 1927 | tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" |
1911 | depends on SCx200 && GENERIC_TIME | 1928 | depends on SCx200 && GENERIC_TIME |
1912 | default y | 1929 | default y |
1913 | help | 1930 | ---help--- |
1914 | This driver provides a clocksource built upon the on-chip | 1931 | This driver provides a clocksource built upon the on-chip |
1915 | 27MHz high-resolution timer. Its also a workaround for | 1932 | 27MHz high-resolution timer. Its also a workaround for |
1916 | NSC Geode SC-1100's buggy TSC, which loses time when the | 1933 | NSC Geode SC-1100's buggy TSC, which loses time when the |
@@ -1921,7 +1938,7 @@ config GEODE_MFGPT_TIMER | |||
1921 | def_bool y | 1938 | def_bool y |
1922 | prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" | 1939 | prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" |
1923 | depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS | 1940 | depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS |
1924 | help | 1941 | ---help--- |
1925 | This driver provides a clock event source based on the MFGPT | 1942 | This driver provides a clock event source based on the MFGPT |
1926 | timer(s) in the CS5535 and CS5536 companion chip for the geode. | 1943 | timer(s) in the CS5535 and CS5536 companion chip for the geode. |
1927 | MFGPTs have a better resolution and max interval than the | 1944 | MFGPTs have a better resolution and max interval than the |
@@ -1930,7 +1947,7 @@ config GEODE_MFGPT_TIMER | |||
1930 | config OLPC | 1947 | config OLPC |
1931 | bool "One Laptop Per Child support" | 1948 | bool "One Laptop Per Child support" |
1932 | default n | 1949 | default n |
1933 | help | 1950 | ---help--- |
1934 | Add support for detecting the unique features of the OLPC | 1951 | Add support for detecting the unique features of the OLPC |
1935 | XO hardware. | 1952 | XO hardware. |
1936 | 1953 | ||
@@ -1955,16 +1972,16 @@ config IA32_EMULATION | |||
1955 | bool "IA32 Emulation" | 1972 | bool "IA32 Emulation" |
1956 | depends on X86_64 | 1973 | depends on X86_64 |
1957 | select COMPAT_BINFMT_ELF | 1974 | select COMPAT_BINFMT_ELF |
1958 | help | 1975 | ---help--- |
1959 | Include code to run 32-bit programs under a 64-bit kernel. You should | 1976 | Include code to run 32-bit programs under a 64-bit kernel. You should |
1960 | likely turn this on, unless you're 100% sure that you don't have any | 1977 | likely turn this on, unless you're 100% sure that you don't have any |
1961 | 32-bit programs left. | 1978 | 32-bit programs left. |
1962 | 1979 | ||
1963 | config IA32_AOUT | 1980 | config IA32_AOUT |
1964 | tristate "IA32 a.out support" | 1981 | tristate "IA32 a.out support" |
1965 | depends on IA32_EMULATION | 1982 | depends on IA32_EMULATION |
1966 | help | 1983 | ---help--- |
1967 | Support old a.out binaries in the 32bit emulation. | 1984 | Support old a.out binaries in the 32bit emulation. |
1968 | 1985 | ||
1969 | config COMPAT | 1986 | config COMPAT |
1970 | def_bool y | 1987 | def_bool y |