123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554 |
- #
- # Library configuration
- #
- config BINARY_PRINTF
- def_bool n
- menu "Library routines"
- config RAID6_PQ
- tristate
- config BITREVERSE
- tristate
- config HAVE_ARCH_BITREVERSE
- bool
- default n
- depends on BITREVERSE
- help
- This option enables the use of hardware bit-reversal instructions on
- architectures which support such operations.
- config RATIONAL
- bool
- 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
- bool
- default n
- config STMP_DEVICE
- bool
- config ARCH_USE_CMPXCHG_LOCKREF
- bool
- config ARCH_HAS_FAST_MULTIPLIER
- 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 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"
- 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 842_COMPRESS
- select CRC32
- tristate
- config 842_DECOMPRESS
- select CRC32
- tristate
- config ZLIB_INFLATE
- tristate
- config ZLIB_DEFLATE
- tristate
- select BITREVERSE
- 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
- 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
- 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/rbtree.txt
- for more information.
- config RADIX_TREE_MULTIORDER
- bool
- 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
- bool
- depends on !NO_IOMEM
- select GENERIC_IO
- default y
- config HAS_IOPORT_MAP
- bool
- depends on HAS_IOMEM && !NO_IOPORT_MAP
- default y
- config HAS_DMA
- bool
- 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 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.
- config GLOB_SELFTEST
- bool "glob self-test on init"
- default n
- depends on GLOB
- 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 NLATTR
- bool
- #
- # Generic 64-bit atomic support is selected if needed
- #
- config GENERIC_ATOMIC64
- bool
- config LRU_CACHE
- tristate
- 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 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
- 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"
- 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_HAS_SG_CHAIN
- def_bool n
- config ARCH_HAS_PMEM_API
- bool
- config ARCH_HAS_MMIO_FLUSH
- bool
- config STACKDEPOT
- bool
- select STACKTRACE
- config SBITMAP
- bool
- endmenu
|