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