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