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