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