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