## Library configuration#config BINARY_PRINTF def_bool nmenu "Library routines"config RAID6_PQ tristateconfig BITREVERSE tristateconfig RATIONAL booleanconfig GENERIC_STRNCPY_FROM_USER boolconfig GENERIC_STRNLEN_USER boolconfig GENERIC_NET_UTILS boolconfig GENERIC_FIND_FIRST_BIT boolconfig NO_GENERIC_PCI_IOPORT_MAP boolconfig GENERIC_PCI_IOMAP boolconfig GENERIC_IOMAP bool select GENERIC_PCI_IOMAPconfig GENERIC_IO boolean default nconfig STMP_DEVICE boolconfig PERCPU_RWSEM booleanconfig ARCH_USE_CMPXCHG_LOCKREF boolconfig CRC_CCITT 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 M here.config CRC16 tristate "CRC16 functions" help This option is provided for the case where no in-kernel-tree modules require CRC16 functions, but a module built outside the kernel tree does. Such modules that use library CRC16 functions require M here.config CRC_T10DIF tristate "CRC calculation for the T10 Data Integrity Field" select CRYPTO select CRYPTO_CRCT10DIF 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 SCSI data integrity subsystem.config CRC_ITU_T 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 M here.config CRC32 tristate "CRC32/CRC32c functions" default y select BITREVERSE help This option is provided for the case where no in-kernel-tree modules require CRC32/CRC32c functions, but a module built outside the kernel tree does. Such modules that use library CRC32/CRC32c functions require M here.config CRC32_SELFTEST bool "CRC32 perform self test on init" default n depends on CRC32 help This option enables the CRC32 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 CRC32 default CRC32_SLICEBY8 help This option allows a kernel builder to override the default choice of CRC32 algorithm. Choose the default ("slice by 8") unless you know that you need one of the others.config CRC32_SLICEBY8 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 CRC32_SLICEBY4 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 CRC32_SARWATE 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 CRC32_BIT 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.endchoiceconfig CRC7 tristate "CRC7 functions" help This option is provided for the case where no in-kernel-tree modules require CRC7 functions, but a module built outside the kernel tree does. Such modules that use library CRC7 functions require M here.config LIBCRC32C tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" select CRYPTO select CRYPTO_CRC32C 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 M here. See Castagnoli93. Module will be libcrc32c.config CRC8 tristate "CRC8 function" help This option provides CRC8 function. Drivers may select this when they need to do cyclic redundancy check according CRC8 algorithm. Module will be called crc8.config AUDIT_GENERIC bool depends on AUDIT && !AUDIT_ARCH default yconfig RANDOM32_SELFTEST 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 ZLIB_INFLATE tristateconfig ZLIB_DEFLATE tristateconfig LZO_COMPRESS tristateconfig LZO_DECOMPRESS tristateconfig LZ4_COMPRESS tristateconfig LZ4HC_COMPRESS tristateconfig LZ4_DECOMPRESS tristatesource "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 tristateconfig DECOMPRESS_BZIP2 tristateconfig DECOMPRESS_LZMA tristateconfig DECOMPRESS_XZ select XZ_DEC tristateconfig DECOMPRESS_LZO select LZO_DECOMPRESS tristateconfig DECOMPRESS_LZ4 select LZ4_DECOMPRESS tristate## Generic allocator support is selected if needed#config GENERIC_ALLOCATOR boolean## reed solomon support is select'ed if needed#config REED_SOLOMON tristateconfig REED_SOLOMON_ENC8 booleanconfig REED_SOLOMON_DEC8 booleanconfig REED_SOLOMON_ENC16 booleanconfig REED_SOLOMON_DEC16 boolean## BCH support is selected if needed#config BCH tristateconfig BCH_CONST_PARAMS boolean 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 booleanconfig TEXTSEARCH_KMP tristateconfig TEXTSEARCH_BM tristateconfig TEXTSEARCH_FSM tristateconfig BTREE booleanconfig 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/assoc_array.txt for more information.config HAS_IOMEM boolean depends on !NO_IOMEM select GENERIC_IO default yconfig HAS_IOPORT boolean depends on HAS_IOMEM && !NO_IOPORT default yconfig HAS_DMA boolean depends on !NO_DMA default yconfig CHECK_SIGNATURE boolconfig 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 DISABLE_OBSOLETE_CPUMASK_FUNCTIONS bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS depends on BROKENconfig CPU_RMAP bool depends on SMPconfig DQL bool## Netlink attribute parsing support is select'ed if needed#config NLATTR bool## Generic 64-bit atomic support is selected if needed#config GENERIC_ATOMIC64 boolconfig ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE def_bool y if GENERIC_ATOMIC64config LRU_CACHE tristateconfig AVERAGE bool "Averaging functions" help This option is provided for the case where no in-kernel-tree modules require averaging functions, but a module built outside the kernel tree does. Such modules that use library averaging functions require Y here. If unsure, say N.config CLZ_TAB boolconfig CORDIC tristate "CORDIC algorithm" help This option provides an implementation of the CORDIC algorithm; calculations are in fixed point. Module will be called cordic.config DDR bool "JEDEC DDR data" help Data from JEDEC specs for DDR SDRAM memories, particularly the AC timing parameters and addressing information. This data is useful for drivers handling DDR SDRAM controllers.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 && CRYPTO select CRYPTO_SHA1 select MPILIB help Digital signature verification. Currently only RSA is supported. Implementation is done using GnuPG MPI library## libfdt files, only selected if needed.#config LIBFDT boolconfig OID_REGISTRY tristate help Enable fast lookup object identifier registry.config UCS2_STRING tristatesource "lib/fonts/Kconfig"endmenu
#
# Library configuration
#
config BINARY_PRINTF
def_bool n
menu "Library routines"
config RAID6_PQ
tristate
config BITREVERSE
tristate
config RATIONAL
boolean
config GENERIC_STRNCPY_FROM_USER
bool
config GENERIC_STRNLEN_USER
bool
config GENERIC_NET_UTILS
bool
config GENERIC_FIND_FIRST_BIT
bool
config NO_GENERIC_PCI_IOPORT_MAP
bool
config GENERIC_PCI_IOMAP
bool
config GENERIC_IOMAP
bool
select GENERIC_PCI_IOMAP
config GENERIC_IO
boolean
default n
config STMP_DEVICE
bool
config PERCPU_RWSEM
boolean
config ARCH_USE_CMPXCHG_LOCKREF
bool
config CRC_CCITT
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 M here.
config CRC16
tristate "CRC16 functions"
help
This option is provided for the case where no in-kernel-tree
modules require CRC16 functions, but a module built outside
the kernel tree does. Such modules that use library CRC16
functions require M here.
config CRC_T10DIF
tristate "CRC calculation for the T10 Data Integrity Field"
select CRYPTO
select CRYPTO_CRCT10DIF
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
SCSI data integrity subsystem.
config CRC_ITU_T
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 M here.
config CRC32
tristate "CRC32/CRC32c functions"
default y
select BITREVERSE
help
This option is provided for the case where no in-kernel-tree
modules require CRC32/CRC32c functions, but a module built outside
the kernel tree does. Such modules that use library CRC32/CRC32c
functions require M here.
config CRC32_SELFTEST
bool "CRC32 perform self test on init"
default n
depends on CRC32
help
This option enables the CRC32 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 CRC32
default CRC32_SLICEBY8
help
This option allows a kernel builder to override the default choice
of CRC32 algorithm. Choose the default ("slice by 8") unless you
know that you need one of the others.
config CRC32_SLICEBY8
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 CRC32_SLICEBY4
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 CRC32_SARWATE
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 CRC32_BIT
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 CRC7
tristate "CRC7 functions"
help
This option is provided for the case where no in-kernel-tree
modules require CRC7 functions, but a module built outside
the kernel tree does. Such modules that use library CRC7
functions require M here.
config LIBCRC32C
tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
select CRYPTO
select CRYPTO_CRC32C
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 M here. See Castagnoli93.
Module will be libcrc32c.
config CRC8
tristate "CRC8 function"
help
This option provides CRC8 function. Drivers may select this
when they need to do cyclic redundancy check according CRC8
algorithm. Module will be called crc8.
config AUDIT_GENERIC
bool
depends on AUDIT && !AUDIT_ARCH
default y
config RANDOM32_SELFTEST
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 ZLIB_INFLATE
tristate
config ZLIB_DEFLATE
tristate
config LZO_COMPRESS
tristate
config LZO_DECOMPRESS
tristate
config LZ4_COMPRESS
tristate
config LZ4HC_COMPRESS
tristate
config LZ4_DECOMPRESS
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
#
# Generic allocator support is selected if needed
#
config GENERIC_ALLOCATOR
boolean
#
# reed solomon support is select'ed if needed
#
config REED_SOLOMON
tristate
config REED_SOLOMON_ENC8
boolean
config REED_SOLOMON_DEC8
boolean
config REED_SOLOMON_ENC16
boolean
config REED_SOLOMON_DEC16
boolean
#
# BCH support is selected if needed
#
config BCH
tristate
config BCH_CONST_PARAMS
boolean
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
boolean
config TEXTSEARCH_KMP
tristate
config TEXTSEARCH_BM
tristate
config TEXTSEARCH_FSM
tristate
config BTREE
boolean
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/assoc_array.txt
for more information.
config HAS_IOMEM
boolean
depends on !NO_IOMEM
select GENERIC_IO
default y
config HAS_IOPORT
boolean
depends on HAS_IOMEM && !NO_IOPORT
default y
config HAS_DMA
boolean
depends on !NO_DMA
default y
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 DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
depends on BROKEN
config CPU_RMAP
bool
depends on SMP
config DQL
bool
#
# 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 ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
def_bool y if GENERIC_ATOMIC64
config LRU_CACHE
tristate
config AVERAGE
bool "Averaging functions"
help
This option is provided for the case where no in-kernel-tree
modules require averaging functions, but a module built outside
the kernel tree does. Such modules that use library averaging
functions require Y here.
If unsure, say N.
config CLZ_TAB
bool
config CORDIC
tristate "CORDIC algorithm"
help
This option provides an implementation of the CORDIC algorithm;
calculations are in fixed point. Module will be called cordic.
config DDR
bool "JEDEC DDR data"
help
Data from JEDEC specs for DDR SDRAM memories,
particularly the AC timing parameters and addressing
information. This data is useful for drivers handling
DDR SDRAM controllers.
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 && CRYPTO
select CRYPTO_SHA1
select MPILIB
help
Digital signature verification. Currently only RSA is supported.
Implementation is done using GnuPG MPI library
#
# libfdt files, only selected if needed.
#
config LIBFDT
bool
config OID_REGISTRY
tristate
help
Enable fast lookup object identifier registry.
config UCS2_STRING
tristate
source "lib/fonts/Kconfig"
endmenu