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