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