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