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 OF 16 select OF_PROMTREE 17 select HAVE_IDE 18 select HAVE_OPROFILE 19 select HAVE_ARCH_KGDB if !SMP || SPARC64 20 select HAVE_ARCH_TRACEHOOK 21 select SYSCTL_EXCEPTION_TRACE 22 select ARCH_WANT_OPTIONAL_GPIOLIB 23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 24 select RTC_CLASS 25 select RTC_DRV_M48T59 26 select HAVE_DMA_ATTRS 27 select HAVE_DMA_API_DEBUG 28 select HAVE_ARCH_JUMP_LABEL 29 select HAVE_GENERIC_HARDIRQS 30 select GENERIC_IRQ_SHOW 31 select ARCH_WANT_IPC_PARSE_VERSION 32 select USE_GENERIC_SMP_HELPERS if SMP 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 ARCH_SUPPORTS_MSI 56 select HAVE_FUNCTION_TRACER 57 select HAVE_FUNCTION_GRAPH_TRACER 58 select HAVE_FUNCTION_GRAPH_FP_TEST 59 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 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_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 81config ARCH_DEFCONFIG 82 string 83 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 84 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 85 86config IOMMU_HELPER 87 bool 88 default y if SPARC64 89 90config STACKTRACE_SUPPORT 91 bool 92 default y if SPARC64 93 94config LOCKDEP_SUPPORT 95 bool 96 default y if SPARC64 97 98config HAVE_LATENCYTOP_SUPPORT 99 bool 100 default y if SPARC64 101 102config ARCH_HIBERNATION_POSSIBLE 103 def_bool y if SPARC64 104 105config AUDIT_ARCH 106 bool 107 default y 108 109config HAVE_SETUP_PER_CPU_AREA 110 def_bool y if SPARC64 111 112config NEED_PER_CPU_EMBED_FIRST_CHUNK 113 def_bool y if SPARC64 114 115config NEED_PER_CPU_PAGE_FIRST_CHUNK 116 def_bool y if SPARC64 117 118config MMU 119 bool 120 default y 121 122config HIGHMEM 123 bool 124 default y if SPARC32 125 126config ZONE_DMA 127 bool 128 default y if SPARC32 129 130config NEED_DMA_MAP_STATE 131 def_bool y 132 133config NEED_SG_DMA_LENGTH 134 def_bool y 135 136config GENERIC_ISA_DMA 137 bool 138 default y if SPARC32 139 140config ARCH_SUPPORTS_DEBUG_PAGEALLOC 141 def_bool y if SPARC64 142 143source "init/Kconfig" 144 145source "kernel/Kconfig.freezer" 146 147menu "Processor type and features" 148 149config SMP 150 bool "Symmetric multi-processing support" 151 ---help--- 152 This enables support for systems with more than one CPU. If you have 153 a system with only one CPU, say N. If you have a system with more 154 than one CPU, say Y. 155 156 If you say N here, the kernel will run on single and multiprocessor 157 machines, but will use only one CPU of a multiprocessor machine. If 158 you say Y here, the kernel will run on many, but not all, 159 singleprocessor machines. On a singleprocessor machine, the kernel 160 will run faster if you say N here. 161 162 People using multiprocessor machines who say Y here should also say 163 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power 164 Management" code will be disabled if you say Y here. 165 166 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 167 available at <http://www.tldp.org/docs.html#howto>. 168 169 If you don't know what to do here, say N. 170 171config NR_CPUS 172 int "Maximum number of CPUs" 173 depends on SMP 174 range 2 32 if SPARC32 175 range 2 1024 if SPARC64 176 default 32 if SPARC32 177 default 64 if SPARC64 178 179source kernel/Kconfig.hz 180 181config RWSEM_GENERIC_SPINLOCK 182 bool 183 default y if SPARC32 184 185config RWSEM_XCHGADD_ALGORITHM 186 bool 187 default y if SPARC64 188 189config GENERIC_HWEIGHT 190 bool 191 default y 192 193config GENERIC_CALIBRATE_DELAY 194 bool 195 default y 196 197config ARCH_MAY_HAVE_PC_FDC 198 bool 199 default y 200 201config EMULATED_CMPXCHG 202 bool 203 default y if SPARC32 204 help 205 Sparc32 does not have a CAS instruction like sparc64. cmpxchg() 206 is emulated, and therefore it is not completely atomic. 207 208# Makefile helpers 209config SPARC32_SMP 210 bool 211 default y 212 depends on SPARC32 && SMP 213 214config SPARC64_SMP 215 bool 216 default y 217 depends on SPARC64 && SMP 218 219config EARLYFB 220 bool "Support for early boot text console" 221 default y 222 depends on SPARC64 223 help 224 Say Y here to enable a faster early framebuffer boot console. 225 226config SECCOMP 227 bool "Enable seccomp to safely compute untrusted bytecode" 228 depends on SPARC64 && PROC_FS 229 default y 230 help 231 This kernel feature is useful for number crunching applications 232 that may need to compute untrusted bytecode during their 233 execution. By using pipes or other transports made available to 234 the process as file descriptors supporting the read/write 235 syscalls, it's possible to isolate those applications in 236 their own address space using seccomp. Once seccomp is 237 enabled via /proc/<pid>/seccomp, it cannot be disabled 238 and the task is only allowed to execute a few safe syscalls 239 defined by each seccomp mode. 240 241 If unsure, say Y. Only embedded should say N here. 242 243config HOTPLUG_CPU 244 bool "Support for hot-pluggable CPUs" 245 depends on SPARC64 && SMP 246 select HOTPLUG 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 helper 513config SPARC64_PCI 514 bool 515 default y 516 depends on SPARC64 && PCI 517 518endmenu 519 520menu "Executable file formats" 521 522source "fs/Kconfig.binfmt" 523 524config COMPAT 525 bool 526 depends on SPARC64 527 default y 528 select COMPAT_BINFMT_ELF 529 select HAVE_UID16 530 select ARCH_WANT_OLD_COMPAT_IPC 531 select COMPAT_OLD_SIGACTION 532 533config SYSVIPC_COMPAT 534 bool 535 depends on COMPAT && SYSVIPC 536 default y 537 538config KEYS_COMPAT 539 def_bool y if COMPAT && KEYS 540 541endmenu 542 543source "net/Kconfig" 544 545source "drivers/Kconfig" 546 547source "drivers/sbus/char/Kconfig" 548 549source "fs/Kconfig" 550 551source "arch/sparc/Kconfig.debug" 552 553source "security/Kconfig" 554 555source "crypto/Kconfig" 556 557source "lib/Kconfig" 558