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 54config ARCH_DEFCONFIG 55 string 56 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 57 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 58 59# CONFIG_BITS can be used at source level to get 32/64 bits 60config BITS 61 int 62 default 32 if SPARC32 63 default 64 if SPARC64 64 65config ARCH_USES_GETTIMEOFFSET 66 bool 67 default y if SPARC32 68 69config GENERIC_CMOS_UPDATE 70 bool 71 default y 72 73config GENERIC_CLOCKEVENTS 74 bool 75 default y if SPARC64 76 77config IOMMU_HELPER 78 bool 79 default y if SPARC64 80 81config QUICKLIST 82 bool 83 default y if SPARC64 84 85config STACKTRACE_SUPPORT 86 bool 87 default y if SPARC64 88 89config LOCKDEP_SUPPORT 90 bool 91 default y if SPARC64 92 93config HAVE_LATENCYTOP_SUPPORT 94 bool 95 default y if SPARC64 96 97config AUDIT_ARCH 98 bool 99 default y 100 101config HAVE_SETUP_PER_CPU_AREA 102 def_bool y if SPARC64 103 104config NEED_PER_CPU_EMBED_FIRST_CHUNK 105 def_bool y if SPARC64 106 107config NEED_PER_CPU_PAGE_FIRST_CHUNK 108 def_bool y if SPARC64 109 110config GENERIC_HARDIRQS_NO__DO_IRQ 111 bool 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_FIND_NEXT_BIT 194 bool 195 default y 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 234choice 235 prompt "Kernel page size" if SPARC64 236 default SPARC64_PAGE_SIZE_8KB 237 238config SPARC64_PAGE_SIZE_8KB 239 bool "8KB" 240 help 241 This lets you select the page size of the kernel. 242 243 8KB and 64KB work quite well, since SPARC ELF sections 244 provide for up to 64KB alignment. 245 246 If you don't know what to do, choose 8KB. 247 248config SPARC64_PAGE_SIZE_64KB 249 bool "64KB" 250 251endchoice 252 253config SECCOMP 254 bool "Enable seccomp to safely compute untrusted bytecode" 255 depends on SPARC64 && PROC_FS 256 default y 257 help 258 This kernel feature is useful for number crunching applications 259 that may need to compute untrusted bytecode during their 260 execution. By using pipes or other transports made available to 261 the process as file descriptors supporting the read/write 262 syscalls, it's possible to isolate those applications in 263 their own address space using seccomp. Once seccomp is 264 enabled via /proc/<pid>/seccomp, it cannot be disabled 265 and the task is only allowed to execute a few safe syscalls 266 defined by each seccomp mode. 267 268 If unsure, say Y. Only embedded should say N here. 269 270config HOTPLUG_CPU 271 bool "Support for hot-pluggable CPUs" 272 depends on SPARC64 && SMP 273 select HOTPLUG 274 help 275 Say Y here to experiment with turning CPUs off and on. CPUs 276 can be controlled through /sys/devices/system/cpu/cpu#. 277 Say N if you want to disable CPU hotplug. 278 279config GENERIC_HARDIRQS 280 bool 281 default y if SPARC64 282 283source "kernel/time/Kconfig" 284 285if SPARC64 286source "drivers/cpufreq/Kconfig" 287 288config US3_FREQ 289 tristate "UltraSPARC-III CPU Frequency driver" 290 depends on CPU_FREQ 291 select CPU_FREQ_TABLE 292 help 293 This adds the CPUFreq driver for UltraSPARC-III processors. 294 295 For details, take a look at <file:Documentation/cpu-freq>. 296 297 If in doubt, say N. 298 299config US2E_FREQ 300 tristate "UltraSPARC-IIe CPU Frequency driver" 301 depends on CPU_FREQ 302 select CPU_FREQ_TABLE 303 help 304 This adds the CPUFreq driver for UltraSPARC-IIe processors. 305 306 For details, take a look at <file:Documentation/cpu-freq>. 307 308 If in doubt, say N. 309 310endif 311 312config US3_MC 313 tristate "UltraSPARC-III Memory Controller driver" 314 depends on SPARC64 315 default y 316 help 317 This adds a driver for the UltraSPARC-III memory controller. 318 Loading this driver allows exact mnemonic strings to be 319 printed in the event of a memory error, so that the faulty DIMM 320 on the motherboard can be matched to the error. 321 322 If in doubt, say Y, as this information can be very useful. 323 324# Global things across all Sun machines. 325config GENERIC_LOCKBREAK 326 bool 327 default y 328 depends on SPARC64 && SMP && PREEMPT 329 330choice 331 prompt "SPARC64 Huge TLB Page Size" 332 depends on SPARC64 && HUGETLB_PAGE 333 default HUGETLB_PAGE_SIZE_4MB 334 335config HUGETLB_PAGE_SIZE_4MB 336 bool "4MB" 337 338config HUGETLB_PAGE_SIZE_512K 339 bool "512K" 340 341config HUGETLB_PAGE_SIZE_64K 342 depends on !SPARC64_PAGE_SIZE_64KB 343 bool "64K" 344 345endchoice 346 347config NUMA 348 bool "NUMA support" 349 depends on SPARC64 && SMP 350 351config NODES_SHIFT 352 int 353 default "4" 354 depends on NEED_MULTIPLE_NODES 355 356# Some NUMA nodes have memory ranges that span 357# other nodes. Even though a pfn is valid and 358# between a node's start and end pfns, it may not 359# reside on that node. See memmap_init_zone() 360# for details. 361config NODES_SPAN_OTHER_NODES 362 def_bool y 363 depends on NEED_MULTIPLE_NODES 364 365config ARCH_POPULATES_NODE_MAP 366 def_bool y if SPARC64 367 368config ARCH_SELECT_MEMORY_MODEL 369 def_bool y if SPARC64 370 371config ARCH_SPARSEMEM_ENABLE 372 def_bool y if SPARC64 373 select SPARSEMEM_VMEMMAP_ENABLE 374 375config ARCH_SPARSEMEM_DEFAULT 376 def_bool y if SPARC64 377 378source "mm/Kconfig" 379 380config SCHED_SMT 381 bool "SMT (Hyperthreading) scheduler support" 382 depends on SPARC64 && SMP 383 default y 384 help 385 SMT scheduler support improves the CPU scheduler's decision making 386 when dealing with SPARC cpus at a cost of slightly increased overhead 387 in some places. If unsure say N here. 388 389config SCHED_MC 390 bool "Multi-core scheduler support" 391 depends on SPARC64 && SMP 392 default y 393 help 394 Multi-core scheduler support improves the CPU scheduler's decision 395 making when dealing with multi-core CPU chips at a cost of slightly 396 increased overhead in some places. If unsure say N here. 397 398if SPARC64 399source "kernel/Kconfig.preempt" 400endif 401 402config CMDLINE_BOOL 403 bool "Default bootloader kernel arguments" 404 depends on SPARC64 405 406config CMDLINE 407 string "Initial kernel command string" 408 depends on CMDLINE_BOOL 409 default "console=ttyS0,9600 root=/dev/sda1" 410 help 411 Say Y here if you want to be able to pass default arguments to 412 the kernel. This will be overridden by the bootloader, if you 413 use one (such as SILO). This is most useful if you want to boot 414 a kernel from TFTP, and want default options to be available 415 with having them passed on the command line. 416 417 NOTE: This option WILL override the PROM bootargs setting! 418 419config SUN_PM 420 bool 421 default y if SPARC32 422 help 423 Enable power management and CPU standby features on supported 424 SPARC platforms. 425 426config SPARC_LED 427 tristate "Sun4m LED driver" 428 depends on SPARC32 429 help 430 This driver toggles the front-panel LED on sun4m systems 431 in a user-specifiable manner. Its state can be probed 432 by reading /proc/led and its blinking mode can be changed 433 via writes to /proc/led 434 435config SERIAL_CONSOLE 436 bool 437 depends on SPARC32 438 default y 439 ---help--- 440 If you say Y here, it will be possible to use a serial port as the 441 system console (the system console is the device which receives all 442 kernel messages and warnings and which allows logins in single user 443 mode). This could be useful if some terminal or printer is connected 444 to that serial port. 445 446 Even if you say Y here, the currently visible virtual console 447 (/dev/tty0) will still be used as the system console by default, but 448 you can alter that using a kernel command line option such as 449 "console=ttyS1". (Try "man bootparam" or see the documentation of 450 your boot loader (silo) about how to pass options to the kernel at 451 boot time.) 452 453 If you don't have a graphics card installed and you say Y here, the 454 kernel will automatically use the first serial line, /dev/ttyS0, as 455 system console. 456 457 If unsure, say N. 458 459config SPARC_LEON 460 bool "Sparc Leon processor family" 461 depends on SPARC32 462 ---help--- 463 If you say Y here if you are running on a SPARC-LEON processor. 464 The LEON processor is a synthesizable VHDL model of the 465 SPARC-v8 standard. LEON is part of the GRLIB collection of 466 IP cores that are distributed under GPL. GRLIB can be downloaded 467 from www.gaisler.com. You can download a sparc-linux cross-compilation 468 toolchain at www.gaisler.com. 469 470endmenu 471 472menu "Bus options (PCI etc.)" 473config SBUS 474 bool 475 default y 476 477config SBUSCHAR 478 bool 479 default y 480 481config SUN_LDOMS 482 bool "Sun Logical Domains support" 483 depends on SPARC64 484 help 485 Say Y here is you want to support virtual devices via 486 Logical Domains. 487 488config PCI 489 bool "Support for PCI and PS/2 keyboard/mouse" 490 help 491 Find out whether your system includes a PCI bus. PCI is the name of 492 a bus system, i.e. the way the CPU talks to the other stuff inside 493 your box. If you say Y here, the kernel will include drivers and 494 infrastructure code to support PCI bus devices. 495 496 CONFIG_PCI is needed for all JavaStation's (including MrCoffee), 497 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. 498 All of these platforms are extremely obscure, so say N if unsure. 499 500config PCI_DOMAINS 501 def_bool PCI if SPARC64 502 503config PCI_SYSCALL 504 def_bool PCI 505 506source "drivers/pci/Kconfig" 507 508source "drivers/pcmcia/Kconfig" 509 510config SUN_OPENPROMFS 511 tristate "Openprom tree appears in /proc/openprom" 512 help 513 If you say Y, the OpenPROM device tree will be available as a 514 virtual file system, which you can mount to /proc/openprom by "mount 515 -t openpromfs none /proc/openprom". 516 517 To compile the /proc/openprom support as a module, choose M here: the 518 module will be called openpromfs. 519 520 Only choose N if you know in advance that you will not need to modify 521 OpenPROM settings on the running system. 522 523# Makefile helpers 524config SPARC32_PCI 525 bool 526 default y 527 depends on SPARC32 && PCI 528 529config SPARC64_PCI 530 bool 531 default y 532 depends on SPARC64 && PCI 533 534endmenu 535 536menu "Executable file formats" 537 538source "fs/Kconfig.binfmt" 539 540config COMPAT 541 bool 542 depends on SPARC64 543 default y 544 select COMPAT_BINFMT_ELF 545 546config SYSVIPC_COMPAT 547 bool 548 depends on COMPAT && SYSVIPC 549 default y 550 551endmenu 552 553source "net/Kconfig" 554 555source "drivers/Kconfig" 556 557source "drivers/sbus/char/Kconfig" 558 559source "fs/Kconfig" 560 561source "arch/sparc/Kconfig.debug" 562 563source "security/Kconfig" 564 565source "crypto/Kconfig" 566 567source "lib/Kconfig" 568