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