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