1# For a description of the syntax of this configuration file, 2# see Documentation/kbuild/kconfig-language.txt. 3# 4 5mainmenu "Linux/SPARC Kernel Configuration" 6 7config SPARC 8 bool 9 default y 10 select HAVE_IDE 11 select HAVE_OPROFILE 12 select HAVE_ARCH_KGDB if !SMP || SPARC64 13 select HAVE_ARCH_TRACEHOOK 14 select ARCH_WANT_OPTIONAL_GPIOLIB 15 select RTC_CLASS 16 select RTC_DRV_M48T59 17 18# Identify this as a Sparc32 build 19config SPARC32 20 bool 21 default y if ARCH = "sparc" 22 help 23 SPARC is a family of RISC microprocessors designed and marketed by 24 Sun Microsystems, incorporated. They are very widely found in Sun 25 workstations and clones. This port covers the original 32-bit SPARC; 26 it is old and stable and usually considered one of the "big three" 27 along with the Intel and Alpha ports. The UltraLinux project 28 maintains both the SPARC32 and SPARC64 ports; its web page is 29 available at <http://www.ultralinux.org/>. 30 31config 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 44config ARCH_DEFCONFIG 45 string 46 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 47 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 48 49 50 51config 64BIT 52 def_bool y if SPARC64 53 54config GENERIC_TIME 55 bool 56 default y if SPARC64 57 58config GENERIC_CMOS_UPDATE 59 bool 60 default y if SPARC64 61 62config GENERIC_CLOCKEVENTS 63 bool 64 default y if SPARC64 65 66config IOMMU_HELPER 67 bool 68 default y if SPARC64 69 70config QUICKLIST 71 bool 72 default y if SPARC64 73 74config STACKTRACE_SUPPORT 75 bool 76 default y if SPARC64 77 78config LOCKDEP_SUPPORT 79 bool 80 default y if SPARC64 81 82config HAVE_LATENCYTOP_SUPPORT 83 bool 84 default y if SPARC64 85 86config AUDIT_ARCH 87 bool 88 default y if SPARC64 89 90config HAVE_SETUP_PER_CPU_AREA 91 def_bool y if SPARC64 92 93config GENERIC_HARDIRQS_NO__DO_IRQ 94 bool 95 def_bool y if SPARC64 96 97config MMU 98 bool 99 default y 100 101config HIGHMEM 102 bool 103 default y if SPARC32 104 105config ZONE_DMA 106 bool 107 default y if SPARC32 108 109config GENERIC_ISA_DMA 110 bool 111 default y if SPARC32 112 113config GENERIC_GPIO 114 bool 115 help 116 Generic GPIO API support 117 118config ARCH_NO_VIRT_TO_BUS 119 def_bool y 120 121config OF 122 def_bool y 123 124source "init/Kconfig" 125 126source "kernel/Kconfig.freezer" 127 128menu "Processor type and features" 129 130config SMP 131 bool "Symmetric multi-processing support (does not work on sun4/sun4c)" 132 ---help--- 133 This enables support for systems with more than one CPU. If you have 134 a system with only one CPU, say N. If you have a system with more 135 than one CPU, say Y. 136 137 If you say N here, the kernel will run on single and multiprocessor 138 machines, but will use only one CPU of a multiprocessor machine. If 139 you say Y here, the kernel will run on many, but not all, 140 singleprocessor machines. On a singleprocessor machine, the kernel 141 will run faster if you say N here. 142 143 People using multiprocessor machines who say Y here should also say 144 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power 145 Management" code will be disabled if you say Y here. 146 147 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 148 available at <http://www.tldp.org/docs.html#howto>. 149 150 If you don't know what to do here, say N. 151 152config NR_CPUS 153 int "Maximum number of CPUs" 154 depends on SMP 155 range 2 32 if SPARC32 156 range 2 1024 if SPARC64 157 default 32 if SPARC32 158 default 64 if SPARC64 159 160source kernel/Kconfig.hz 161 162config RWSEM_GENERIC_SPINLOCK 163 bool 164 default y if SPARC32 165 166config RWSEM_XCHGADD_ALGORITHM 167 bool 168 default y if SPARC64 169 170config GENERIC_FIND_NEXT_BIT 171 bool 172 default y 173 174config GENERIC_HWEIGHT 175 bool 176 default y if !ULTRA_HAS_POPULATION_COUNT 177 178config GENERIC_CALIBRATE_DELAY 179 bool 180 default y 181 182config ARCH_MAY_HAVE_PC_FDC 183 bool 184 default y 185 186config ARCH_HAS_ILOG2_U32 187 bool 188 default n 189 190config ARCH_HAS_ILOG2_U64 191 bool 192 default n 193 194config EMULATED_CMPXCHG 195 bool 196 default y if SPARC32 197 help 198 Sparc32 does not have a CAS instruction like sparc64. cmpxchg() 199 is emulated, and therefore it is not completely atomic. 200 201choice 202 prompt "Kernel page size" if SPARC64 203 default SPARC64_PAGE_SIZE_8KB 204 205config SPARC64_PAGE_SIZE_8KB 206 bool "8KB" 207 help 208 This lets you select the page size of the kernel. 209 210 8KB and 64KB work quite well, since SPARC ELF sections 211 provide for up to 64KB alignment. 212 213 If you don't know what to do, choose 8KB. 214 215config SPARC64_PAGE_SIZE_64KB 216 bool "64KB" 217 218endchoice 219 220config SECCOMP 221 bool "Enable seccomp to safely compute untrusted bytecode" 222 depends on SPARC64 && PROC_FS 223 default y 224 help 225 This kernel feature is useful for number crunching applications 226 that may need to compute untrusted bytecode during their 227 execution. By using pipes or other transports made available to 228 the process as file descriptors supporting the read/write 229 syscalls, it's possible to isolate those applications in 230 their own address space using seccomp. Once seccomp is 231 enabled via /proc/<pid>/seccomp, it cannot be disabled 232 and the task is only allowed to execute a few safe syscalls 233 defined by each seccomp mode. 234 235 If unsure, say Y. Only embedded should say N here. 236 237config HOTPLUG_CPU 238 bool "Support for hot-pluggable CPUs" 239 depends on SPARC64 && SMP 240 select HOTPLUG 241 help 242 Say Y here to experiment with turning CPUs off and on. CPUs 243 can be controlled through /sys/devices/system/cpu/cpu#. 244 Say N if you want to disable CPU hotplug. 245 246config GENERIC_HARDIRQS 247 bool 248 default y if SPARC64 249 250source "kernel/time/Kconfig" 251 252if SPARC64 253source "drivers/cpufreq/Kconfig" 254 255config US3_FREQ 256 tristate "UltraSPARC-III CPU Frequency driver" 257 depends on CPU_FREQ 258 select CPU_FREQ_TABLE 259 help 260 This adds the CPUFreq driver for UltraSPARC-III processors. 261 262 For details, take a look at <file:Documentation/cpu-freq>. 263 264 If in doubt, say N. 265 266config US2E_FREQ 267 tristate "UltraSPARC-IIe CPU Frequency driver" 268 depends on CPU_FREQ 269 select CPU_FREQ_TABLE 270 help 271 This adds the CPUFreq driver for UltraSPARC-IIe processors. 272 273 For details, take a look at <file:Documentation/cpu-freq>. 274 275 If in doubt, say N. 276 277endif 278 279config US3_MC 280 tristate "UltraSPARC-III Memory Controller driver" 281 depends on SPARC64 282 default y 283 help 284 This adds a driver for the UltraSPARC-III memory controller. 285 Loading this driver allows exact mnemonic strings to be 286 printed in the event of a memory error, so that the faulty DIMM 287 on the motherboard can be matched to the error. 288 289 If in doubt, say Y, as this information can be very useful. 290 291# Global things across all Sun machines. 292config GENERIC_LOCKBREAK 293 bool 294 default y 295 depends on SPARC64 && SMP && PREEMPT 296 297choice 298 prompt "SPARC64 Huge TLB Page Size" 299 depends on SPARC64 && HUGETLB_PAGE 300 default HUGETLB_PAGE_SIZE_4MB 301 302config HUGETLB_PAGE_SIZE_4MB 303 bool "4MB" 304 305config HUGETLB_PAGE_SIZE_512K 306 bool "512K" 307 308config HUGETLB_PAGE_SIZE_64K 309 depends on !SPARC64_PAGE_SIZE_64KB 310 bool "64K" 311 312endchoice 313 314config NUMA 315 bool "NUMA support" 316 depends on SPARC64 && SMP 317 318config NODES_SHIFT 319 int 320 default "4" 321 depends on NEED_MULTIPLE_NODES 322 323# Some NUMA nodes have memory ranges that span 324# other nodes. Even though a pfn is valid and 325# between a node's start and end pfns, it may not 326# reside on that node. See memmap_init_zone() 327# for details. 328config NODES_SPAN_OTHER_NODES 329 def_bool y 330 depends on NEED_MULTIPLE_NODES 331 332config ARCH_POPULATES_NODE_MAP 333 def_bool y if SPARC64 334 335config ARCH_SELECT_MEMORY_MODEL 336 def_bool y if SPARC64 337 338config ARCH_SPARSEMEM_ENABLE 339 def_bool y if SPARC64 340 select SPARSEMEM_VMEMMAP_ENABLE 341 342config ARCH_SPARSEMEM_DEFAULT 343 def_bool y if SPARC64 344 345source "mm/Kconfig" 346 347config SCHED_SMT 348 bool "SMT (Hyperthreading) scheduler support" 349 depends on SPARC64 && SMP 350 default y 351 help 352 SMT scheduler support improves the CPU scheduler's decision making 353 when dealing with SPARC cpus at a cost of slightly increased overhead 354 in some places. If unsure say N here. 355 356config SCHED_MC 357 bool "Multi-core scheduler support" 358 depends on SPARC64 && SMP 359 default y 360 help 361 Multi-core scheduler support improves the CPU scheduler's decision 362 making when dealing with multi-core CPU chips at a cost of slightly 363 increased overhead in some places. If unsure say N here. 364 365if SPARC64 366source "kernel/Kconfig.preempt" 367endif 368 369config CMDLINE_BOOL 370 bool "Default bootloader kernel arguments" 371 depends on SPARC64 372 373config CMDLINE 374 string "Initial kernel command string" 375 depends on CMDLINE_BOOL 376 default "console=ttyS0,9600 root=/dev/sda1" 377 help 378 Say Y here if you want to be able to pass default arguments to 379 the kernel. This will be overridden by the bootloader, if you 380 use one (such as SILO). This is most useful if you want to boot 381 a kernel from TFTP, and want default options to be available 382 with having them passed on the command line. 383 384 NOTE: This option WILL override the PROM bootargs setting! 385 386config SUN_PM 387 bool 388 default y if SPARC32 389 help 390 Enable power management and CPU standby features on supported 391 SPARC platforms. 392 393config SPARC_LED 394 tristate "Sun4m LED driver" 395 depends on SPARC32 396 help 397 This driver toggles the front-panel LED on sun4m systems 398 in a user-specifiable manner. Its state can be probed 399 by reading /proc/led and its blinking mode can be changed 400 via writes to /proc/led 401 402config SERIAL_CONSOLE 403 bool 404 depends on SPARC32 405 default y 406 ---help--- 407 If you say Y here, it will be possible to use a serial port as the 408 system console (the system console is the device which receives all 409 kernel messages and warnings and which allows logins in single user 410 mode). This could be useful if some terminal or printer is connected 411 to that serial port. 412 413 Even if you say Y here, the currently visible virtual console 414 (/dev/tty0) will still be used as the system console by default, but 415 you can alter that using a kernel command line option such as 416 "console=ttyS1". (Try "man bootparam" or see the documentation of 417 your boot loader (silo) about how to pass options to the kernel at 418 boot time.) 419 420 If you don't have a graphics card installed and you say Y here, the 421 kernel will automatically use the first serial line, /dev/ttyS0, as 422 system console. 423 424 If unsure, say N. 425 426endmenu 427 428menu "Bus options (PCI etc.)" 429config ISA 430 bool 431 help 432 ISA is found on Espresso only and is not supported currently. 433 434config ISAPNP 435 bool 436 help 437 ISAPNP is not supported 438 439config EISA 440 bool 441 help 442 EISA is not supported. 443 444config MCA 445 bool 446 help 447 MCA is not supported. 448 449config SBUS 450 bool 451 default y 452 453config SBUSCHAR 454 bool 455 default y 456 457config SUN_AUXIO 458 bool 459 default y 460 461config SUN_IO 462 bool 463 default y 464 465config SUN_LDOMS 466 bool "Sun Logical Domains support" 467 depends on SPARC64 468 help 469 Say Y here is you want to support virtual devices via 470 Logical Domains. 471 472config PCI 473 bool "Support for PCI and PS/2 keyboard/mouse" 474 select ARCH_SUPPORTS_MSI if SPARC64 475 help 476 Find out whether your system includes a PCI bus. PCI is the name of 477 a bus system, i.e. the way the CPU talks to the other stuff inside 478 your box. If you say Y here, the kernel will include drivers and 479 infrastructure code to support PCI bus devices. 480 481 CONFIG_PCI is needed for all JavaStation's (including MrCoffee), 482 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. 483 All of these platforms are extremely obscure, so say N if unsure. 484 485config PCI_DOMAINS 486 def_bool PCI if SPARC64 487 488config PCI_SYSCALL 489 def_bool PCI 490 491source "drivers/pci/Kconfig" 492 493source "drivers/pcmcia/Kconfig" 494 495config SUN_OPENPROMFS 496 tristate "Openprom tree appears in /proc/openprom" 497 help 498 If you say Y, the OpenPROM device tree will be available as a 499 virtual file system, which you can mount to /proc/openprom by "mount 500 -t openpromfs none /proc/openprom". 501 502 To compile the /proc/openprom support as a module, choose M here: the 503 module will be called openpromfs. 504 505 Only choose N if you know in advance that you will not need to modify 506 OpenPROM settings on the running system. 507 508 509endmenu 510 511menu "Executable file formats" 512 513source "fs/Kconfig.binfmt" 514 515config COMPAT 516 bool 517 depends on SPARC64 518 default y 519 select COMPAT_BINFMT_ELF 520 521config SYSVIPC_COMPAT 522 bool 523 depends on COMPAT && SYSVIPC 524 default y 525 526endmenu 527 528source "net/Kconfig" 529 530source "drivers/Kconfig" 531 532source "drivers/sbus/char/Kconfig" 533 534source "fs/Kconfig" 535 536source "arch/sparc/Kconfig.debug" 537 538source "security/Kconfig" 539 540source "crypto/Kconfig" 541 542source "lib/Kconfig" 543