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