1config 64BIT 2 bool "64-bit kernel" if ARCH = "sparc" 3 default ARCH = "sparc64" 4 help 5 SPARC is a family of RISC microprocessors designed and marketed by 6 Sun Microsystems, incorporated. They are very widely found in Sun 7 workstations and clones. 8 9 Say yes to build a 64-bit kernel - formerly known as sparc64 10 Say no to build a 32-bit kernel - formerly known as sparc 11 12config SPARC 13 bool 14 default y 15 select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI 16 select ARCH_MIGHT_HAVE_PC_SERIO 17 select OF 18 select OF_PROMTREE 19 select HAVE_IDE 20 select HAVE_OPROFILE 21 select HAVE_ARCH_KGDB if !SMP || SPARC64 22 select HAVE_ARCH_TRACEHOOK 23 select HAVE_EXIT_THREAD 24 select SYSCTL_EXCEPTION_TRACE 25 select RTC_CLASS 26 select RTC_DRV_M48T59 27 select RTC_SYSTOHC 28 select HAVE_DMA_API_DEBUG 29 select HAVE_ARCH_JUMP_LABEL if SPARC64 30 select GENERIC_IRQ_SHOW 31 select ARCH_WANT_IPC_PARSE_VERSION 32 select GENERIC_PCI_IOMAP 33 select HAVE_NMI_WATCHDOG if SPARC64 34 select HAVE_CBPF_JIT if SPARC32 35 select HAVE_EBPF_JIT if SPARC64 36 select HAVE_DEBUG_BUGVERBOSE 37 select GENERIC_SMP_IDLE_THREAD 38 select GENERIC_CLOCKEVENTS 39 select GENERIC_STRNCPY_FROM_USER 40 select GENERIC_STRNLEN_USER 41 select MODULES_USE_ELF_RELA 42 select ODD_RT_SIGACTION 43 select OLD_SIGSUSPEND 44 select ARCH_HAS_SG_CHAIN 45 select CPU_NO_EFFICIENT_FFS 46 select LOCKDEP_SMALL if LOCKDEP 47 select ARCH_WANT_RELAX_ORDER 48 49config SPARC32 50 def_bool !64BIT 51 select GENERIC_ATOMIC64 52 select CLZ_TAB 53 select HAVE_UID16 54 select OLD_SIGACTION 55 56config SPARC64 57 def_bool 64BIT 58 select HAVE_FUNCTION_TRACER 59 select HAVE_FUNCTION_GRAPH_TRACER 60 select HAVE_KRETPROBES 61 select HAVE_KPROBES 62 select HAVE_RCU_TABLE_FREE if SMP 63 select HAVE_MEMBLOCK 64 select HAVE_MEMBLOCK_NODE_MAP 65 select HAVE_ARCH_TRANSPARENT_HUGEPAGE 66 select HAVE_DYNAMIC_FTRACE 67 select HAVE_FTRACE_MCOUNT_RECORD 68 select HAVE_SYSCALL_TRACEPOINTS 69 select HAVE_CONTEXT_TRACKING 70 select HAVE_DEBUG_KMEMLEAK 71 select SPARSE_IRQ 72 select RTC_DRV_CMOS 73 select RTC_DRV_BQ4802 74 select RTC_DRV_SUN4V 75 select RTC_DRV_STARFIRE 76 select HAVE_PERF_EVENTS 77 select PERF_USE_VMALLOC 78 select IRQ_PREFLOW_FASTEOI 79 select ARCH_HAVE_NMI_SAFE_CMPXCHG 80 select HAVE_C_RECORDMCOUNT 81 select NO_BOOTMEM 82 select HAVE_ARCH_AUDITSYSCALL 83 select ARCH_SUPPORTS_ATOMIC_RMW 84 select HAVE_NMI 85 select HAVE_REGS_AND_STACK_ACCESS_API 86 select ARCH_USE_QUEUED_RWLOCKS 87 select ARCH_USE_QUEUED_SPINLOCKS 88 89config ARCH_DEFCONFIG 90 string 91 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 92 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 93 94config ARCH_PROC_KCORE_TEXT 95 def_bool y 96 97config CPU_BIG_ENDIAN 98 def_bool y 99 100config CPU_BIG_ENDIAN 101 def_bool y 102 103config ARCH_ATU 104 bool 105 default y if SPARC64 106 107config ARCH_DMA_ADDR_T_64BIT 108 bool 109 default y if ARCH_ATU 110 111config IOMMU_HELPER 112 bool 113 default y if SPARC64 114 115config STACKTRACE_SUPPORT 116 bool 117 default y if SPARC64 118 119config LOCKDEP_SUPPORT 120 bool 121 default y if SPARC64 122 123config ARCH_HIBERNATION_POSSIBLE 124 def_bool y if SPARC64 125 126config AUDIT_ARCH 127 bool 128 default y 129 130config HAVE_SETUP_PER_CPU_AREA 131 def_bool y if SPARC64 132 133config NEED_PER_CPU_EMBED_FIRST_CHUNK 134 def_bool y if SPARC64 135 136config NEED_PER_CPU_PAGE_FIRST_CHUNK 137 def_bool y if SPARC64 138 139config MMU 140 bool 141 default y 142 143config HIGHMEM 144 bool 145 default y if SPARC32 146 147config ZONE_DMA 148 bool 149 default y if SPARC32 150 151config NEED_DMA_MAP_STATE 152 def_bool y 153 154config NEED_SG_DMA_LENGTH 155 def_bool y 156 157config GENERIC_ISA_DMA 158 bool 159 default y if SPARC32 160 161config ARCH_SUPPORTS_DEBUG_PAGEALLOC 162 def_bool y if SPARC64 163 164config PGTABLE_LEVELS 165 default 4 if 64BIT 166 default 3 167 168config ARCH_SUPPORTS_UPROBES 169 def_bool y if SPARC64 170 171source "init/Kconfig" 172 173source "kernel/Kconfig.freezer" 174 175menu "Processor type and features" 176 177config SMP 178 bool "Symmetric multi-processing support" 179 ---help--- 180 This enables support for systems with more than one CPU. If you have 181 a system with only one CPU, say N. If you have a system with more 182 than one CPU, say Y. 183 184 If you say N here, the kernel will run on uni- and multiprocessor 185 machines, but will use only one CPU of a multiprocessor machine. If 186 you say Y here, the kernel will run on many, but not all, 187 uniprocessor machines. On a uniprocessor machine, the kernel 188 will run faster if you say N here. 189 190 People using multiprocessor machines who say Y here should also say 191 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power 192 Management" code will be disabled if you say Y here. 193 194 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 195 available at <http://www.tldp.org/docs.html#howto>. 196 197 If you don't know what to do here, say N. 198 199config NR_CPUS 200 int "Maximum number of CPUs" 201 depends on SMP 202 range 2 32 if SPARC32 203 range 2 4096 if SPARC64 204 default 32 if SPARC32 205 default 4096 if SPARC64 206 207source kernel/Kconfig.hz 208 209config RWSEM_GENERIC_SPINLOCK 210 bool 211 default y if SPARC32 212 213config RWSEM_XCHGADD_ALGORITHM 214 bool 215 default y if SPARC64 216 217config GENERIC_HWEIGHT 218 bool 219 default y 220 221config GENERIC_CALIBRATE_DELAY 222 bool 223 default y 224 225config ARCH_MAY_HAVE_PC_FDC 226 bool 227 default y 228 229config EMULATED_CMPXCHG 230 bool 231 default y if SPARC32 232 help 233 Sparc32 does not have a CAS instruction like sparc64. cmpxchg() 234 is emulated, and therefore it is not completely atomic. 235 236# Makefile helpers 237config SPARC32_SMP 238 bool 239 default y 240 depends on SPARC32 && SMP 241 242config SPARC64_SMP 243 bool 244 default y 245 depends on SPARC64 && SMP 246 247config EARLYFB 248 bool "Support for early boot text console" 249 default y 250 depends on SPARC64 251 help 252 Say Y here to enable a faster early framebuffer boot console. 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 help 275 Say Y here to experiment with turning CPUs off and on. CPUs 276 can be controlled through /sys/devices/system/cpu/cpu#. 277 Say N if you want to disable CPU hotplug. 278 279if SPARC64 280source "drivers/cpufreq/Kconfig" 281endif 282 283config US3_MC 284 tristate "UltraSPARC-III Memory Controller driver" 285 depends on SPARC64 286 default y 287 help 288 This adds a driver for the UltraSPARC-III memory controller. 289 Loading this driver allows exact mnemonic strings to be 290 printed in the event of a memory error, so that the faulty DIMM 291 on the motherboard can be matched to the error. 292 293 If in doubt, say Y, as this information can be very useful. 294 295# Global things across all Sun machines. 296config GENERIC_LOCKBREAK 297 bool 298 default y 299 depends on SPARC64 && SMP && PREEMPT 300 301config NUMA 302 bool "NUMA support" 303 depends on SPARC64 && SMP 304 305config NODES_SHIFT 306 int "Maximum NUMA Nodes (as a power of 2)" 307 range 4 5 if SPARC64 308 default "5" 309 depends on NEED_MULTIPLE_NODES 310 help 311 Specify the maximum number of NUMA Nodes available on the target 312 system. Increases memory reserved to accommodate various tables. 313 314# Some NUMA nodes have memory ranges that span 315# other nodes. Even though a pfn is valid and 316# between a node's start and end pfns, it may not 317# reside on that node. See memmap_init_zone() 318# for details. 319config NODES_SPAN_OTHER_NODES 320 def_bool y 321 depends on NEED_MULTIPLE_NODES 322 323config ARCH_SELECT_MEMORY_MODEL 324 def_bool y if SPARC64 325 326config ARCH_SPARSEMEM_ENABLE 327 def_bool y if SPARC64 328 select SPARSEMEM_VMEMMAP_ENABLE 329 330config ARCH_SPARSEMEM_DEFAULT 331 def_bool y if SPARC64 332 333config FORCE_MAX_ZONEORDER 334 int "Maximum zone order" 335 default "13" 336 help 337 The kernel memory allocator divides physically contiguous memory 338 blocks into "zones", where each zone is a power of two number of 339 pages. This option selects the largest power of two that the kernel 340 keeps in the memory allocator. If you need to allocate very large 341 blocks of physically contiguous memory, then you may need to 342 increase this value. 343 344 This config option is actually maximum order plus one. For example, 345 a value of 13 means that the largest free memory block is 2^12 pages. 346 347source "mm/Kconfig" 348 349if SPARC64 350source "kernel/power/Kconfig" 351endif 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 371source "kernel/Kconfig.preempt" 372 373config CMDLINE_BOOL 374 bool "Default bootloader kernel arguments" 375 depends on SPARC64 376 377config CMDLINE 378 string "Initial kernel command string" 379 depends on CMDLINE_BOOL 380 default "console=ttyS0,9600 root=/dev/sda1" 381 help 382 Say Y here if you want to be able to pass default arguments to 383 the kernel. This will be overridden by the bootloader, if you 384 use one (such as SILO). This is most useful if you want to boot 385 a kernel from TFTP, and want default options to be available 386 with having them passed on the command line. 387 388 NOTE: This option WILL override the PROM bootargs setting! 389 390config SUN_PM 391 bool 392 default y if SPARC32 393 help 394 Enable power management and CPU standby features on supported 395 SPARC platforms. 396 397config SPARC_LED 398 tristate "Sun4m LED driver" 399 depends on SPARC32 400 help 401 This driver toggles the front-panel LED on sun4m systems 402 in a user-specifiable manner. Its state can be probed 403 by reading /proc/led and its blinking mode can be changed 404 via writes to /proc/led 405 406config SERIAL_CONSOLE 407 bool 408 depends on SPARC32 409 default y 410 ---help--- 411 If you say Y here, it will be possible to use a serial port as the 412 system console (the system console is the device which receives all 413 kernel messages and warnings and which allows logins in single user 414 mode). This could be useful if some terminal or printer is connected 415 to that serial port. 416 417 Even if you say Y here, the currently visible virtual console 418 (/dev/tty0) will still be used as the system console by default, but 419 you can alter that using a kernel command line option such as 420 "console=ttyS1". (Try "man bootparam" or see the documentation of 421 your boot loader (silo) about how to pass options to the kernel at 422 boot time.) 423 424 If you don't have a graphics card installed and you say Y here, the 425 kernel will automatically use the first serial line, /dev/ttyS0, as 426 system console. 427 428 If unsure, say N. 429 430config SPARC_LEON 431 bool "Sparc Leon processor family" 432 depends on SPARC32 433 select USB_EHCI_BIG_ENDIAN_MMIO 434 select USB_EHCI_BIG_ENDIAN_DESC 435 ---help--- 436 If you say Y here if you are running on a SPARC-LEON processor. 437 The LEON processor is a synthesizable VHDL model of the 438 SPARC-v8 standard. LEON is part of the GRLIB collection of 439 IP cores that are distributed under GPL. GRLIB can be downloaded 440 from www.gaisler.com. You can download a sparc-linux cross-compilation 441 toolchain at www.gaisler.com. 442 443if SPARC_LEON 444menu "U-Boot options" 445 446config UBOOT_LOAD_ADDR 447 hex "uImage Load Address" 448 default 0x40004000 449 ---help--- 450 U-Boot kernel load address, the address in physical address space 451 where u-boot will place the Linux kernel before booting it. 452 This address is normally the base address of main memory + 0x4000. 453 454config UBOOT_FLASH_ADDR 455 hex "uImage.o Load Address" 456 default 0x00080000 457 ---help--- 458 Optional setting only affecting the uImage.o ELF-image used to 459 download the uImage file to the target using a ELF-loader other than 460 U-Boot. It may for example be used to download an uImage to FLASH with 461 the GRMON utility before even starting u-boot. 462 463config UBOOT_ENTRY_ADDR 464 hex "uImage Entry Address" 465 default 0xf0004000 466 ---help--- 467 Do not change this unless you know what you're doing. This is 468 hardcoded by the SPARC32 and LEON port. 469 470 This is the virtual address u-boot jumps to when booting the Linux 471 Kernel. 472 473endmenu 474endif 475 476endmenu 477 478menu "Bus options (PCI etc.)" 479config SBUS 480 bool 481 default y 482 483config SBUSCHAR 484 bool 485 default y 486 487config SUN_LDOMS 488 bool "Sun Logical Domains support" 489 depends on SPARC64 490 help 491 Say Y here is you want to support virtual devices via 492 Logical Domains. 493 494config PCI 495 bool "Support for PCI and PS/2 keyboard/mouse" 496 help 497 Find out whether your system includes a PCI bus. PCI is the name of 498 a bus system, i.e. the way the CPU talks to the other stuff inside 499 your box. If you say Y here, the kernel will include drivers and 500 infrastructure code to support PCI bus devices. 501 502 CONFIG_PCI is needed for all JavaStation's (including MrCoffee), 503 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. 504 All of these platforms are extremely obscure, so say N if unsure. 505 506config PCI_DOMAINS 507 def_bool PCI if SPARC64 508 509config PCI_SYSCALL 510 def_bool PCI 511 512config PCIC_PCI 513 bool 514 depends on PCI && SPARC32 && !SPARC_LEON 515 default y 516 517config LEON_PCI 518 bool 519 depends on PCI && SPARC_LEON 520 default y 521 522config SPARC_GRPCI1 523 bool "GRPCI Host Bridge Support" 524 depends on LEON_PCI 525 default y 526 help 527 Say Y here to include the GRPCI Host Bridge Driver. The GRPCI 528 PCI host controller is typically found in GRLIB SPARC32/LEON 529 systems. The driver has one property (all_pci_errors) controlled 530 from the bootloader that makes the GRPCI to generate interrupts 531 on detected PCI Parity and System errors. 532 533config SPARC_GRPCI2 534 bool "GRPCI2 Host Bridge Support" 535 depends on LEON_PCI 536 default y 537 help 538 Say Y here to include the GRPCI2 Host Bridge Driver. 539 540source "drivers/pci/Kconfig" 541 542source "drivers/pcmcia/Kconfig" 543 544config SUN_OPENPROMFS 545 tristate "Openprom tree appears in /proc/openprom" 546 help 547 If you say Y, the OpenPROM device tree will be available as a 548 virtual file system, which you can mount to /proc/openprom by "mount 549 -t openpromfs none /proc/openprom". 550 551 To compile the /proc/openprom support as a module, choose M here: the 552 module will be called openpromfs. 553 554 Only choose N if you know in advance that you will not need to modify 555 OpenPROM settings on the running system. 556 557# Makefile helpers 558config SPARC64_PCI 559 bool 560 default y 561 depends on SPARC64 && PCI 562 563config SPARC64_PCI_MSI 564 bool 565 default y 566 depends on SPARC64_PCI && PCI_MSI 567 568endmenu 569 570menu "Executable file formats" 571 572source "fs/Kconfig.binfmt" 573 574config COMPAT 575 bool 576 depends on SPARC64 577 default y 578 select COMPAT_BINFMT_ELF 579 select HAVE_UID16 580 select ARCH_WANT_OLD_COMPAT_IPC 581 select COMPAT_OLD_SIGACTION 582 583config SYSVIPC_COMPAT 584 bool 585 depends on COMPAT && SYSVIPC 586 default y 587 588endmenu 589 590source "net/Kconfig" 591 592source "drivers/Kconfig" 593 594source "drivers/sbus/char/Kconfig" 595 596source "fs/Kconfig" 597 598source "arch/sparc/Kconfig.debug" 599 600source "security/Kconfig" 601 602source "crypto/Kconfig" 603 604source "lib/Kconfig" 605