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