| # | 
 | # 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 PERCPU_RWSEM | 
 | 	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 | 
 | 	tristate | 
 |  | 
 | config 842_DECOMPRESS | 
 | 	tristate | 
 |  | 
 | 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 | 
 | 	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 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 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 | 
 | 	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" | 
 |  | 
 | # | 
 | # sg chaining option | 
 | # | 
 |  | 
 | config ARCH_HAS_SG_CHAIN | 
 | 	def_bool n | 
 |  | 
 | config ARCH_HAS_PMEM_API | 
 | 	bool | 
 |  | 
 | endmenu |