diff options
Diffstat (limited to 'arch/sparc/Kconfig')
| -rw-r--r-- | arch/sparc/Kconfig | 347 |
1 files changed, 308 insertions, 39 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 61a3a0c5cd0b..41c4cd2c81bd 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
| @@ -9,7 +9,7 @@ config SPARC | |||
| 9 | default y | 9 | default y |
| 10 | select HAVE_IDE | 10 | select HAVE_IDE |
| 11 | select HAVE_OPROFILE | 11 | select HAVE_OPROFILE |
| 12 | select HAVE_ARCH_KGDB if !SMP | 12 | select HAVE_ARCH_KGDB if !SMP || SPARC64 |
| 13 | select HAVE_ARCH_TRACEHOOK | 13 | select HAVE_ARCH_TRACEHOOK |
| 14 | select ARCH_WANT_OPTIONAL_GPIOLIB | 14 | select ARCH_WANT_OPTIONAL_GPIOLIB |
| 15 | select RTC_CLASS | 15 | select RTC_CLASS |
| @@ -18,7 +18,7 @@ config SPARC | |||
| 18 | # Identify this as a Sparc32 build | 18 | # Identify this as a Sparc32 build |
| 19 | config SPARC32 | 19 | config SPARC32 |
| 20 | bool | 20 | bool |
| 21 | default y | 21 | default y if ARCH = "sparc" |
| 22 | help | 22 | help |
| 23 | SPARC is a family of RISC microprocessors designed and marketed by | 23 | SPARC is a family of RISC microprocessors designed and marketed by |
| 24 | Sun Microsystems, incorporated. They are very widely found in Sun | 24 | Sun Microsystems, incorporated. They are very widely found in Sun |
| @@ -28,21 +28,76 @@ config SPARC32 | |||
| 28 | maintains both the SPARC32 and SPARC64 ports; its web page is | 28 | maintains both the SPARC32 and SPARC64 ports; its web page is |
| 29 | available at <http://www.ultralinux.org/>. | 29 | available at <http://www.ultralinux.org/>. |
| 30 | 30 | ||
| 31 | config SPARC64 | ||
| 32 | bool | ||
| 33 | default y if ARCH = "sparc64" | ||
| 34 | select HAVE_FUNCTION_TRACER | ||
| 35 | select HAVE_KRETPROBES | ||
| 36 | select HAVE_KPROBES | ||
| 37 | select HAVE_LMB | ||
| 38 | select USE_GENERIC_SMP_HELPERS if SMP | ||
| 39 | select RTC_DRV_CMOS | ||
| 40 | select RTC_DRV_BQ4802 | ||
| 41 | select RTC_DRV_SUN4V | ||
| 42 | select RTC_DRV_STARFIRE | ||
| 43 | |||
| 44 | config 64BIT | ||
| 45 | def_bool y if SPARC64 | ||
| 46 | |||
| 47 | config GENERIC_TIME | ||
| 48 | bool | ||
| 49 | default y if SPARC64 | ||
| 50 | |||
| 51 | config GENERIC_CMOS_UPDATE | ||
| 52 | bool | ||
| 53 | default y if SPARC64 | ||
| 54 | |||
| 55 | config GENERIC_CLOCKEVENTS | ||
| 56 | bool | ||
| 57 | default y if SPARC64 | ||
| 58 | |||
| 59 | config IOMMU_HELPER | ||
| 60 | bool | ||
| 61 | default y if SPARC64 | ||
| 62 | |||
| 63 | config QUICKLIST | ||
| 64 | bool | ||
| 65 | default y if SPARC64 | ||
| 66 | |||
| 67 | config STACKTRACE_SUPPORT | ||
| 68 | bool | ||
| 69 | default y if SPARC64 | ||
| 70 | |||
| 71 | config LOCKDEP_SUPPORT | ||
| 72 | bool | ||
| 73 | default y if SPARC64 | ||
| 74 | |||
| 75 | config AUDIT_ARCH | ||
| 76 | bool | ||
| 77 | default y if SPARC64 | ||
| 78 | |||
| 79 | config HAVE_SETUP_PER_CPU_AREA | ||
| 80 | def_bool y if SPARC64 | ||
| 81 | |||
| 82 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
| 83 | bool | ||
| 84 | def_bool y if SPARC64 | ||
| 85 | |||
| 31 | config MMU | 86 | config MMU |
| 32 | bool | 87 | bool |
| 33 | default y | 88 | default y |
| 34 | 89 | ||
| 35 | config HIGHMEM | 90 | config HIGHMEM |
| 36 | bool | 91 | bool |
| 37 | default y | 92 | default y if SPARC32 |
| 38 | 93 | ||
| 39 | config ZONE_DMA | 94 | config ZONE_DMA |
| 40 | bool | 95 | bool |
| 41 | default y | 96 | default y if SPARC32 |
| 42 | 97 | ||
| 43 | config GENERIC_ISA_DMA | 98 | config GENERIC_ISA_DMA |
| 44 | bool | 99 | bool |
| 45 | default y | 100 | default y if SPARC32 |
| 46 | 101 | ||
| 47 | config GENERIC_GPIO | 102 | config GENERIC_GPIO |
| 48 | bool | 103 | bool |
| @@ -59,7 +114,7 @@ source "init/Kconfig" | |||
| 59 | 114 | ||
| 60 | source "kernel/Kconfig.freezer" | 115 | source "kernel/Kconfig.freezer" |
| 61 | 116 | ||
| 62 | menu "General machine setup" | 117 | menu "Processor type and features" |
| 63 | 118 | ||
| 64 | config SMP | 119 | config SMP |
| 65 | bool "Symmetric multi-processing support (does not work on sun4/sun4c)" | 120 | bool "Symmetric multi-processing support (does not work on sun4/sun4c)" |
| @@ -84,43 +139,22 @@ config SMP | |||
| 84 | If you don't know what to do here, say N. | 139 | If you don't know what to do here, say N. |
| 85 | 140 | ||
| 86 | config NR_CPUS | 141 | config NR_CPUS |
| 87 | int "Maximum number of CPUs (2-32)" | 142 | int "Maximum number of CPUs" |
| 88 | range 2 32 | ||
| 89 | depends on SMP | 143 | depends on SMP |
| 90 | default "32" | 144 | range 2 32 if SPARC32 |
| 91 | 145 | range 2 1024 if SPARC64 | |
| 92 | source "kernel/Kconfig.hz" | 146 | default 32 if SPARC32 |
| 93 | 147 | default 64 if SPARC64 | |
| 94 | # Global things across all Sun machines. | ||
| 95 | config SERIAL_CONSOLE | ||
| 96 | bool | ||
| 97 | default y | ||
| 98 | ---help--- | ||
| 99 | If you say Y here, it will be possible to use a serial port as the | ||
| 100 | system console (the system console is the device which receives all | ||
| 101 | kernel messages and warnings and which allows logins in single user | ||
| 102 | mode). This could be useful if some terminal or printer is connected | ||
| 103 | to that serial port. | ||
| 104 | |||
| 105 | Even if you say Y here, the currently visible virtual console | ||
| 106 | (/dev/tty0) will still be used as the system console by default, but | ||
| 107 | you can alter that using a kernel command line option such as | ||
| 108 | "console=ttyS1". (Try "man bootparam" or see the documentation of | ||
| 109 | your boot loader (silo) about how to pass options to the kernel at | ||
| 110 | boot time.) | ||
| 111 | |||
| 112 | If you don't have a graphics card installed and you say Y here, the | ||
| 113 | kernel will automatically use the first serial line, /dev/ttyS0, as | ||
| 114 | system console. | ||
| 115 | 148 | ||
| 116 | If unsure, say N. | 149 | source kernel/Kconfig.hz |
| 117 | 150 | ||
| 118 | config RWSEM_GENERIC_SPINLOCK | 151 | config RWSEM_GENERIC_SPINLOCK |
| 119 | bool | 152 | bool |
| 120 | default y | 153 | default y if SPARC32 |
| 121 | 154 | ||
| 122 | config RWSEM_XCHGADD_ALGORITHM | 155 | config RWSEM_XCHGADD_ALGORITHM |
| 123 | bool | 156 | bool |
| 157 | default y if SPARC64 | ||
| 124 | 158 | ||
| 125 | config GENERIC_FIND_NEXT_BIT | 159 | config GENERIC_FIND_NEXT_BIT |
| 126 | bool | 160 | bool |
| @@ -128,7 +162,7 @@ config GENERIC_FIND_NEXT_BIT | |||
| 128 | 162 | ||
| 129 | config GENERIC_HWEIGHT | 163 | config GENERIC_HWEIGHT |
| 130 | bool | 164 | bool |
| 131 | default y | 165 | default y if !ULTRA_HAS_POPULATION_COUNT |
| 132 | 166 | ||
| 133 | config GENERIC_CALIBRATE_DELAY | 167 | config GENERIC_CALIBRATE_DELAY |
| 134 | bool | 168 | bool |
| @@ -148,27 +182,235 @@ config ARCH_HAS_ILOG2_U64 | |||
| 148 | 182 | ||
| 149 | config EMULATED_CMPXCHG | 183 | config EMULATED_CMPXCHG |
| 150 | bool | 184 | bool |
| 151 | default y | 185 | default y if SPARC32 |
| 152 | help | 186 | help |
| 153 | Sparc32 does not have a CAS instruction like sparc64. cmpxchg() | 187 | Sparc32 does not have a CAS instruction like sparc64. cmpxchg() |
| 154 | is emulated, and therefore it is not completely atomic. | 188 | is emulated, and therefore it is not completely atomic. |
| 155 | 189 | ||
| 156 | config SUN_PM | 190 | choice |
| 191 | prompt "Kernel page size" if SPARC64 | ||
| 192 | default SPARC64_PAGE_SIZE_8KB | ||
| 193 | |||
| 194 | config SPARC64_PAGE_SIZE_8KB | ||
| 195 | bool "8KB" | ||
| 196 | help | ||
| 197 | This lets you select the page size of the kernel. | ||
| 198 | |||
| 199 | 8KB and 64KB work quite well, since SPARC ELF sections | ||
| 200 | provide for up to 64KB alignment. | ||
| 201 | |||
| 202 | If you don't know what to do, choose 8KB. | ||
| 203 | |||
| 204 | config SPARC64_PAGE_SIZE_64KB | ||
| 205 | bool "64KB" | ||
| 206 | |||
| 207 | endchoice | ||
| 208 | |||
| 209 | config SECCOMP | ||
| 210 | bool "Enable seccomp to safely compute untrusted bytecode" | ||
| 211 | depends on SPARC64 && PROC_FS | ||
| 212 | default y | ||
| 213 | help | ||
| 214 | This kernel feature is useful for number crunching applications | ||
| 215 | that may need to compute untrusted bytecode during their | ||
| 216 | execution. By using pipes or other transports made available to | ||
| 217 | the process as file descriptors supporting the read/write | ||
| 218 | syscalls, it's possible to isolate those applications in | ||
| 219 | their own address space using seccomp. Once seccomp is | ||
| 220 | enabled via /proc/<pid>/seccomp, it cannot be disabled | ||
| 221 | and the task is only allowed to execute a few safe syscalls | ||
| 222 | defined by each seccomp mode. | ||
| 223 | |||
| 224 | If unsure, say Y. Only embedded should say N here. | ||
| 225 | |||
| 226 | config HOTPLUG_CPU | ||
| 227 | bool "Support for hot-pluggable CPUs" | ||
| 228 | depends on SPARC64 && SMP | ||
| 229 | select HOTPLUG | ||
| 230 | help | ||
| 231 | Say Y here to experiment with turning CPUs off and on. CPUs | ||
| 232 | can be controlled through /sys/devices/system/cpu/cpu#. | ||
| 233 | Say N if you want to disable CPU hotplug. | ||
| 234 | |||
| 235 | config GENERIC_HARDIRQS | ||
| 236 | bool | ||
| 237 | default y if SPARC64 | ||
| 238 | |||
| 239 | source "kernel/time/Kconfig" | ||
| 240 | |||
| 241 | if SPARC64 | ||
| 242 | source "drivers/cpufreq/Kconfig" | ||
| 243 | |||
| 244 | config US3_FREQ | ||
| 245 | tristate "UltraSPARC-III CPU Frequency driver" | ||
| 246 | depends on CPU_FREQ | ||
| 247 | select CPU_FREQ_TABLE | ||
| 248 | help | ||
| 249 | This adds the CPUFreq driver for UltraSPARC-III processors. | ||
| 250 | |||
| 251 | For details, take a look at <file:Documentation/cpu-freq>. | ||
| 252 | |||
| 253 | If in doubt, say N. | ||
| 254 | |||
| 255 | config US2E_FREQ | ||
| 256 | tristate "UltraSPARC-IIe CPU Frequency driver" | ||
| 257 | depends on CPU_FREQ | ||
| 258 | select CPU_FREQ_TABLE | ||
| 259 | help | ||
| 260 | This adds the CPUFreq driver for UltraSPARC-IIe processors. | ||
| 261 | |||
| 262 | For details, take a look at <file:Documentation/cpu-freq>. | ||
| 263 | |||
| 264 | If in doubt, say N. | ||
| 265 | |||
| 266 | endif | ||
| 267 | |||
| 268 | config US3_MC | ||
| 269 | tristate "UltraSPARC-III Memory Controller driver" | ||
| 270 | depends on SPARC64 | ||
| 271 | default y | ||
| 272 | help | ||
| 273 | This adds a driver for the UltraSPARC-III memory controller. | ||
| 274 | Loading this driver allows exact mnemonic strings to be | ||
| 275 | printed in the event of a memory error, so that the faulty DIMM | ||
| 276 | on the motherboard can be matched to the error. | ||
| 277 | |||
| 278 | If in doubt, say Y, as this information can be very useful. | ||
| 279 | |||
| 280 | # Global things across all Sun machines. | ||
| 281 | config GENERIC_LOCKBREAK | ||
| 157 | bool | 282 | bool |
| 158 | default y | 283 | default y |
| 284 | depends on SPARC64 && SMP && PREEMPT | ||
| 285 | |||
| 286 | choice | ||
| 287 | prompt "SPARC64 Huge TLB Page Size" | ||
| 288 | depends on SPARC64 && HUGETLB_PAGE | ||
| 289 | default HUGETLB_PAGE_SIZE_4MB | ||
| 290 | |||
| 291 | config HUGETLB_PAGE_SIZE_4MB | ||
| 292 | bool "4MB" | ||
| 293 | |||
| 294 | config HUGETLB_PAGE_SIZE_512K | ||
| 295 | bool "512K" | ||
| 296 | |||
| 297 | config HUGETLB_PAGE_SIZE_64K | ||
| 298 | depends on !SPARC64_PAGE_SIZE_64KB | ||
| 299 | bool "64K" | ||
| 300 | |||
| 301 | endchoice | ||
| 302 | |||
| 303 | config NUMA | ||
| 304 | bool "NUMA support" | ||
| 305 | depends on SPARC64 && SMP | ||
| 306 | |||
| 307 | config NODES_SHIFT | ||
| 308 | int | ||
| 309 | default "4" | ||
| 310 | depends on NEED_MULTIPLE_NODES | ||
| 311 | |||
| 312 | # Some NUMA nodes have memory ranges that span | ||
| 313 | # other nodes. Even though a pfn is valid and | ||
| 314 | # between a node's start and end pfns, it may not | ||
| 315 | # reside on that node. See memmap_init_zone() | ||
| 316 | # for details. | ||
| 317 | config NODES_SPAN_OTHER_NODES | ||
| 318 | def_bool y | ||
| 319 | depends on NEED_MULTIPLE_NODES | ||
| 320 | |||
| 321 | config ARCH_POPULATES_NODE_MAP | ||
| 322 | def_bool y if SPARC64 | ||
| 323 | |||
| 324 | config ARCH_SELECT_MEMORY_MODEL | ||
| 325 | def_bool y if SPARC64 | ||
| 326 | |||
| 327 | config ARCH_SPARSEMEM_ENABLE | ||
| 328 | def_bool y if SPARC64 | ||
| 329 | select SPARSEMEM_VMEMMAP_ENABLE | ||
| 330 | |||
| 331 | config ARCH_SPARSEMEM_DEFAULT | ||
| 332 | def_bool y if SPARC64 | ||
| 333 | |||
| 334 | source "mm/Kconfig" | ||
| 335 | |||
| 336 | config SCHED_SMT | ||
| 337 | bool "SMT (Hyperthreading) scheduler support" | ||
| 338 | depends on SPARC64 && SMP | ||
| 339 | default y | ||
| 340 | help | ||
| 341 | SMT scheduler support improves the CPU scheduler's decision making | ||
| 342 | when dealing with SPARC cpus at a cost of slightly increased overhead | ||
| 343 | in some places. If unsure say N here. | ||
| 344 | |||
| 345 | config SCHED_MC | ||
| 346 | bool "Multi-core scheduler support" | ||
| 347 | depends on SPARC64 && SMP | ||
| 348 | default y | ||
| 349 | help | ||
| 350 | Multi-core scheduler support improves the CPU scheduler's decision | ||
| 351 | making when dealing with multi-core CPU chips at a cost of slightly | ||
| 352 | increased overhead in some places. If unsure say N here. | ||
| 353 | |||
| 354 | if SPARC64 | ||
| 355 | source "kernel/Kconfig.preempt" | ||
| 356 | endif | ||
| 357 | |||
| 358 | config CMDLINE_BOOL | ||
| 359 | bool "Default bootloader kernel arguments" | ||
| 360 | depends on SPARC64 | ||
| 361 | |||
| 362 | config CMDLINE | ||
| 363 | string "Initial kernel command string" | ||
| 364 | depends on CMDLINE_BOOL | ||
| 365 | default "console=ttyS0,9600 root=/dev/sda1" | ||
| 366 | help | ||
| 367 | Say Y here if you want to be able to pass default arguments to | ||
| 368 | the kernel. This will be overridden by the bootloader, if you | ||
| 369 | use one (such as SILO). This is most useful if you want to boot | ||
| 370 | a kernel from TFTP, and want default options to be available | ||
| 371 | with having them passed on the command line. | ||
| 372 | |||
| 373 | NOTE: This option WILL override the PROM bootargs setting! | ||
| 374 | |||
| 375 | config SUN_PM | ||
| 376 | bool | ||
| 377 | default y if SPARC32 | ||
| 159 | help | 378 | help |
| 160 | Enable power management and CPU standby features on supported | 379 | Enable power management and CPU standby features on supported |
| 161 | SPARC platforms. | 380 | SPARC platforms. |
| 162 | 381 | ||
| 163 | config SPARC_LED | 382 | config SPARC_LED |
| 164 | tristate "Sun4m LED driver" | 383 | tristate "Sun4m LED driver" |
| 384 | depends on SPARC32 | ||
| 165 | help | 385 | help |
| 166 | This driver toggles the front-panel LED on sun4m systems | 386 | This driver toggles the front-panel LED on sun4m systems |
| 167 | in a user-specifiable manner. Its state can be probed | 387 | in a user-specifiable manner. Its state can be probed |
| 168 | by reading /proc/led and its blinking mode can be changed | 388 | by reading /proc/led and its blinking mode can be changed |
| 169 | via writes to /proc/led | 389 | via writes to /proc/led |
| 170 | 390 | ||
| 171 | source "mm/Kconfig" | 391 | config SERIAL_CONSOLE |
| 392 | bool | ||
| 393 | depends on SPARC32 | ||
| 394 | default y | ||
| 395 | ---help--- | ||
| 396 | If you say Y here, it will be possible to use a serial port as the | ||
| 397 | system console (the system console is the device which receives all | ||
| 398 | kernel messages and warnings and which allows logins in single user | ||
| 399 | mode). This could be useful if some terminal or printer is connected | ||
| 400 | to that serial port. | ||
| 401 | |||
| 402 | Even if you say Y here, the currently visible virtual console | ||
| 403 | (/dev/tty0) will still be used as the system console by default, but | ||
| 404 | you can alter that using a kernel command line option such as | ||
| 405 | "console=ttyS1". (Try "man bootparam" or see the documentation of | ||
| 406 | your boot loader (silo) about how to pass options to the kernel at | ||
| 407 | boot time.) | ||
| 408 | |||
| 409 | If you don't have a graphics card installed and you say Y here, the | ||
| 410 | kernel will automatically use the first serial line, /dev/ttyS0, as | ||
| 411 | system console. | ||
| 412 | |||
| 413 | If unsure, say N. | ||
| 172 | 414 | ||
| 173 | endmenu | 415 | endmenu |
| 174 | 416 | ||
| @@ -227,13 +469,29 @@ config SUN_IO | |||
| 227 | bool | 469 | bool |
| 228 | default y | 470 | default y |
| 229 | 471 | ||
| 472 | config SUN_LDOMS | ||
| 473 | bool "Sun Logical Domains support" | ||
| 474 | depends on SPARC64 | ||
| 475 | help | ||
| 476 | Say Y here is you want to support virtual devices via | ||
| 477 | Logical Domains. | ||
| 478 | |||
| 230 | config PCI | 479 | config PCI |
| 231 | bool "Support for PCI and PS/2 keyboard/mouse" | 480 | bool "Support for PCI and PS/2 keyboard/mouse" |
| 481 | select ARCH_SUPPORTS_MSI if SPARC64 | ||
| 232 | help | 482 | help |
| 483 | Find out whether your system includes a PCI bus. PCI is the name of | ||
| 484 | a bus system, i.e. the way the CPU talks to the other stuff inside | ||
| 485 | your box. If you say Y here, the kernel will include drivers and | ||
| 486 | infrastructure code to support PCI bus devices. | ||
| 487 | |||
| 233 | CONFIG_PCI is needed for all JavaStation's (including MrCoffee), | 488 | CONFIG_PCI is needed for all JavaStation's (including MrCoffee), |
| 234 | CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. | 489 | CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. |
| 235 | All of these platforms are extremely obscure, so say N if unsure. | 490 | All of these platforms are extremely obscure, so say N if unsure. |
| 236 | 491 | ||
| 492 | config PCI_DOMAINS | ||
| 493 | def_bool PCI if SPARC64 | ||
| 494 | |||
| 237 | config PCI_SYSCALL | 495 | config PCI_SYSCALL |
| 238 | def_bool PCI | 496 | def_bool PCI |
| 239 | 497 | ||
| @@ -259,6 +517,17 @@ menu "Executable file formats" | |||
| 259 | 517 | ||
| 260 | source "fs/Kconfig.binfmt" | 518 | source "fs/Kconfig.binfmt" |
| 261 | 519 | ||
| 520 | config COMPAT | ||
| 521 | bool | ||
| 522 | depends on SPARC64 | ||
| 523 | default y | ||
| 524 | select COMPAT_BINFMT_ELF | ||
| 525 | |||
| 526 | config SYSVIPC_COMPAT | ||
| 527 | bool | ||
| 528 | depends on COMPAT && SYSVIPC | ||
| 529 | default y | ||
| 530 | |||
| 262 | endmenu | 531 | endmenu |
| 263 | 532 | ||
| 264 | source "net/Kconfig" | 533 | source "net/Kconfig" |
