linux/arch/s390/Kconfig
<<
>>
Prefs
   1#
   2# For a description of the syntax of this configuration file,
   3# see Documentation/kbuild/kconfig-language.txt.
   4#
   5
   6config SCHED_MC
   7        def_bool y
   8        depends on SMP
   9
  10config MMU
  11        def_bool y
  12
  13config ZONE_DMA
  14        def_bool y
  15        depends on 64BIT
  16
  17config LOCKDEP_SUPPORT
  18        def_bool y
  19
  20config STACKTRACE_SUPPORT
  21        def_bool y
  22
  23config HAVE_LATENCYTOP_SUPPORT
  24        def_bool y
  25
  26config RWSEM_GENERIC_SPINLOCK
  27        bool
  28
  29config RWSEM_XCHGADD_ALGORITHM
  30        def_bool y
  31
  32config ARCH_HAS_ILOG2_U32
  33        bool
  34        default n
  35
  36config ARCH_HAS_ILOG2_U64
  37        bool
  38        default n
  39
  40config GENERIC_HWEIGHT
  41        def_bool y
  42
  43config GENERIC_TIME
  44        def_bool y
  45
  46config GENERIC_TIME_VSYSCALL
  47        def_bool y
  48
  49config GENERIC_CLOCKEVENTS
  50        def_bool y
  51
  52config GENERIC_BUG
  53        bool
  54        depends on BUG
  55        default y
  56
  57config GENERIC_BUG_RELATIVE_POINTERS
  58        def_bool y
  59
  60config NO_IOMEM
  61        def_bool y
  62
  63config NO_DMA
  64        def_bool y
  65
  66config GENERIC_LOCKBREAK
  67        bool
  68        default y
  69        depends on SMP && PREEMPT
  70
  71config PGSTE
  72        bool
  73        default y if KVM
  74
  75config VIRT_CPU_ACCOUNTING
  76        def_bool y
  77
  78config ARCH_SUPPORTS_DEBUG_PAGEALLOC
  79        def_bool y
  80
  81mainmenu "Linux Kernel Configuration"
  82
  83config S390
  84        def_bool y
  85        select USE_GENERIC_SMP_HELPERS if SMP
  86        select HAVE_SYSCALL_WRAPPERS
  87        select HAVE_FUNCTION_TRACER
  88        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
  89        select HAVE_FTRACE_MCOUNT_RECORD
  90        select HAVE_SYSCALL_TRACEPOINTS
  91        select HAVE_DYNAMIC_FTRACE
  92        select HAVE_FUNCTION_GRAPH_TRACER
  93        select HAVE_REGS_AND_STACK_ACCESS_API
  94        select HAVE_DEFAULT_NO_SPIN_MUTEXES
  95        select HAVE_OPROFILE
  96        select HAVE_KPROBES
  97        select HAVE_KRETPROBES
  98        select HAVE_KVM if 64BIT
  99        select HAVE_ARCH_TRACEHOOK
 100        select INIT_ALL_POSSIBLE
 101        select HAVE_PERF_EVENTS
 102        select HAVE_KERNEL_GZIP
 103        select HAVE_KERNEL_BZIP2
 104        select HAVE_KERNEL_LZMA
 105        select ARCH_INLINE_SPIN_TRYLOCK
 106        select ARCH_INLINE_SPIN_TRYLOCK_BH
 107        select ARCH_INLINE_SPIN_LOCK
 108        select ARCH_INLINE_SPIN_LOCK_BH
 109        select ARCH_INLINE_SPIN_LOCK_IRQ
 110        select ARCH_INLINE_SPIN_LOCK_IRQSAVE
 111        select ARCH_INLINE_SPIN_UNLOCK
 112        select ARCH_INLINE_SPIN_UNLOCK_BH
 113        select ARCH_INLINE_SPIN_UNLOCK_IRQ
 114        select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
 115        select ARCH_INLINE_READ_TRYLOCK
 116        select ARCH_INLINE_READ_LOCK
 117        select ARCH_INLINE_READ_LOCK_BH
 118        select ARCH_INLINE_READ_LOCK_IRQ
 119        select ARCH_INLINE_READ_LOCK_IRQSAVE
 120        select ARCH_INLINE_READ_UNLOCK
 121        select ARCH_INLINE_READ_UNLOCK_BH
 122        select ARCH_INLINE_READ_UNLOCK_IRQ
 123        select ARCH_INLINE_READ_UNLOCK_IRQRESTORE
 124        select ARCH_INLINE_WRITE_TRYLOCK
 125        select ARCH_INLINE_WRITE_LOCK
 126        select ARCH_INLINE_WRITE_LOCK_BH
 127        select ARCH_INLINE_WRITE_LOCK_IRQ
 128        select ARCH_INLINE_WRITE_LOCK_IRQSAVE
 129        select ARCH_INLINE_WRITE_UNLOCK
 130        select ARCH_INLINE_WRITE_UNLOCK_BH
 131        select ARCH_INLINE_WRITE_UNLOCK_IRQ
 132        select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
 133
 134config SCHED_OMIT_FRAME_POINTER
 135        bool
 136        default y
 137
 138source "init/Kconfig"
 139
 140source "kernel/Kconfig.freezer"
 141
 142menu "Base setup"
 143
 144comment "Processor type and features"
 145
 146source "kernel/time/Kconfig"
 147
 148config 64BIT
 149        bool "64 bit kernel"
 150        help
 151          Select this option if you have a 64 bit IBM zSeries machine
 152          and want to use the 64 bit addressing mode.
 153
 154config 32BIT
 155        bool
 156        default y if !64BIT
 157
 158config KTIME_SCALAR
 159        def_bool 32BIT
 160
 161config SMP
 162        bool "Symmetric multi-processing support"
 163        ---help---
 164          This enables support for systems with more than one CPU. If you have
 165          a system with only one CPU, like most personal computers, say N. If
 166          you have a system with more than one CPU, say Y.
 167
 168          If you say N here, the kernel will run on single and multiprocessor
 169          machines, but will use only one CPU of a multiprocessor machine. If
 170          you say Y here, the kernel will run on many, but not all,
 171          singleprocessor machines. On a singleprocessor machine, the kernel
 172          will run faster if you say N here.
 173
 174          See also the SMP-HOWTO available at
 175          <http://www.tldp.org/docs.html#howto>.
 176
 177          Even if you don't know what to do here, say Y.
 178
 179config NR_CPUS
 180        int "Maximum number of CPUs (2-64)"
 181        range 2 64
 182        depends on SMP
 183        default "32" if !64BIT
 184        default "64" if 64BIT
 185        help
 186          This allows you to specify the maximum number of CPUs which this
 187          kernel will support.  The maximum supported value is 64 and the
 188          minimum value which makes sense is 2.
 189
 190          This is purely to save memory - each supported CPU adds
 191          approximately sixteen kilobytes to the kernel image.
 192
 193config HOTPLUG_CPU
 194        bool "Support for hot-pluggable CPUs"
 195        depends on SMP
 196        select HOTPLUG
 197        default n
 198        help
 199          Say Y here to be able to turn CPUs off and on. CPUs
 200          can be controlled through /sys/devices/system/cpu/cpu#.
 201          Say N if you want to disable CPU hotplug.
 202
 203config MATHEMU
 204        bool "IEEE FPU emulation"
 205        depends on MARCH_G5
 206        help
 207          This option is required for IEEE compliant floating point arithmetic
 208          on older S/390 machines. Say Y unless you know your machine doesn't
 209          need this.
 210
 211config COMPAT
 212        bool "Kernel support for 31 bit emulation"
 213        depends on 64BIT
 214        select COMPAT_BINFMT_ELF
 215        help
 216          Select this option if you want to enable your system kernel to
 217          handle system-calls from ELF binaries for 31 bit ESA.  This option
 218          (and some other stuff like libraries and such) is needed for
 219          executing 31 bit applications.  It is safe to say "Y".
 220
 221config SYSVIPC_COMPAT
 222        bool
 223        depends on COMPAT && SYSVIPC
 224        default y
 225
 226config AUDIT_ARCH
 227        bool
 228        default y
 229
 230config S390_EXEC_PROTECT
 231        bool "Data execute protection"
 232        help
 233          This option allows to enable a buffer overflow protection for user
 234          space programs and it also selects the addressing mode option above.
 235          The kernel parameter noexec=on will enable this feature and also
 236          switch the addressing modes, default is disabled. Enabling this (via
 237          kernel parameter) on machines earlier than IBM System z9-109 EC/BC
 238          will reduce system performance.
 239
 240comment "Code generation options"
 241
 242choice
 243        prompt "Processor type"
 244        default MARCH_G5
 245
 246config MARCH_G5
 247        bool "S/390 model G5 and G6"
 248        depends on !64BIT
 249        help
 250          Select this to build a 31 bit kernel that works
 251          on all S/390 and zSeries machines.
 252
 253config MARCH_Z900
 254        bool "IBM eServer zSeries model z800 and z900"
 255        help
 256          Select this to optimize for zSeries machines. This
 257          will enable some optimizations that are not available
 258          on older 31 bit only CPUs.
 259
 260config MARCH_Z990
 261        bool "IBM eServer zSeries model z890 and z990"
 262        help
 263          Select this enable optimizations for model z890/z990.
 264          This will be slightly faster but does not work on
 265          older machines such as the z900.
 266
 267config MARCH_Z9_109
 268        bool "IBM System z9"
 269        help
 270          Select this to enable optimizations for IBM System z9-109, IBM
 271          System z9 Enterprise Class (z9 EC), and IBM System z9 Business
 272          Class (z9 BC). The kernel will be slightly faster but will not
 273          work on older machines such as the z990, z890, z900, and z800.
 274
 275config MARCH_Z10
 276        bool "IBM System z10"
 277        help
 278          Select this to enable optimizations for IBM System z10. The
 279          kernel will be slightly faster but will not work on older
 280          machines such as the z990, z890, z900, z800, z9-109, z9-ec
 281          and z9-bc.
 282
 283endchoice
 284
 285config PACK_STACK
 286        bool "Pack kernel stack"
 287        help
 288          This option enables the compiler option -mkernel-backchain if it
 289          is available. If the option is available the compiler supports
 290          the new stack layout which dramatically reduces the minimum stack
 291          frame size. With an old compiler a non-leaf function needs a
 292          minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
 293          -mkernel-backchain the minimum size drops to 16 byte on 31 bit
 294          and 24 byte on 64 bit.
 295
 296          Say Y if you are unsure.
 297
 298config SMALL_STACK
 299        bool "Use 8kb for kernel stack instead of 16kb"
 300        depends on PACK_STACK && 64BIT && !LOCKDEP
 301        help
 302          If you say Y here and the compiler supports the -mkernel-backchain
 303          option the kernel will use a smaller kernel stack size. The reduced
 304          size is 8kb instead of 16kb. This allows to run more threads on a
 305          system and reduces the pressure on the memory management for higher
 306          order page allocations.
 307
 308          Say N if you are unsure.
 309
 310config CHECK_STACK
 311        bool "Detect kernel stack overflow"
 312        help
 313          This option enables the compiler option -mstack-guard and
 314          -mstack-size if they are available. If the compiler supports them
 315          it will emit additional code to each function prolog to trigger
 316          an illegal operation if the kernel stack is about to overflow.
 317
 318          Say N if you are unsure.
 319
 320config STACK_GUARD
 321        int "Size of the guard area (128-1024)"
 322        range 128 1024
 323        depends on CHECK_STACK
 324        default "256"
 325        help
 326          This allows you to specify the size of the guard area at the lower
 327          end of the kernel stack. If the kernel stack points into the guard
 328          area on function entry an illegal operation is triggered. The size
 329          needs to be a power of 2. Please keep in mind that the size of an
 330          interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
 331          The minimum size for the stack guard should be 256 for 31 bit and
 332          512 for 64 bit.
 333
 334config WARN_STACK
 335        bool "Emit compiler warnings for function with broken stack usage"
 336        help
 337          This option enables the compiler options -mwarn-framesize and
 338          -mwarn-dynamicstack. If the compiler supports these options it
 339          will generate warnings for function which either use alloca or
 340          create a stack frame bigger than CONFIG_WARN_STACK_SIZE.
 341
 342          Say N if you are unsure.
 343
 344config WARN_STACK_SIZE
 345        int "Maximum frame size considered safe (128-2048)"
 346        range 128 2048
 347        depends on WARN_STACK
 348        default "2048"
 349        help
 350          This allows you to specify the maximum frame size a function may
 351          have without the compiler complaining about it.
 352
 353config ARCH_POPULATES_NODE_MAP
 354        def_bool y
 355
 356comment "Kernel preemption"
 357
 358source "kernel/Kconfig.preempt"
 359
 360config ARCH_SPARSEMEM_ENABLE
 361        def_bool y
 362        select SPARSEMEM_VMEMMAP_ENABLE
 363        select SPARSEMEM_VMEMMAP
 364        select SPARSEMEM_STATIC if !64BIT
 365
 366config ARCH_SPARSEMEM_DEFAULT
 367        def_bool y
 368
 369config ARCH_SELECT_MEMORY_MODEL
 370       def_bool y
 371
 372config ARCH_ENABLE_MEMORY_HOTPLUG
 373        def_bool y
 374        depends on SPARSEMEM
 375
 376config ARCH_ENABLE_MEMORY_HOTREMOVE
 377        def_bool y
 378
 379config ARCH_HIBERNATION_POSSIBLE
 380       def_bool y if 64BIT
 381
 382source "mm/Kconfig"
 383
 384comment "I/O subsystem configuration"
 385
 386config QDIO
 387        tristate "QDIO support"
 388        ---help---
 389          This driver provides the Queued Direct I/O base support for
 390          IBM System z.
 391
 392          To compile this driver as a module, choose M here: the
 393          module will be called qdio.
 394
 395          If unsure, say Y.
 396
 397config CHSC_SCH
 398        tristate "Support for CHSC subchannels"
 399        help
 400          This driver allows usage of CHSC subchannels. A CHSC subchannel
 401          is usually present on LPAR only.
 402          The driver creates a device /dev/chsc, which may be used to
 403          obtain I/O configuration information about the machine and
 404          to issue asynchronous chsc commands (DANGEROUS).
 405          You will usually only want to use this interface on a special
 406          LPAR designated for system management.
 407
 408          To compile this driver as a module, choose M here: the
 409          module will be called chsc_sch.
 410
 411          If unsure, say N.
 412
 413comment "Misc"
 414
 415config IPL
 416        bool "Builtin IPL record support"
 417        help
 418          If you want to use the produced kernel to IPL directly from a
 419          device, you have to merge a bootsector specific to the device
 420          into the first bytes of the kernel. You will have to select the
 421          IPL device.
 422
 423choice
 424        prompt "IPL method generated into head.S"
 425        depends on IPL
 426        default IPL_VM
 427        help
 428          Select "tape" if you want to IPL the image from a Tape.
 429
 430          Select "vm_reader" if you are running under VM/ESA and want
 431          to IPL the image from the emulated card reader.
 432
 433config IPL_TAPE
 434        bool "tape"
 435
 436config IPL_VM
 437        bool "vm_reader"
 438
 439endchoice
 440
 441source "fs/Kconfig.binfmt"
 442
 443config FORCE_MAX_ZONEORDER
 444        int
 445        default "9"
 446
 447config PROCESS_DEBUG
 448        bool "Show crashed user process info"
 449        help
 450          Say Y to print all process fault locations to the console.  This is
 451          a debugging option; you probably do not want to set it unless you
 452          are an S390 port maintainer.
 453
 454config PFAULT
 455        bool "Pseudo page fault support"
 456        help
 457          Select this option, if you want to use PFAULT pseudo page fault
 458          handling under VM. If running native or in LPAR, this option
 459          has no effect. If your VM does not support PFAULT, PAGEEX
 460          pseudo page fault handling will be used.
 461          Note that VM 4.2 supports PFAULT but has a bug in its
 462          implementation that causes some problems.
 463          Everybody who wants to run Linux under VM != VM4.2 should select
 464          this option.
 465
 466config SHARED_KERNEL
 467        bool "VM shared kernel support"
 468        help
 469          Select this option, if you want to share the text segment of the
 470          Linux kernel between different VM guests. This reduces memory
 471          usage with lots of guests but greatly increases kernel size.
 472          Also if a kernel was IPL'ed from a shared segment the kexec system
 473          call will not work.
 474          You should only select this option if you know what you are
 475          doing and want to exploit this feature.
 476
 477config CMM
 478        tristate "Cooperative memory management"
 479        help
 480          Select this option, if you want to enable the kernel interface
 481          to reduce the memory size of the system. This is accomplished
 482          by allocating pages of memory and put them "on hold". This only
 483          makes sense for a system running under VM where the unused pages
 484          will be reused by VM for other guest systems. The interface
 485          allows an external monitor to balance memory of many systems.
 486          Everybody who wants to run Linux under VM should select this
 487          option.
 488
 489config CMM_PROC
 490        bool "/proc interface to cooperative memory management"
 491        depends on CMM
 492        help
 493          Select this option to enable the /proc interface to the
 494          cooperative memory management.
 495
 496config CMM_IUCV
 497        bool "IUCV special message interface to cooperative memory management"
 498        depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
 499        help
 500          Select this option to enable the special message interface to
 501          the cooperative memory management.
 502
 503config APPLDATA_BASE
 504        bool "Linux - VM Monitor Stream, base infrastructure"
 505        depends on PROC_FS
 506        help
 507          This provides a kernel interface for creating and updating z/VM APPLDATA
 508          monitor records. The monitor records are updated at certain time
 509          intervals, once the timer is started.
 510          Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer,
 511          i.e. enables or disables monitoring on the Linux side.
 512          A custom interval value (in seconds) can be written to
 513          /proc/appldata/interval.
 514
 515          Defaults are 60 seconds interval and timer off.
 516          The /proc entries can also be read from, showing the current settings.
 517
 518config APPLDATA_MEM
 519        tristate "Monitor memory management statistics"
 520        depends on APPLDATA_BASE && VM_EVENT_COUNTERS
 521        help
 522          This provides memory management related data to the Linux - VM Monitor
 523          Stream, like paging/swapping rate, memory utilisation, etc.
 524          Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
 525          APPLDATA monitor record, i.e. enables or disables monitoring this record
 526          on the z/VM side.
 527
 528          Default is disabled.
 529          The /proc entry can also be read from, showing the current settings.
 530
 531          This can also be compiled as a module, which will be called
 532          appldata_mem.o.
 533
 534config APPLDATA_OS
 535        tristate "Monitor OS statistics"
 536        depends on APPLDATA_BASE
 537        help
 538          This provides OS related data to the Linux - VM Monitor Stream, like
 539          CPU utilisation, etc.
 540          Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
 541          APPLDATA monitor record, i.e. enables or disables monitoring this record
 542          on the z/VM side.
 543
 544          Default is disabled.
 545          This can also be compiled as a module, which will be called
 546          appldata_os.o.
 547
 548config APPLDATA_NET_SUM
 549        tristate "Monitor overall network statistics"
 550        depends on APPLDATA_BASE && NET
 551        help
 552          This provides network related data to the Linux - VM Monitor Stream,
 553          currently there is only a total sum of network I/O statistics, no
 554          per-interface data.
 555          Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
 556          APPLDATA monitor record, i.e. enables or disables monitoring this record
 557          on the z/VM side.
 558
 559          Default is disabled.
 560          This can also be compiled as a module, which will be called
 561          appldata_net_sum.o.
 562
 563source kernel/Kconfig.hz
 564
 565config S390_HYPFS_FS
 566        bool "s390 hypervisor file system support"
 567        select SYS_HYPERVISOR
 568        default y
 569        help
 570          This is a virtual file system intended to provide accounting
 571          information in an s390 hypervisor environment.
 572
 573config KEXEC
 574        bool "kexec system call"
 575        help
 576          kexec is a system call that implements the ability to shutdown your
 577          current kernel, and to start another kernel.  It is like a reboot
 578          but is independent of hardware/microcode support.
 579
 580config ZFCPDUMP
 581        bool "zfcpdump support"
 582        select SMP
 583        default n
 584        help
 585          Select this option if you want to build an zfcpdump enabled kernel.
 586          Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
 587
 588config S390_GUEST
 589bool "s390 guest support for KVM (EXPERIMENTAL)"
 590        depends on 64BIT && EXPERIMENTAL
 591        select VIRTIO
 592        select VIRTIO_RING
 593        select VIRTIO_CONSOLE
 594        help
 595          Select this option if you want to run the kernel as a guest under
 596          the KVM hypervisor. This will add detection for KVM as well  as a
 597          virtio transport. If KVM is detected, the virtio console will be
 598          the default console.
 599
 600config SECCOMP
 601        bool "Enable seccomp to safely compute untrusted bytecode"
 602        depends on PROC_FS
 603        default y
 604        help
 605          This kernel feature is useful for number crunching applications
 606          that may need to compute untrusted bytecode during their
 607          execution. By using pipes or other transports made available to
 608          the process as file descriptors supporting the read/write
 609          syscalls, it's possible to isolate those applications in
 610          their own address space using seccomp. Once seccomp is
 611          enabled via /proc/<pid>/seccomp, it cannot be disabled
 612          and the task is only allowed to execute a few safe syscalls
 613          defined by each seccomp mode.
 614
 615          If unsure, say Y.
 616
 617endmenu
 618
 619menu "Power Management"
 620
 621source "kernel/power/Kconfig"
 622
 623endmenu
 624
 625source "net/Kconfig"
 626
 627config PCMCIA
 628        def_bool n
 629
 630config CCW
 631        def_bool y
 632
 633source "drivers/Kconfig"
 634
 635source "fs/Kconfig"
 636
 637source "arch/s390/Kconfig.debug"
 638
 639source "security/Kconfig"
 640
 641source "crypto/Kconfig"
 642
 643source "lib/Kconfig"
 644
 645source "arch/s390/kvm/Kconfig"
 646
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.