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_HARDIRQS_NO_DEPRECATED 30 select GENERIC_IRQ_SHOW 31 select USE_GENERIC_SMP_HELPERS if SMP 32 33config SPARC32 34 def_bool !64BIT 35 36config SPARC64 37 def_bool 64BIT 38 select ARCH_SUPPORTS_MSI 39 select HAVE_FUNCTION_TRACER 40 select HAVE_FUNCTION_GRAPH_TRACER 41 select HAVE_FUNCTION_GRAPH_FP_TEST 42 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 43 select HAVE_KRETPROBES 44 select HAVE_KPROBES 45 select HAVE_MEMBLOCK 46 select HAVE_SYSCALL_WRAPPERS 47 select HAVE_DYNAMIC_FTRACE 48 select HAVE_FTRACE_MCOUNT_RECORD 49 select HAVE_SYSCALL_TRACEPOINTS 50 select RTC_DRV_CMOS 51 select RTC_DRV_BQ4802 52 select RTC_DRV_SUN4V 53 select RTC_DRV_STARFIRE 54 select HAVE_PERF_EVENTS 55 select PERF_USE_VMALLOC 56 select IRQ_PREFLOW_FASTEOI 57 58config ARCH_DEFCONFIG 59 string 60 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 61 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 62 63# CONFIG_BITS can be used at source level to get 32/64 bits 64config BITS 65 int 66 default 32 if SPARC32 67 default 64 if SPARC64 68 69config ARCH_USES_GETTIMEOFFSET 70 bool 71 default y if SPARC32 72 73config GENERIC_CMOS_UPDATE 74 bool 75 default y 76 77config GENERIC_CLOCKEVENTS 78 bool 79 default y if SPARC64 80 81config IOMMU_HELPER 82 bool 83 default y if SPARC64 84 85config QUICKLIST 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 (does not work on sun4/sun4c)" 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 275source "kernel/time/Kconfig" 276 277if SPARC64 278source "drivers/cpufreq/Kconfig" 279 280config US3_FREQ 281 tristate "UltraSPARC-III CPU Frequency driver" 282 depends on CPU_FREQ 283 select CPU_FREQ_TABLE 284 help 285 This adds the CPUFreq driver for UltraSPARC-III processors. 286 287 For details, take a look at <file:Documentation/cpu-freq>. 288 289 If in doubt, say N. 290 291config US2E_FREQ 292 tristate "UltraSPARC-IIe CPU Frequency driver" 293 depends on CPU_FREQ 294 select CPU_FREQ_TABLE 295 help 296 This adds the CPUFreq driver for UltraSPARC-IIe processors. 297 298 For details, take a look at <file:Documentation/cpu-freq>. 299 300 If in doubt, say N. 301 302endif 303 304config US3_MC 305 tristate "UltraSPARC-III Memory Controller driver" 306 depends on SPARC64 307 default y 308 help 309 This adds a driver for the UltraSPARC-III memory controller. 310 Loading this driver allows exact mnemonic strings to be 311 printed in the event of a memory error, so that the faulty DIMM 312 on the motherboard can be matched to the error. 313 314 If in doubt, say Y, as this information can be very useful. 315 316# Global things across all Sun machines. 317config GENERIC_LOCKBREAK 318 bool 319 default y 320 depends on SPARC64 && SMP && PREEMPT 321 322choice 323 prompt "SPARC64 Huge TLB Page Size" 324 depends on SPARC64 && HUGETLB_PAGE 325 default HUGETLB_PAGE_SIZE_4MB 326 327config HUGETLB_PAGE_SIZE_4MB 328 bool "4MB" 329 330config HUGETLB_PAGE_SIZE_512K 331 bool "512K" 332 333config HUGETLB_PAGE_SIZE_64K 334 depends on !SPARC64_PAGE_SIZE_64KB 335 bool "64K" 336 337endchoice 338 339config NUMA 340 bool "NUMA support" 341 depends on SPARC64 && SMP 342 343config NODES_SHIFT 344 int 345 default "4" 346 depends on NEED_MULTIPLE_NODES 347 348# Some NUMA nodes have memory ranges that span 349# other nodes. Even though a pfn is valid and 350# between a node's start and end pfns, it may not 351# reside on that node. See memmap_init_zone() 352# for details. 353config NODES_SPAN_OTHER_NODES 354 def_bool y 355 depends on NEED_MULTIPLE_NODES 356 357config ARCH_POPULATES_NODE_MAP 358 def_bool y if SPARC64 359 360config ARCH_SELECT_MEMORY_MODEL 361 def_bool y if SPARC64 362 363config ARCH_SPARSEMEM_ENABLE 364 def_bool y if SPARC64 365 select SPARSEMEM_VMEMMAP_ENABLE 366 367config ARCH_SPARSEMEM_DEFAULT 368 def_bool y if SPARC64 369 370source "mm/Kconfig" 371 372config SCHED_SMT 373 bool "SMT (Hyperthreading) scheduler support" 374 depends on SPARC64 && SMP 375 default y 376 help 377 SMT scheduler support improves the CPU scheduler's decision making 378 when dealing with SPARC cpus at a cost of slightly increased overhead 379 in some places. If unsure say N here. 380 381config SCHED_MC 382 bool "Multi-core scheduler support" 383 depends on SPARC64 && SMP 384 default y 385 help 386 Multi-core scheduler support improves the CPU scheduler's decision 387 making when dealing with multi-core CPU chips at a cost of slightly 388 increased overhead in some places. If unsure say N here. 389 390if SPARC64 391source "kernel/Kconfig.preempt" 392endif 393 394config CMDLINE_BOOL 395 bool "Default bootloader kernel arguments" 396 depends on SPARC64 397 398config CMDLINE 399 string "Initial kernel command string" 400 depends on CMDLINE_BOOL 401 default "console=ttyS0,9600 root=/dev/sda1" 402 help 403 Say Y here if you want to be able to pass default arguments to 404 the kernel. This will be overridden by the bootloader, if you 405 use one (such as SILO). This is most useful if you want to boot 406 a kernel from TFTP, and want default options to be available 407 with having them passed on the command line. 408 409 NOTE: This option WILL override the PROM bootargs setting! 410 411config SUN_PM 412 bool 413 default y if SPARC32 414 help 415 Enable power management and CPU standby features on supported 416 SPARC platforms. 417 418config SPARC_LED 419 tristate "Sun4m LED driver" 420 depends on SPARC32 421 help 422 This driver toggles the front-panel LED on sun4m systems 423 in a user-specifiable manner. Its state can be probed 424 by reading /proc/led and its blinking mode can be changed 425 via writes to /proc/led 426 427config SERIAL_CONSOLE 428 bool 429 depends on SPARC32 430 default y 431 ---help--- 432 If you say Y here, it will be possible to use a serial port as the 433 system console (the system console is the device which receives all 434 kernel messages and warnings and which allows logins in single user 435 mode). This could be useful if some terminal or printer is connected 436 to that serial port. 437 438 Even if you say Y here, the currently visible virtual console 439 (/dev/tty0) will still be used as the system console by default, but 440 you can alter that using a kernel command line option such as 441 "console=ttyS1". (Try "man bootparam" or see the documentation of 442 your boot loader (silo) about how to pass options to the kernel at 443 boot time.) 444 445 If you don't have a graphics card installed and you say Y here, the 446 kernel will automatically use the first serial line, /dev/ttyS0, as 447 system console. 448 449 If unsure, say N. 450 451config SPARC_LEON 452 bool "Sparc Leon processor family" 453 depends on SPARC32 454 ---help--- 455 If you say Y here if you are running on a SPARC-LEON processor. 456 The LEON processor is a synthesizable VHDL model of the 457 SPARC-v8 standard. LEON is part of the GRLIB collection of 458 IP cores that are distributed under GPL. GRLIB can be downloaded 459 from www.gaisler.com. You can download a sparc-linux cross-compilation 460 toolchain at www.gaisler.com. 461 462if SPARC_LEON 463menu "U-Boot options" 464 465config UBOOT_LOAD_ADDR 466 hex "uImage Load Address" 467 default 0x40004000 468 ---help--- 469 U-Boot kernel load address, the address in physical address space 470 where u-boot will place the Linux kernel before booting it. 471 This address is normally the base address of main memory + 0x4000. 472 473config UBOOT_FLASH_ADDR 474 hex "uImage.o Load Address" 475 default 0x00080000 476 ---help--- 477 Optional setting only affecting the uImage.o ELF-image used to 478 download the uImage file to the target using a ELF-loader other than 479 U-Boot. It may for example be used to download an uImage to FLASH with 480 the GRMON utility before even starting u-boot. 481 482config UBOOT_ENTRY_ADDR 483 hex "uImage Entry Address" 484 default 0xf0004000 485 ---help--- 486 Do not change this unless you know what you're doing. This is 487 hardcoded by the SPARC32 and LEON port. 488 489 This is the virtual address u-boot jumps to when booting the Linux 490 Kernel. 491 492endmenu 493endif 494 495endmenu 496 497menu "Bus options (PCI etc.)" 498config SBUS 499 bool 500 default y 501 502config SBUSCHAR 503 bool 504 default y 505 506config SUN_LDOMS 507 bool "Sun Logical Domains support" 508 depends on SPARC64 509 help 510 Say Y here is you want to support virtual devices via 511 Logical Domains. 512 513config PCI 514 bool "Support for PCI and PS/2 keyboard/mouse" 515 help 516 Find out whether your system includes a PCI bus. PCI is the name of 517 a bus system, i.e. the way the CPU talks to the other stuff inside 518 your box. If you say Y here, the kernel will include drivers and 519 infrastructure code to support PCI bus devices. 520 521 CONFIG_PCI is needed for all JavaStation's (including MrCoffee), 522 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. 523 All of these platforms are extremely obscure, so say N if unsure. 524 525config PCI_DOMAINS 526 def_bool PCI if SPARC64 527 528config PCI_SYSCALL 529 def_bool PCI 530 531source "drivers/pci/Kconfig" 532 533source "drivers/pcmcia/Kconfig" 534 535config SUN_OPENPROMFS 536 tristate "Openprom tree appears in /proc/openprom" 537 help 538 If you say Y, the OpenPROM device tree will be available as a 539 virtual file system, which you can mount to /proc/openprom by "mount 540 -t openpromfs none /proc/openprom". 541 542 To compile the /proc/openprom support as a module, choose M here: the 543 module will be called openpromfs. 544 545 Only choose N if you know in advance that you will not need to modify 546 OpenPROM settings on the running system. 547 548# Makefile helpers 549config SPARC32_PCI 550 bool 551 default y 552 depends on SPARC32 && PCI 553 554config SPARC64_PCI 555 bool 556 default y 557 depends on SPARC64 && PCI 558 559endmenu 560 561menu "Executable file formats" 562 563source "fs/Kconfig.binfmt" 564 565config COMPAT 566 bool 567 depends on SPARC64 568 default y 569 select COMPAT_BINFMT_ELF 570 571config SYSVIPC_COMPAT 572 bool 573 depends on COMPAT && SYSVIPC 574 default y 575 576endmenu 577 578source "net/Kconfig" 579 580source "drivers/Kconfig" 581 582source "drivers/sbus/char/Kconfig" 583 584source "fs/Kconfig" 585 586source "arch/sparc/Kconfig.debug" 587 588source "security/Kconfig" 589 590source "crypto/Kconfig" 591 592source "lib/Kconfig" 593