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