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