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 select USB_UHCI_BIG_ENDIAN_MMIO 434 select USB_UHCI_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