#
# Library configuration
#
config [31mCONFIG_BINARY_PRINTF[0m
def_bool n
menu "Library routines"
config [31mCONFIG_RAID6_PQ[0m
tristate
config [31mCONFIG_BITREVERSE[0m
tristate
config [31mCONFIG_HAVE_ARCH_BITREVERSE[0m
bool
default n
depends on [31mCONFIG_BITREVERSE[0m
help
This option enables the use of hardware bit-reversal instructions on
architectures which support such operations.
config [31mCONFIG_RATIONAL[0m
bool
config [31mCONFIG_GENERIC_STRNCPY_FROM_USER[0m
bool
config [31mCONFIG_GENERIC_STRNLEN_USER[0m
bool
config [31mCONFIG_GENERIC_NET_UTILS[0m
bool
config [31mCONFIG_GENERIC_FIND_FIRST_BIT[0m
bool
config [31mCONFIG_NO_GENERIC_PCI_IOPORT_MAP[0m
bool
config [31mCONFIG_GENERIC_PCI_IOMAP[0m
bool
config [31mCONFIG_GENERIC_IOMAP[0m
bool
select [31mCONFIG_GENERIC_PCI_IOMAP[0m
config [31mCONFIG_GENERIC_IO[0m
bool
default n
config [31mCONFIG_STMP_DEVICE[0m
bool
config [31mCONFIG_ARCH_USE_CMPXCHG_LOCKREF[0m
bool
config [31mCONFIG_ARCH_HAS_FAST_MULTIPLIER[0m
bool
config [31mCONFIG_CRC_CCITT[0m
tristate "CRC-CCITT functions"
help
This option is provided for the case where no in-kernel-tree
modules require CRC-CCITT functions, but a module built outside
the kernel tree does. Such modules that use library CRC-CCITT
functions require [31mCONFIG_M[0m here.
config [31mCONFIG_CRC16[0m
tristate "CRC16 functions"
help
This option is provided for the case where no in-kernel-tree
modules require [31mCONFIG_CRC16[0m functions, but a module built outside
the kernel tree does. Such modules that use library [31mCONFIG_CRC16[0m
functions require [31mCONFIG_M[0m here.
config [31mCONFIG_CRC_T10DIF[0m
tristate "CRC calculation for the T10 Data Integrity Field"
select [31mCONFIG_CRYPTO[0m
select [31mCONFIG_CRYPTO_CRCT10DIF[0m
help
This option is only needed if a module that's not in the
kernel tree needs to calculate CRC checks for use with the
[31mCONFIG_SCSI[0m data integrity subsystem.
config [31mCONFIG_CRC_ITU_T[0m
tristate "CRC ITU-T V.41 functions"
help
This option is provided for the case where no in-kernel-tree
modules require CRC ITU-T V.41 functions, but a module built outside
the kernel tree does. Such modules that use library CRC ITU-T V.41
functions require [31mCONFIG_M[0m here.
config [31mCONFIG_CRC32[0m
tristate "CRC32/CRC32c functions"
default y
select [31mCONFIG_BITREVERSE[0m
help
This option is provided for the case where no in-kernel-tree
modules require [31mCONFIG_CRC32[0m/CRC32c functions, but a module built outside
the kernel tree does. Such modules that use library [31mCONFIG_CRC32[0m/CRC32c
functions require [31mCONFIG_M[0m here.
config [31mCONFIG_CRC32_SELFTEST[0m
bool "CRC32 perform self test on init"
default n
depends on [31mCONFIG_CRC32[0m
help
This option enables the [31mCONFIG_CRC32[0m library functions to perform a
self test on initialization. The self test computes crc32_le
and crc32_be over byte strings with random alignment and length
and computes the total elapsed time and number of bytes processed.
choice
prompt "CRC32 implementation"
depends on [31mCONFIG_CRC32[0m
default [31mCONFIG_CRC32_SLICEBY8[0m
help
This option allows a kernel builder to override the default choice
of [31mCONFIG_CRC32[0m algorithm. Choose the default ("slice by 8") unless you
know that you need one of the others.
config [31mCONFIG_CRC32_SLICEBY8[0m
bool "Slice by 8 bytes"
help
Calculate checksum 8 bytes at a time with a clever slicing algorithm.
This is the fastest algorithm, but comes with a 8KiB lookup table.
Most modern processors have enough cache to hold this table without
thrashing the cache.
This is the default implementation choice. Choose this one unless
you have a good reason not to.
config [31mCONFIG_CRC32_SLICEBY4[0m
bool "Slice by 4 bytes"
help
Calculate checksum 4 bytes at a time with a clever slicing algorithm.
This is a bit slower than slice by 8, but has a smaller 4KiB lookup
table.
Only choose this option if you know what you are doing.
config [31mCONFIG_CRC32_SARWATE[0m
bool "Sarwate's Algorithm (one byte at a time)"
help
Calculate checksum a byte at a time using Sarwate's algorithm. This
is not particularly fast, but has a small 256 byte lookup table.
Only choose this option if you know what you are doing.
config [31mCONFIG_CRC32_BIT[0m
bool "Classic Algorithm (one bit at a time)"
help
Calculate checksum one bit at a time. This is VERY slow, but has
no lookup table. This is provided as a debugging option.
Only choose this option if you are debugging crc32.
endchoice
config [31mCONFIG_CRC7[0m
tristate "CRC7 functions"
help
This option is provided for the case where no in-kernel-tree
modules require [31mCONFIG_CRC7[0m functions, but a module built outside
the kernel tree does. Such modules that use library [31mCONFIG_CRC7[0m
functions require [31mCONFIG_M[0m here.
config [31mCONFIG_LIBCRC32C[0m
tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
select [31mCONFIG_CRYPTO[0m
select [31mCONFIG_CRYPTO_CRC32C[0m
help
This option is provided for the case where no in-kernel-tree
modules require CRC32c functions, but a module built outside the
kernel tree does. Such modules that use library CRC32c functions
require [31mCONFIG_M[0m here. See Castagnoli93.
Module will be libcrc32c.
config [31mCONFIG_CRC8[0m
tristate "CRC8 function"
help
This option provides [31mCONFIG_CRC8[0m function. Drivers may select this
when they need to do cyclic redundancy check according [31mCONFIG_CRC8[0m
algorithm. Module will be called crc8.
config [31mCONFIG_AUDIT_GENERIC[0m
bool
depends on [31mCONFIG_AUDIT[0m && ![31mCONFIG_AUDIT_ARCH[0m
default y
config [31mCONFIG_AUDIT_ARCH_COMPAT_GENERIC[0m
bool
default n
config [31mCONFIG_AUDIT_COMPAT_GENERIC[0m
bool
depends on [31mCONFIG_AUDIT_GENERIC[0m && [31mCONFIG_AUDIT_ARCH_COMPAT_GENERIC[0m && [31mCONFIG_COMPAT[0m
default y
config [31mCONFIG_RANDOM32_SELFTEST[0m
bool "PRNG perform self test on init"
default n
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 [31mCONFIG_842_COMPRESS[0m
select [31mCONFIG_CRC32[0m
tristate
config [31mCONFIG_842_DECOMPRESS[0m
select [31mCONFIG_CRC32[0m
tristate
config [31mCONFIG_ZLIB_INFLATE[0m
tristate
config [31mCONFIG_ZLIB_DEFLATE[0m
tristate
select [31mCONFIG_BITREVERSE[0m
config [31mCONFIG_LZO_COMPRESS[0m
tristate
config [31mCONFIG_LZO_DECOMPRESS[0m
tristate
config [31mCONFIG_LZ4_COMPRESS[0m
tristate
config [31mCONFIG_LZ4HC_COMPRESS[0m
tristate
config [31mCONFIG_LZ4_DECOMPRESS[0m
tristate
source "lib/xz/Kconfig"
#
# These all provide a common interface (hence the apparent duplication with
# [31mCONFIG_ZLIB_INFLATE[0m; [31mCONFIG_DECOMPRESS_GZIP[0m is just a wrapper.)
#
config [31mCONFIG_DECOMPRESS_GZIP[0m
select [31mCONFIG_ZLIB_INFLATE[0m
tristate
config [31mCONFIG_DECOMPRESS_BZIP2[0m
tristate
config [31mCONFIG_DECOMPRESS_LZMA[0m
tristate
config [31mCONFIG_DECOMPRESS_XZ[0m
select [31mCONFIG_XZ_DEC[0m
tristate
config [31mCONFIG_DECOMPRESS_LZO[0m
select [31mCONFIG_LZO_DECOMPRESS[0m
tristate
config [31mCONFIG_DECOMPRESS_LZ4[0m
select [31mCONFIG_LZ4_DECOMPRESS[0m
tristate
#
# Generic allocator support is selected if needed
#
config [31mCONFIG_GENERIC_ALLOCATOR[0m
bool
#
# reed solomon support is select'ed if needed
#
config [31mCONFIG_REED_SOLOMON[0m
tristate
config [31mCONFIG_REED_SOLOMON_ENC8[0m
bool
config [31mCONFIG_REED_SOLOMON_DEC8[0m
bool
config [31mCONFIG_REED_SOLOMON_ENC16[0m
bool
config [31mCONFIG_REED_SOLOMON_DEC16[0m
bool
#
# [31mCONFIG_BCH[0m support is selected if needed
#
config [31mCONFIG_BCH[0m
tristate
config [31mCONFIG_BCH_CONST_PARAMS[0m
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 [31mCONFIG_BCH_CONST_M[0m
and [31mCONFIG_BCH_CONST_T[0m.
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 [31mCONFIG_BCH[0m library supports
only a single (m,t) configuration. This is mainly useful
for NAND flash board drivers requiring known, fixed [31mCONFIG_BCH[0m
parameters.
config [31mCONFIG_BCH_CONST_M[0m
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 [31mCONFIG_BCH_CONST_PARAMS[0m.
config [31mCONFIG_BCH_CONST_T[0m
int
help
Constant value for error correction capability in bits 't'.
Drivers should declare a default value for this symbol if
they select option [31mCONFIG_BCH_CONST_PARAMS[0m.
#
# Textsearch support is select'ed if needed
#
config [31mCONFIG_TEXTSEARCH[0m
bool
config [31mCONFIG_TEXTSEARCH_KMP[0m
tristate
config [31mCONFIG_TEXTSEARCH_BM[0m
tristate
config [31mCONFIG_TEXTSEARCH_FSM[0m
tristate
config [31mCONFIG_BTREE[0m
bool
config [31mCONFIG_INTERVAL_TREE[0m
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/rbtree.txt
for more information.
config [31mCONFIG_RADIX_TREE_MULTIORDER[0m
bool
config [31mCONFIG_ASSOCIATIVE_ARRAY[0m
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/assoc_array.txt
for more information.
config [31mCONFIG_HAS_IOMEM[0m
bool
depends on ![31mCONFIG_NO_IOMEM[0m
select [31mCONFIG_GENERIC_IO[0m
default y
config [31mCONFIG_HAS_IOPORT_MAP[0m
bool
depends on [31mCONFIG_HAS_IOMEM[0m && ![31mCONFIG_NO_IOPORT_MAP[0m
default y
config [31mCONFIG_HAS_DMA[0m
bool
depends on ![31mCONFIG_NO_DMA[0m
default y
config [31mCONFIG_CHECK_SIGNATURE[0m
bool
config [31mCONFIG_CPUMASK_OFFSTACK[0m
bool "Force CPU masks off stack" if [31mCONFIG_DEBUG_PER_CPU_MAPS[0m
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 [31mCONFIG_CPU_RMAP[0m
bool
depends on [31mCONFIG_SMP[0m
config [31mCONFIG_DQL[0m
bool
config [31mCONFIG_GLOB[0m
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 [31mCONFIG_ATA[0m 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.
config [31mCONFIG_GLOB_SELFTEST[0m
bool "glob self-test on init"
default n
depends on [31mCONFIG_GLOB[0m
help
This option enables a simple self-test of the glob_match
function on startup. It is primarily useful for people
working on the code to ensure they haven't introduced any
regressions.
It only adds a little bit of code and slows kernel boot (or
module load) by a small amount, so you're welcome to play with
it, but you probably don't need it.
#
# Netlink attribute parsing support is select'ed if needed
#
config [31mCONFIG_NLATTR[0m
bool
#
# Generic 64-bit atomic support is selected if needed
#
config [31mCONFIG_GENERIC_ATOMIC64[0m
bool
config [31mCONFIG_LRU_CACHE[0m
tristate
config [31mCONFIG_CLZ_TAB[0m
bool
config [31mCONFIG_CORDIC[0m
tristate "CORDIC algorithm"
help
This option provides an implementation of the [31mCONFIG_CORDIC[0m algorithm;
calculations are in fixed point. Module will be called cordic.
config [31mCONFIG_DDR[0m
bool "JEDEC DDR data"
help
Data from JEDEC specs for [31mCONFIG_DDR[0m SDRAM memories,
particularly the AC timing parameters and addressing
information. This data is useful for drivers handling
[31mCONFIG_DDR[0m SDRAM controllers.
config [31mCONFIG_IRQ_POLL[0m
bool "IRQ polling library"
help
Helper library to poll interrupt mitigation using polling.
config [31mCONFIG_MPILIB[0m
tristate
select [31mCONFIG_CLZ_TAB[0m
help
Multiprecision maths library from GnuPG.
It is used to implement RSA digital signature verification,
which is used by [31mCONFIG_IMA[0m/[31mCONFIG_EVM[0m digital signature extension.
config [31mCONFIG_SIGNATURE[0m
tristate
depends on [31mCONFIG_KEYS[0m
select [31mCONFIG_CRYPTO[0m
select [31mCONFIG_CRYPTO_SHA1[0m
select [31mCONFIG_MPILIB[0m
help
Digital signature verification. Currently only RSA is supported.
Implementation is done using GnuPG MPI library
#
# libfdt files, only selected if needed.
#
config [31mCONFIG_LIBFDT[0m
bool
config [31mCONFIG_OID_REGISTRY[0m
tristate
help
Enable fast lookup object identifier registry.
config [31mCONFIG_UCS2_STRING[0m
tristate
source "lib/fonts/Kconfig"
config [31mCONFIG_SG_SPLIT[0m
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 [31mCONFIG_SG_POOL[0m
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 [31mCONFIG_ARCH_HAS_SG_CHAIN[0m
def_bool n
config [31mCONFIG_ARCH_HAS_PMEM_API[0m
bool
config [31mCONFIG_ARCH_HAS_MMIO_FLUSH[0m
bool
config [31mCONFIG_STACKDEPOT[0m
bool
select [31mCONFIG_STACKTRACE[0m
config [31mCONFIG_SBITMAP[0m
bool
endmenu