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