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