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