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