123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956 |
- # SPDX-License-Identifier: GPL-2.0
- config MMU
- def_bool y
- config ZONE_DMA
- def_bool y
- config CPU_BIG_ENDIAN
- def_bool y
- config LOCKDEP_SUPPORT
- def_bool y
- config STACKTRACE_SUPPORT
- def_bool y
- config RWSEM_GENERIC_SPINLOCK
- bool
- config RWSEM_XCHGADD_ALGORITHM
- def_bool y
- config ARCH_HAS_ILOG2_U32
- def_bool n
- config ARCH_HAS_ILOG2_U64
- def_bool n
- config GENERIC_HWEIGHT
- def_bool y
- config GENERIC_BUG
- def_bool y if BUG
- config GENERIC_BUG_RELATIVE_POINTERS
- def_bool y
- config GENERIC_LOCKBREAK
- def_bool y if SMP && PREEMPT
- config PGSTE
- def_bool y if KVM
- config ARCH_SUPPORTS_DEBUG_PAGEALLOC
- def_bool y
- config AUDIT_ARCH
- def_bool y
- config NO_IOPORT_MAP
- def_bool y
- config PCI_QUIRKS
- def_bool n
- config ARCH_SUPPORTS_UPROBES
- def_bool y
- config S390
- def_bool y
- select ARCH_BINFMT_ELF_STATE
- select ARCH_HAS_DEVMEM_IS_ALLOWED
- select ARCH_HAS_ELF_RANDOMIZE
- select ARCH_HAS_FORTIFY_SOURCE
- select ARCH_HAS_GCOV_PROFILE_ALL
- select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
- select ARCH_HAS_KCOV
- select ARCH_HAS_PTE_SPECIAL
- select ARCH_HAS_SET_MEMORY
- select ARCH_HAS_SG_CHAIN
- select ARCH_HAS_STRICT_KERNEL_RWX
- select ARCH_HAS_STRICT_MODULE_RWX
- select ARCH_HAS_UBSAN_SANITIZE_ALL
- select ARCH_HAVE_NMI_SAFE_CMPXCHG
- select ARCH_INLINE_READ_LOCK
- select ARCH_INLINE_READ_LOCK_BH
- select ARCH_INLINE_READ_LOCK_IRQ
- select ARCH_INLINE_READ_LOCK_IRQSAVE
- select ARCH_INLINE_READ_TRYLOCK
- select ARCH_INLINE_READ_UNLOCK
- select ARCH_INLINE_READ_UNLOCK_BH
- select ARCH_INLINE_READ_UNLOCK_IRQ
- select ARCH_INLINE_READ_UNLOCK_IRQRESTORE
- select ARCH_INLINE_SPIN_LOCK
- select ARCH_INLINE_SPIN_LOCK_BH
- select ARCH_INLINE_SPIN_LOCK_IRQ
- select ARCH_INLINE_SPIN_LOCK_IRQSAVE
- select ARCH_INLINE_SPIN_TRYLOCK
- select ARCH_INLINE_SPIN_TRYLOCK_BH
- select ARCH_INLINE_SPIN_UNLOCK
- select ARCH_INLINE_SPIN_UNLOCK_BH
- select ARCH_INLINE_SPIN_UNLOCK_IRQ
- select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
- select ARCH_INLINE_WRITE_LOCK
- select ARCH_INLINE_WRITE_LOCK_BH
- select ARCH_INLINE_WRITE_LOCK_IRQ
- select ARCH_INLINE_WRITE_LOCK_IRQSAVE
- select ARCH_INLINE_WRITE_TRYLOCK
- select ARCH_INLINE_WRITE_UNLOCK
- select ARCH_INLINE_WRITE_UNLOCK_BH
- select ARCH_INLINE_WRITE_UNLOCK_IRQ
- select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
- select ARCH_SAVE_PAGE_KEYS if HIBERNATION
- select ARCH_SUPPORTS_ATOMIC_RMW
- select ARCH_SUPPORTS_NUMA_BALANCING
- select ARCH_USE_BUILTIN_BSWAP
- select ARCH_USE_CMPXCHG_LOCKREF
- select ARCH_WANTS_DYNAMIC_TASK_STRUCT
- select ARCH_WANT_IPC_PARSE_VERSION
- select BUILDTIME_EXTABLE_SORT
- select CLONE_BACKWARDS2
- select DYNAMIC_FTRACE if FUNCTION_TRACER
- select GENERIC_CLOCKEVENTS
- select GENERIC_CPU_AUTOPROBE
- select GENERIC_CPU_DEVICES if !SMP
- select GENERIC_CPU_VULNERABILITIES
- select GENERIC_FIND_FIRST_BIT
- select GENERIC_SMP_IDLE_THREAD
- select GENERIC_TIME_VSYSCALL
- select HAVE_ALIGNED_STRUCT_PAGE if SLUB
- select HAVE_ARCH_AUDITSYSCALL
- select HAVE_ARCH_JUMP_LABEL
- select CPU_NO_EFFICIENT_FFS if !HAVE_MARCH_Z9_109_FEATURES
- select HAVE_ARCH_SECCOMP_FILTER
- select HAVE_ARCH_SOFT_DIRTY
- select HAVE_ARCH_TRACEHOOK
- select HAVE_ARCH_TRANSPARENT_HUGEPAGE
- select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES
- select HAVE_CMPXCHG_DOUBLE
- select HAVE_CMPXCHG_LOCAL
- select HAVE_COPY_THREAD_TLS
- select HAVE_DEBUG_KMEMLEAK
- select HAVE_DMA_CONTIGUOUS
- select DMA_DIRECT_OPS
- select HAVE_DYNAMIC_FTRACE
- select HAVE_DYNAMIC_FTRACE_WITH_REGS
- select HAVE_EFFICIENT_UNALIGNED_ACCESS
- select HAVE_FENTRY
- select HAVE_FTRACE_MCOUNT_RECORD
- select HAVE_FUNCTION_GRAPH_TRACER
- select HAVE_FUNCTION_TRACER
- select HAVE_FUTEX_CMPXCHG if FUTEX
- select HAVE_GCC_PLUGINS
- select HAVE_KERNEL_BZIP2
- select HAVE_KERNEL_GZIP
- select HAVE_KERNEL_LZ4
- select HAVE_KERNEL_LZMA
- select HAVE_KERNEL_LZO
- select HAVE_KERNEL_UNCOMPRESSED
- select HAVE_KERNEL_XZ
- select HAVE_KPROBES
- select HAVE_KRETPROBES
- select HAVE_KVM
- select HAVE_LIVEPATCH
- select HAVE_PERF_REGS
- select HAVE_PERF_USER_STACK_DUMP
- select HAVE_MEMBLOCK
- select HAVE_MEMBLOCK_NODE_MAP
- select HAVE_MEMBLOCK_PHYS_MAP
- select HAVE_MOD_ARCH_SPECIFIC
- select HAVE_NOP_MCOUNT
- select HAVE_OPROFILE
- select HAVE_PERF_EVENTS
- select HAVE_REGS_AND_STACK_ACCESS_API
- select HAVE_RSEQ
- select HAVE_SYSCALL_TRACEPOINTS
- select HAVE_VIRT_CPU_ACCOUNTING
- select MODULES_USE_ELF_RELA
- select NO_BOOTMEM
- select OLD_SIGACTION
- select OLD_SIGSUSPEND3
- select SPARSE_IRQ
- select SYSCTL_EXCEPTION_TRACE
- select THREAD_INFO_IN_TASK
- select TTY
- select VIRT_CPU_ACCOUNTING
- select ARCH_HAS_SCALED_CPUTIME
- select VIRT_TO_BUS
- select HAVE_NMI
- config SCHED_OMIT_FRAME_POINTER
- def_bool y
- config PGTABLE_LEVELS
- int
- default 5
- source "kernel/livepatch/Kconfig"
- menu "Processor type and features"
- config HAVE_MARCH_Z900_FEATURES
- def_bool n
- config HAVE_MARCH_Z990_FEATURES
- def_bool n
- select HAVE_MARCH_Z900_FEATURES
- config HAVE_MARCH_Z9_109_FEATURES
- def_bool n
- select HAVE_MARCH_Z990_FEATURES
- config HAVE_MARCH_Z10_FEATURES
- def_bool n
- select HAVE_MARCH_Z9_109_FEATURES
- config HAVE_MARCH_Z196_FEATURES
- def_bool n
- select HAVE_MARCH_Z10_FEATURES
- config HAVE_MARCH_ZEC12_FEATURES
- def_bool n
- select HAVE_MARCH_Z196_FEATURES
- config HAVE_MARCH_Z13_FEATURES
- def_bool n
- select HAVE_MARCH_ZEC12_FEATURES
- config HAVE_MARCH_Z14_FEATURES
- def_bool n
- select HAVE_MARCH_Z13_FEATURES
- choice
- prompt "Processor type"
- default MARCH_Z196
- config MARCH_Z900
- bool "IBM zSeries model z800 and z900"
- select HAVE_MARCH_Z900_FEATURES
- help
- Select this to enable optimizations for model z800/z900 (2064 and
- 2066 series). This will enable some optimizations that are not
- available on older ESA/390 (31 Bit) only CPUs.
- config MARCH_Z990
- bool "IBM zSeries model z890 and z990"
- select HAVE_MARCH_Z990_FEATURES
- help
- Select this to enable optimizations for model z890/z990 (2084 and
- 2086 series). The kernel will be slightly faster but will not work
- on older machines.
- config MARCH_Z9_109
- bool "IBM System z9"
- select HAVE_MARCH_Z9_109_FEATURES
- help
- Select this to enable optimizations for IBM System z9 (2094 and
- 2096 series). The kernel will be slightly faster but will not work
- on older machines.
- config MARCH_Z10
- bool "IBM System z10"
- select HAVE_MARCH_Z10_FEATURES
- help
- Select this to enable optimizations for IBM System z10 (2097 and
- 2098 series). The kernel will be slightly faster but will not work
- on older machines.
- config MARCH_Z196
- bool "IBM zEnterprise 114 and 196"
- select HAVE_MARCH_Z196_FEATURES
- help
- Select this to enable optimizations for IBM zEnterprise 114 and 196
- (2818 and 2817 series). The kernel will be slightly faster but will
- not work on older machines.
- config MARCH_ZEC12
- bool "IBM zBC12 and zEC12"
- select HAVE_MARCH_ZEC12_FEATURES
- help
- Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and
- 2827 series). The kernel will be slightly faster but will not work on
- older machines.
- config MARCH_Z13
- bool "IBM z13s and z13"
- select HAVE_MARCH_Z13_FEATURES
- help
- Select this to enable optimizations for IBM z13s and z13 (2965 and
- 2964 series). The kernel will be slightly faster but will not work on
- older machines.
- config MARCH_Z14
- bool "IBM z14 ZR1 and z14"
- select HAVE_MARCH_Z14_FEATURES
- help
- Select this to enable optimizations for IBM z14 ZR1 and z14 (3907
- and 3906 series). The kernel will be slightly faster but will not
- work on older machines.
- endchoice
- config MARCH_Z900_TUNE
- def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT
- config MARCH_Z990_TUNE
- def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT
- config MARCH_Z9_109_TUNE
- def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT
- config MARCH_Z10_TUNE
- def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT
- config MARCH_Z196_TUNE
- def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT
- config MARCH_ZEC12_TUNE
- def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT
- config MARCH_Z13_TUNE
- def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT
- config MARCH_Z14_TUNE
- def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT
- choice
- prompt "Tune code generation"
- default TUNE_DEFAULT
- help
- Cause the compiler to tune (-mtune) the generated code for a machine.
- This will make the code run faster on the selected machine but
- somewhat slower on other machines.
- This option only changes how the compiler emits instructions, not the
- selection of instructions itself, so the resulting kernel will run on
- all other machines.
- config TUNE_DEFAULT
- bool "Default"
- help
- Tune the generated code for the target processor for which the kernel
- will be compiled.
- config TUNE_Z900
- bool "IBM zSeries model z800 and z900"
- config TUNE_Z990
- bool "IBM zSeries model z890 and z990"
- config TUNE_Z9_109
- bool "IBM System z9"
- config TUNE_Z10
- bool "IBM System z10"
- config TUNE_Z196
- bool "IBM zEnterprise 114 and 196"
- config TUNE_ZEC12
- bool "IBM zBC12 and zEC12"
- config TUNE_Z13
- bool "IBM z13"
- config TUNE_Z14
- bool "IBM z14"
- endchoice
- config 64BIT
- def_bool y
- config COMPAT
- def_bool y
- prompt "Kernel support for 31 bit emulation"
- select COMPAT_BINFMT_ELF if BINFMT_ELF
- select ARCH_WANT_OLD_COMPAT_IPC
- select COMPAT_OLD_SIGACTION
- depends on MULTIUSER
- help
- Select this option if you want to enable your system kernel to
- handle system-calls from ELF binaries for 31 bit ESA. This option
- (and some other stuff like libraries and such) is needed for
- executing 31 bit applications. It is safe to say "Y".
- config SYSVIPC_COMPAT
- def_bool y if COMPAT && SYSVIPC
- config SMP
- def_bool y
- prompt "Symmetric multi-processing support"
- ---help---
- This enables support for systems with more than one CPU. If you have
- a system with only one CPU, like most personal computers, say N. If
- you have a system with more than one CPU, say Y.
- If you say N here, the kernel will run on uni- and multiprocessor
- machines, but will use only one CPU of a multiprocessor machine. If
- you say Y here, the kernel will run on many, but not all,
- uniprocessor machines. On a uniprocessor machine, the kernel
- will run faster if you say N here.
- See also the SMP-HOWTO available at
- <http://www.tldp.org/docs.html#howto>.
- Even if you don't know what to do here, say Y.
- config NR_CPUS
- int "Maximum number of CPUs (2-512)"
- range 2 512
- depends on SMP
- default "64"
- help
- This allows you to specify the maximum number of CPUs which this
- kernel will support. The maximum supported value is 512 and the
- minimum value which makes sense is 2.
- This is purely to save memory - each supported CPU adds
- approximately sixteen kilobytes to the kernel image.
- config HOTPLUG_CPU
- def_bool y
- prompt "Support for hot-pluggable CPUs"
- depends on SMP
- help
- Say Y here to be able to turn CPUs off and on. CPUs
- can be controlled through /sys/devices/system/cpu/cpu#.
- Say N if you want to disable CPU hotplug.
- # Some NUMA nodes have memory ranges that span
- # other nodes. Even though a pfn is valid and
- # between a node's start and end pfns, it may not
- # reside on that node. See memmap_init_zone()
- # for details. <- They meant memory holes!
- config NODES_SPAN_OTHER_NODES
- def_bool NUMA
- config NUMA
- bool "NUMA support"
- depends on SMP && SCHED_TOPOLOGY
- default n
- help
- Enable NUMA support
- This option adds NUMA support to the kernel.
- An operation mode can be selected by appending
- numa=<method> to the kernel command line.
- The default behaviour is identical to appending numa=plain to
- the command line. This will create just one node with all
- available memory and all CPUs in it.
- config NODES_SHIFT
- int "Maximum NUMA nodes (as a power of 2)"
- range 1 10
- depends on NUMA
- default "4"
- help
- Specify the maximum number of NUMA nodes available on the target
- system. Increases memory reserved to accommodate various tables.
- menu "Select NUMA modes"
- depends on NUMA
- config NUMA_EMU
- bool "NUMA emulation"
- default y
- help
- Numa emulation mode will split the available system memory into
- equal chunks which then are distributed over the configured number
- of nodes in a round-robin manner.
- The number of fake nodes is limited by the number of available memory
- chunks (i.e. memory size / fake size) and the number of supported
- nodes in the kernel.
- The CPUs are assigned to the nodes in a way that partially respects
- the original machine topology (if supported by the machine).
- Fair distribution of the CPUs is not guaranteed.
- config EMU_SIZE
- hex "NUMA emulation memory chunk size"
- default 0x10000000
- range 0x400000 0x100000000
- depends on NUMA_EMU
- help
- Select the default size by which the memory is chopped and then
- assigned to emulated NUMA nodes.
- This can be overridden by specifying
- emu_size=<n>
- on the kernel command line where also suffixes K, M, G, and T are
- supported.
- endmenu
- config SCHED_SMT
- def_bool n
- config SCHED_MC
- def_bool n
- config SCHED_BOOK
- def_bool n
- config SCHED_DRAWER
- def_bool n
- config SCHED_TOPOLOGY
- def_bool y
- prompt "Topology scheduler support"
- depends on SMP
- select SCHED_SMT
- select SCHED_MC
- select SCHED_BOOK
- select SCHED_DRAWER
- help
- Topology scheduler support improves the CPU scheduler's decision
- making when dealing with machines that have multi-threading,
- multiple cores or multiple books.
- source kernel/Kconfig.hz
- config KEXEC
- def_bool y
- select KEXEC_CORE
- config KEXEC_FILE
- bool "kexec file based system call"
- select KEXEC_CORE
- select BUILD_BIN2C
- depends on CRYPTO
- depends on CRYPTO_SHA256
- depends on CRYPTO_SHA256_S390
- help
- Enable the kexec file based system call. In contrast to the normal
- kexec system call this system call takes file descriptors for the
- kernel and initramfs as arguments.
- config ARCH_HAS_KEXEC_PURGATORY
- def_bool y
- depends on KEXEC_FILE
- config ARCH_RANDOM
- def_bool y
- prompt "s390 architectural random number generation API"
- help
- Enable the s390 architectural random number generation API
- to provide random data for all consumers within the Linux
- kernel.
- When enabled the arch_random_* functions declared in linux/random.h
- are implemented. The implementation is based on the s390 CPACF
- instruction subfunction TRNG which provides a real true random
- number generator.
- If unsure, say Y.
- config KERNEL_NOBP
- def_bool n
- prompt "Enable modified branch prediction for the kernel by default"
- help
- If this option is selected the kernel will switch to a modified
- branch prediction mode if the firmware interface is available.
- The modified branch prediction mode improves the behaviour in
- regard to speculative execution.
- With the option enabled the kernel parameter "nobp=0" or "nospec"
- can be used to run the kernel in the normal branch prediction mode.
- With the option disabled the modified branch prediction mode is
- enabled with the "nobp=1" kernel parameter.
- If unsure, say N.
- config EXPOLINE
- def_bool n
- prompt "Avoid speculative indirect branches in the kernel"
- help
- Compile the kernel with the expoline compiler options to guard
- against kernel-to-user data leaks by avoiding speculative indirect
- branches.
- Requires a compiler with -mindirect-branch=thunk support for full
- protection. The kernel may run slower.
- If unsure, say N.
- choice
- prompt "Expoline default"
- depends on EXPOLINE
- default EXPOLINE_FULL
- config EXPOLINE_OFF
- bool "spectre_v2=off"
- config EXPOLINE_AUTO
- bool "spectre_v2=auto"
- config EXPOLINE_FULL
- bool "spectre_v2=on"
- endchoice
- endmenu
- menu "Memory setup"
- config ARCH_SPARSEMEM_ENABLE
- def_bool y
- select SPARSEMEM_VMEMMAP_ENABLE
- select SPARSEMEM_VMEMMAP
- config ARCH_SPARSEMEM_DEFAULT
- def_bool y
- config ARCH_SELECT_MEMORY_MODEL
- def_bool y
- config ARCH_ENABLE_MEMORY_HOTPLUG
- def_bool y if SPARSEMEM
- config ARCH_ENABLE_MEMORY_HOTREMOVE
- def_bool y
- config ARCH_ENABLE_SPLIT_PMD_PTLOCK
- def_bool y
- config FORCE_MAX_ZONEORDER
- int
- default "9"
- config MAX_PHYSMEM_BITS
- int "Maximum size of supported physical memory in bits (42-53)"
- range 42 53
- default "46"
- help
- This option specifies the maximum supported size of physical memory
- in bits. Supported is any size between 2^42 (4TB) and 2^53 (8PB).
- Increasing the number of bits also increases the kernel image size.
- By default 46 bits (64TB) are supported.
- config PACK_STACK
- def_bool y
- prompt "Pack kernel stack"
- help
- This option enables the compiler option -mkernel-backchain if it
- is available. If the option is available the compiler supports
- the new stack layout which dramatically reduces the minimum stack
- frame size. With an old compiler a non-leaf function needs a
- minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
- -mkernel-backchain the minimum size drops to 16 byte on 31 bit
- and 24 byte on 64 bit.
- Say Y if you are unsure.
- config CHECK_STACK
- def_bool y
- prompt "Detect kernel stack overflow"
- help
- This option enables the compiler option -mstack-guard and
- -mstack-size if they are available. If the compiler supports them
- it will emit additional code to each function prolog to trigger
- an illegal operation if the kernel stack is about to overflow.
- Say N if you are unsure.
- config STACK_GUARD
- int "Size of the guard area (128-1024)"
- range 128 1024
- depends on CHECK_STACK
- default "256"
- help
- This allows you to specify the size of the guard area at the lower
- end of the kernel stack. If the kernel stack points into the guard
- area on function entry an illegal operation is triggered. The size
- needs to be a power of 2. Please keep in mind that the size of an
- interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
- The minimum size for the stack guard should be 256 for 31 bit and
- 512 for 64 bit.
- config WARN_DYNAMIC_STACK
- def_bool n
- prompt "Emit compiler warnings for function with dynamic stack usage"
- help
- This option enables the compiler option -mwarn-dynamicstack. If the
- compiler supports this options generates warnings for functions
- that dynamically allocate stack space using alloca.
- Say N if you are unsure.
- endmenu
- menu "I/O subsystem"
- config QDIO
- def_tristate y
- prompt "QDIO support"
- ---help---
- This driver provides the Queued Direct I/O base support for
- IBM System z.
- To compile this driver as a module, choose M here: the
- module will be called qdio.
- If unsure, say Y.
- menuconfig PCI
- bool "PCI support"
- select PCI_MSI
- select IOMMU_HELPER
- select IOMMU_SUPPORT
- select NEED_DMA_MAP_STATE
- select NEED_SG_DMA_LENGTH
- help
- Enable PCI support.
- if PCI
- config PCI_NR_FUNCTIONS
- int "Maximum number of PCI functions (1-4096)"
- range 1 4096
- default "128"
- help
- This allows you to specify the maximum number of PCI functions which
- this kernel will support.
- source "drivers/pci/Kconfig"
- endif # PCI
- config PCI_DOMAINS
- def_bool PCI
- config HAS_IOMEM
- def_bool PCI
- config CHSC_SCH
- def_tristate m
- prompt "Support for CHSC subchannels"
- help
- This driver allows usage of CHSC subchannels. A CHSC subchannel
- is usually present on LPAR only.
- The driver creates a device /dev/chsc, which may be used to
- obtain I/O configuration information about the machine and
- to issue asynchronous chsc commands (DANGEROUS).
- You will usually only want to use this interface on a special
- LPAR designated for system management.
- To compile this driver as a module, choose M here: the
- module will be called chsc_sch.
- If unsure, say N.
- config SCM_BUS
- def_bool y
- prompt "SCM bus driver"
- help
- Bus driver for Storage Class Memory.
- config EADM_SCH
- def_tristate m
- prompt "Support for EADM subchannels"
- depends on SCM_BUS
- help
- This driver allows usage of EADM subchannels. EADM subchannels act
- as a communication vehicle for SCM increments.
- To compile this driver as a module, choose M here: the
- module will be called eadm_sch.
- config VFIO_CCW
- def_tristate n
- prompt "Support for VFIO-CCW subchannels"
- depends on S390_CCW_IOMMU && VFIO_MDEV
- help
- This driver allows usage of I/O subchannels via VFIO-CCW.
- To compile this driver as a module, choose M here: the
- module will be called vfio_ccw.
- endmenu
- menu "Dump support"
- config CRASH_DUMP
- bool "kernel crash dumps"
- depends on SMP
- select KEXEC
- help
- Generate crash dump after being started by kexec.
- Crash dump kernels are loaded in the main kernel with kexec-tools
- into a specially reserved region and then later executed after
- a crash by kdump/kexec.
- Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
- This option also enables s390 zfcpdump.
- See also <file:Documentation/s390/zfcpdump.txt>
- endmenu
- config SECCOMP
- def_bool y
- prompt "Enable seccomp to safely compute untrusted bytecode"
- depends on PROC_FS
- help
- This kernel feature is useful for number crunching applications
- that may need to compute untrusted bytecode during their
- execution. By using pipes or other transports made available to
- the process as file descriptors supporting the read/write
- syscalls, it's possible to isolate those applications in
- their own address space using seccomp. Once seccomp is
- enabled via /proc/<pid>/seccomp, it cannot be disabled
- and the task is only allowed to execute a few safe syscalls
- defined by each seccomp mode.
- If unsure, say Y.
- menu "Power Management"
- config ARCH_HIBERNATION_POSSIBLE
- def_bool y
- source "kernel/power/Kconfig"
- endmenu
- config PCMCIA
- def_bool n
- config CCW
- def_bool y
- config HAVE_PNETID
- tristate
- default (SMC || CCWGROUP)
- menu "Virtualization"
- config PFAULT
- def_bool y
- prompt "Pseudo page fault support"
- help
- Select this option, if you want to use PFAULT pseudo page fault
- handling under VM. If running native or in LPAR, this option
- has no effect. If your VM does not support PFAULT, PAGEEX
- pseudo page fault handling will be used.
- Note that VM 4.2 supports PFAULT but has a bug in its
- implementation that causes some problems.
- Everybody who wants to run Linux under VM != VM4.2 should select
- this option.
- config CMM
- def_tristate n
- prompt "Cooperative memory management"
- help
- Select this option, if you want to enable the kernel interface
- to reduce the memory size of the system. This is accomplished
- by allocating pages of memory and put them "on hold". This only
- makes sense for a system running under VM where the unused pages
- will be reused by VM for other guest systems. The interface
- allows an external monitor to balance memory of many systems.
- Everybody who wants to run Linux under VM should select this
- option.
- config CMM_IUCV
- def_bool y
- prompt "IUCV special message interface to cooperative memory management"
- depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
- help
- Select this option to enable the special message interface to
- the cooperative memory management.
- config APPLDATA_BASE
- def_bool n
- prompt "Linux - VM Monitor Stream, base infrastructure"
- depends on PROC_FS
- help
- This provides a kernel interface for creating and updating z/VM APPLDATA
- monitor records. The monitor records are updated at certain time
- intervals, once the timer is started.
- Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer,
- i.e. enables or disables monitoring on the Linux side.
- A custom interval value (in seconds) can be written to
- /proc/appldata/interval.
- Defaults are 60 seconds interval and timer off.
- The /proc entries can also be read from, showing the current settings.
- config APPLDATA_MEM
- def_tristate m
- prompt "Monitor memory management statistics"
- depends on APPLDATA_BASE && VM_EVENT_COUNTERS
- help
- This provides memory management related data to the Linux - VM Monitor
- Stream, like paging/swapping rate, memory utilisation, etc.
- Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
- APPLDATA monitor record, i.e. enables or disables monitoring this record
- on the z/VM side.
- Default is disabled.
- The /proc entry can also be read from, showing the current settings.
- This can also be compiled as a module, which will be called
- appldata_mem.o.
- config APPLDATA_OS
- def_tristate m
- prompt "Monitor OS statistics"
- depends on APPLDATA_BASE
- help
- This provides OS related data to the Linux - VM Monitor Stream, like
- CPU utilisation, etc.
- Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
- APPLDATA monitor record, i.e. enables or disables monitoring this record
- on the z/VM side.
- Default is disabled.
- This can also be compiled as a module, which will be called
- appldata_os.o.
- config APPLDATA_NET_SUM
- def_tristate m
- prompt "Monitor overall network statistics"
- depends on APPLDATA_BASE && NET
- help
- This provides network related data to the Linux - VM Monitor Stream,
- currently there is only a total sum of network I/O statistics, no
- per-interface data.
- Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
- APPLDATA monitor record, i.e. enables or disables monitoring this record
- on the z/VM side.
- Default is disabled.
- This can also be compiled as a module, which will be called
- appldata_net_sum.o.
- config S390_HYPFS_FS
- def_bool y
- prompt "s390 hypervisor file system support"
- select SYS_HYPERVISOR
- help
- This is a virtual file system intended to provide accounting
- information in an s390 hypervisor environment.
- source "arch/s390/kvm/Kconfig"
- config S390_GUEST
- def_bool y
- prompt "s390 support for virtio devices"
- select TTY
- select VIRTUALIZATION
- select VIRTIO
- select VIRTIO_CONSOLE
- help
- Enabling this option adds support for virtio based paravirtual device
- drivers on s390.
- Select this option if you want to run the kernel as a guest under
- the KVM hypervisor.
- endmenu
|