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