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