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