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