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