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