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