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