| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # Library configuration
- #
- config BINARY_PRINTF
- def_bool n
- menu "Library routines"
- config RAID6_PQ
- tristate
- config RAID6_PQ_BENCHMARK
- bool "Automatically choose fastest RAID6 PQ functions"
- depends on RAID6_PQ
- default y
- help
- Benchmark all available RAID6 PQ functions on init and choose the
- fastest one.
- config LINEAR_RANGES
- tristate
- config PACKING
- bool "Generic bitfield packing and unpacking"
- select BITREVERSE
- default n
- help
- This option provides the packing() helper function, which permits
- converting bitfields between a CPU-usable representation and a
- memory representation that can have any combination of these quirks:
- - Is little endian (bytes are reversed within a 32-bit group)
- - The least-significant 32-bit word comes first (within a 64-bit
- group)
- - The most significant bit of a byte is at its right (bit 0 of a
- register description is numerically 2^7).
- Drivers may use these helpers to match the bit indices as described
- in the data sheets of the peripherals they are in control of.
- When in doubt, say N.
- config PACKING_KUNIT_TEST
- tristate "KUnit tests for packing library" if !KUNIT_ALL_TESTS
- depends on PACKING && KUNIT
- default KUNIT_ALL_TESTS
- help
- This builds KUnit tests for the packing library.
- For more information on KUnit and unit tests in general,
- please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
- When in doubt, say N.
- config BITREVERSE
- tristate
- config HAVE_ARCH_BITREVERSE
- bool
- default n
- help
- This option enables the use of hardware bit-reversal instructions on
- architectures which support such operations.
- config ARCH_HAS_STRNCPY_FROM_USER
- bool
- config ARCH_HAS_STRNLEN_USER
- bool
- config GENERIC_STRNCPY_FROM_USER
- def_bool !ARCH_HAS_STRNCPY_FROM_USER
- config GENERIC_STRNLEN_USER
- def_bool !ARCH_HAS_STRNLEN_USER
- config GENERIC_NET_UTILS
- bool
- source "lib/math/Kconfig"
- config NO_GENERIC_PCI_IOPORT_MAP
- bool
- config GENERIC_IOMAP
- bool
- select GENERIC_PCI_IOMAP
- config STMP_DEVICE
- bool
- config ARCH_USE_CMPXCHG_LOCKREF
- bool
- config ARCH_HAS_FAST_MULTIPLIER
- bool
- config ARCH_USE_SYM_ANNOTATIONS
- bool
- config INDIRECT_PIO
- bool "Access I/O in non-MMIO mode"
- depends on ARM64
- depends on HAS_IOPORT
- help
- On some platforms where no separate I/O space exists, there are I/O
- hosts which can not be accessed in MMIO mode. Using the logical PIO
- mechanism, the host-local I/O resource can be mapped into system
- logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the
- system can access the I/O devices with the mapped-logic PIO through
- I/O accessors.
- This way has relatively little I/O performance cost. Please make
- sure your devices really need this configure item enabled.
- When in doubt, say N.
- config INDIRECT_IOMEM
- bool
- help
- This is selected by other options/architectures to provide the
- emulated iomem accessors.
- config INDIRECT_IOMEM_FALLBACK
- bool
- depends on INDIRECT_IOMEM
- help
- If INDIRECT_IOMEM is selected, this enables falling back to plain
- mmio accesses when the IO memory address is not a registered
- emulated region.
- config TRACE_MMIO_ACCESS
- bool "Register read/write tracing"
- depends on TRACING && ARCH_HAVE_TRACE_MMIO_ACCESS
- help
- Create tracepoints for MMIO read/write operations. These trace events
- can be used for logging all MMIO read/write operations.
- source "lib/crc/Kconfig"
- source "lib/crypto/Kconfig"
- config XXHASH
- tristate
- config AUDIT_GENERIC
- bool
- depends on AUDIT && !AUDIT_ARCH
- default y
- config AUDIT_ARCH_COMPAT_GENERIC
- bool
- default n
- config AUDIT_COMPAT_GENERIC
- bool
- depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
- default y
- config RANDOM32_SELFTEST
- bool "PRNG perform self test on init"
- help
- This option enables the 32 bit PRNG library functions to perform a
- self test on initialization.
- #
- # compression support is select'ed if needed
- #
- config 842_COMPRESS
- select CRC32
- tristate
- config 842_DECOMPRESS
- select CRC32
- tristate
- config ZLIB_INFLATE
- tristate
- config ZLIB_DEFLATE
- tristate
- select BITREVERSE
- config ZLIB_DFLTCC
- def_bool y
- depends on S390
- prompt "Enable s390x DEFLATE CONVERSION CALL support for kernel zlib"
- help
- Enable s390x hardware support for zlib in the kernel.
- config LZO_COMPRESS
- tristate
- config LZO_DECOMPRESS
- tristate
- config LZ4_COMPRESS
- tristate
- config LZ4HC_COMPRESS
- tristate
- config LZ4_DECOMPRESS
- tristate
- config ZSTD_COMMON
- select XXHASH
- tristate
- config ZSTD_COMPRESS
- select ZSTD_COMMON
- tristate
- config ZSTD_DECOMPRESS
- select ZSTD_COMMON
- tristate
- source "lib/xz/Kconfig"
- #
- # These all provide a common interface (hence the apparent duplication with
- # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
- #
- config DECOMPRESS_GZIP
- select ZLIB_INFLATE
- tristate
- config DECOMPRESS_BZIP2
- tristate
- config DECOMPRESS_LZMA
- tristate
- config DECOMPRESS_XZ
- select XZ_DEC
- tristate
- config DECOMPRESS_LZO
- select LZO_DECOMPRESS
- tristate
- config DECOMPRESS_LZ4
- select LZ4_DECOMPRESS
- tristate
- config DECOMPRESS_ZSTD
- select ZSTD_DECOMPRESS
- tristate
- #
- # Generic allocator support is selected if needed
- #
- config GENERIC_ALLOCATOR
- bool
- #
- # reed solomon support is select'ed if needed
- #
- config REED_SOLOMON
- tristate
-
- config REED_SOLOMON_ENC8
- bool
- config REED_SOLOMON_DEC8
- bool
- config REED_SOLOMON_ENC16
- bool
- config REED_SOLOMON_DEC16
- bool
- #
- # BCH support is selected if needed
- #
- config BCH
- tristate
- select BITREVERSE
- config BCH_CONST_PARAMS
- bool
- help
- Drivers may select this option to force specific constant
- values for parameters 'm' (Galois field order) and 't'
- (error correction capability). Those specific values must
- be set by declaring default values for symbols BCH_CONST_M
- and BCH_CONST_T.
- Doing so will enable extra compiler optimizations,
- improving encoding and decoding performance up to 2x for
- usual (m,t) values (typically such that m*t < 200).
- When this option is selected, the BCH library supports
- only a single (m,t) configuration. This is mainly useful
- for NAND flash board drivers requiring known, fixed BCH
- parameters.
- config BCH_CONST_M
- int
- range 5 15
- help
- Constant value for Galois field order 'm'. If 'k' is the
- number of data bits to protect, 'm' should be chosen such
- that (k + m*t) <= 2**m - 1.
- Drivers should declare a default value for this symbol if
- they select option BCH_CONST_PARAMS.
- config BCH_CONST_T
- int
- help
- Constant value for error correction capability in bits 't'.
- Drivers should declare a default value for this symbol if
- they select option BCH_CONST_PARAMS.
- #
- # Textsearch support is select'ed if needed
- #
- config TEXTSEARCH
- bool
- config TEXTSEARCH_KMP
- tristate
- config TEXTSEARCH_BM
- tristate
- config TEXTSEARCH_FSM
- tristate
- config BTREE
- bool
- config INTERVAL_TREE
- bool
- help
- Simple, embeddable, interval-tree. Can find the start of an
- overlapping range in log(n) time and then iterate over all
- overlapping nodes. The algorithm is implemented as an
- augmented rbtree.
- See:
- Documentation/core-api/rbtree.rst
- for more information.
- config INTERVAL_TREE_SPAN_ITER
- bool
- depends on INTERVAL_TREE
- config XARRAY_MULTI
- bool
- help
- Support entries which occupy multiple consecutive indices in the
- XArray.
- config ASSOCIATIVE_ARRAY
- bool
- help
- Generic associative array. Can be searched and iterated over whilst
- it is being modified. It is also reasonably quick to search and
- modify. The algorithms are non-recursive, and the trees are highly
- capacious.
- See:
- Documentation/core-api/assoc_array.rst
- for more information.
- config CLOSURES
- bool
- config HAS_IOMEM
- bool
- depends on !NO_IOMEM
- default y
- config HAS_IOPORT
- bool
- config HAS_IOPORT_MAP
- bool
- depends on HAS_IOMEM && !NO_IOPORT_MAP
- default y
- source "kernel/dma/Kconfig"
- config SGL_ALLOC
- bool
- default n
- config IOMMU_HELPER
- bool
- config CHECK_SIGNATURE
- bool
- config CPUMASK_OFFSTACK
- bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
- help
- Use dynamic allocation for cpumask_var_t, instead of putting
- them on the stack. This is a bit more expensive, but avoids
- stack overflow.
- config FORCE_NR_CPUS
- def_bool !SMP
- config CPU_RMAP
- bool
- depends on SMP
- config DQL
- bool
- config GLOB
- bool
- # This actually supports modular compilation, but the module overhead
- # is ridiculous for the amount of code involved. Until an out-of-tree
- # driver asks for it, we'll just link it directly it into the kernel
- # when required. Since we're ignoring out-of-tree users, there's also
- # no need bother prompting for a manual decision:
- # prompt "glob_match() function"
- help
- This option provides a glob_match function for performing
- simple text pattern matching. It originated in the ATA code
- to blacklist particular drive models, but other device drivers
- may need similar functionality.
- All drivers in the Linux kernel tree that require this function
- should automatically select this option. Say N unless you
- are compiling an out-of tree driver which tells you that it
- depends on this.
- #
- # Netlink attribute parsing support is select'ed if needed
- #
- config NLATTR
- bool
- #
- # Generic 64-bit atomic support is selected if needed
- #
- config GENERIC_ATOMIC64
- bool
- config LRU_CACHE
- tristate
- config CLZ_TAB
- bool
- config IRQ_POLL
- bool "IRQ polling library"
- help
- Helper library to poll interrupt mitigation using polling.
- config MPILIB
- tristate
- select CLZ_TAB
- help
- Multiprecision maths library from GnuPG.
- It is used to implement RSA digital signature verification,
- which is used by IMA/EVM digital signature extension.
- config SIGNATURE
- tristate
- depends on KEYS
- select CRYPTO_LIB_SHA1
- select MPILIB
- help
- Digital signature verification. Currently only RSA is supported.
- Implementation is done using GnuPG MPI library
- config DIMLIB
- tristate
- depends on NET
- help
- Dynamic Interrupt Moderation library.
- Implements an algorithm for dynamically changing CQ moderation values
- according to run time performance.
- #
- # libfdt files, only selected if needed.
- #
- config LIBFDT
- bool
- config OID_REGISTRY
- tristate
- help
- Enable fast lookup object identifier registry.
- config UCS2_STRING
- tristate
- #
- # generic vdso
- #
- source "lib/vdso/Kconfig"
- source "lib/fonts/Kconfig"
- config SG_SPLIT
- def_bool n
- help
- Provides a helper to split scatterlists into chunks, each chunk being
- a scatterlist. This should be selected by a driver or an API which
- whishes to split a scatterlist amongst multiple DMA channels.
- config SG_POOL
- def_bool n
- help
- Provides a helper to allocate chained scatterlists. This should be
- selected by a driver or an API which whishes to allocate chained
- scatterlist.
- #
- # sg chaining option
- #
- config ARCH_NO_SG_CHAIN
- def_bool n
- config ARCH_HAS_PMEM_API
- bool
- config MEMREGION
- bool
- config ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION
- bool
- config GENERIC_CPU_CACHE_MAINTENANCE
- bool
- config ARCH_HAS_MEMREMAP_COMPAT_ALIGN
- bool
- # use memcpy to implement user copies for nommu architectures
- config UACCESS_MEMCPY
- bool
- config ARCH_HAS_UACCESS_FLUSHCACHE
- bool
- # arch has a concept of a recoverable synchronous exception due to a
- # memory-read error like x86 machine-check or ARM data-abort, and
- # implements copy_mc_to_{user,kernel} to abort and report
- # 'bytes-transferred' if that exception fires when accessing the source
- # buffer.
- config ARCH_HAS_COPY_MC
- bool
- # Temporary. Goes away when all archs are cleaned up
- config ARCH_STACKWALK
- bool
- config STACKDEPOT
- bool
- select STACKTRACE
- help
- Stack depot: stack trace storage that avoids duplication
- config STACKDEPOT_ALWAYS_INIT
- bool
- select STACKDEPOT
- help
- Always initialize stack depot during early boot
- config STACKDEPOT_MAX_FRAMES
- int "Maximum number of frames in trace saved in stack depot"
- range 1 256
- default 64
- depends on STACKDEPOT
- config REF_TRACKER
- bool
- depends on STACKTRACE_SUPPORT
- select STACKDEPOT
- config SBITMAP
- bool
- config PARMAN
- tristate "parman" if COMPILE_TEST
- config OBJAGG
- tristate "objagg" if COMPILE_TEST
- config LWQ_TEST
- bool "Boot-time test for lwq queuing"
- help
- Run boot-time test of light-weight queuing.
- endmenu
- config GENERIC_IOREMAP
- bool
- config GENERIC_LIB_ASHLDI3
- bool
- config GENERIC_LIB_ASHRDI3
- bool
- config GENERIC_LIB_LSHRDI3
- bool
- config GENERIC_LIB_MULDI3
- bool
- config GENERIC_LIB_CMPDI2
- bool
- config GENERIC_LIB_UCMPDI2
- bool
- config GENERIC_LIB_DEVMEM_IS_ALLOWED
- bool
- config PLDMFW
- bool
- select CRC32
- default n
- config ASN1_ENCODER
- tristate
- config POLYNOMIAL
- tristate
- config FIRMWARE_TABLE
- bool
- config UNION_FIND
- bool
- config MIN_HEAP
- bool
|