11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# Library configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 54370aa4aSLai Jiangshanconfig BINARY_PRINTF 64370aa4aSLai Jiangshan def_bool n 74370aa4aSLai Jiangshan 81da177e4SLinus Torvaldsmenu "Library routines" 91da177e4SLinus Torvalds 10f5e70d0fSDavid Woodhouseconfig RAID6_PQ 11f5e70d0fSDavid Woodhouse tristate 12f5e70d0fSDavid Woodhouse 13a5cfc1ecSAkinobu Mitaconfig BITREVERSE 14a5cfc1ecSAkinobu Mita tristate 15a5cfc1ecSAkinobu Mita 168759ef32SOskar Schirmerconfig RATIONAL 178759ef32SOskar Schirmer boolean 188759ef32SOskar Schirmer 1919870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 209ba16087SJan Beulich bool 2119870defSAlexander van Heukelum 22b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 23b923650bSMichael S. Tsirkin bool 24b923650bSMichael S. Tsirkin 2566eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 2666eab4dfSMichael S. Tsirkin bool 2766eab4dfSMichael S. Tsirkin 284673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 294673ca8eSMichael S. Tsirkin bool 3066eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 314673ca8eSMichael S. Tsirkin 321da177e4SLinus Torvaldsconfig CRC_CCITT 331da177e4SLinus Torvalds tristate "CRC-CCITT functions" 341da177e4SLinus Torvalds help 351da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 361da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 371da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 381da177e4SLinus Torvalds functions require M here. 391da177e4SLinus Torvalds 407657ec1fSEvgeniy Polyakovconfig CRC16 417657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 427657ec1fSEvgeniy Polyakov help 437657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 447657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 457657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 467657ec1fSEvgeniy Polyakov functions require M here. 477657ec1fSEvgeniy Polyakov 48f11f594eSMartin K. Petersenconfig CRC_T10DIF 49f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 50f11f594eSMartin K. Petersen help 51f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 52f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 53f11f594eSMartin K. Petersen SCSI data integrity subsystem. 54f11f594eSMartin K. Petersen 553e7cbae7SIvo van Doornconfig CRC_ITU_T 563e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 573e7cbae7SIvo van Doorn help 583e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 593e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 603e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 613e7cbae7SIvo van Doorn functions require M here. 623e7cbae7SIvo van Doorn 631da177e4SLinus Torvaldsconfig CRC32 64*46c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 651da177e4SLinus Torvalds default y 66906d66dfSAkinobu Mita select BITREVERSE 671da177e4SLinus Torvalds help 681da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 69*46c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 70*46c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 71*46c5801eSDarrick J. Wong functions require M here. 721da177e4SLinus Torvalds 733863ef31SBob Pearsonconfig CRC32_SELFTEST 743863ef31SBob Pearson bool "CRC32 perform self test on init" 753863ef31SBob Pearson default n 763863ef31SBob Pearson depends on CRC32 773863ef31SBob Pearson help 783863ef31SBob Pearson This option enables the CRC32 library functions to perform a 793863ef31SBob Pearson self test on initialization. The self test computes crc32_le 803863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 813863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 823863ef31SBob Pearson 83ad241528SJan Nikitenkoconfig CRC7 84ad241528SJan Nikitenko tristate "CRC7 functions" 85ad241528SJan Nikitenko help 86ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 87ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 88ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 89ad241528SJan Nikitenko functions require M here. 90ad241528SJan Nikitenko 911da177e4SLinus Torvaldsconfig LIBCRC32C 921da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 9393027354SHerbert Xu select CRYPTO 9469c35efcSHerbert Xu select CRYPTO_CRC32C 951da177e4SLinus Torvalds help 961da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 971da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 981da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 991da177e4SLinus Torvalds require M here. See Castagnoli93. 1001da177e4SLinus Torvalds Module will be libcrc32c. 1011da177e4SLinus Torvalds 1027150962dSArend van Sprielconfig CRC8 1037150962dSArend van Spriel tristate "CRC8 function" 1047150962dSArend van Spriel help 1057150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 1067150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 1077150962dSArend van Spriel algorithm. Module will be called crc8. 1087150962dSArend van Spriel 109e65e1fc2SAl Viroconfig AUDIT_GENERIC 110e65e1fc2SAl Viro bool 111e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 112e65e1fc2SAl Viro default y 113e65e1fc2SAl Viro 1141da177e4SLinus Torvalds# 1151da177e4SLinus Torvalds# compression support is select'ed if needed 1161da177e4SLinus Torvalds# 1171da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1181da177e4SLinus Torvalds tristate 1191da177e4SLinus Torvalds 1201da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1211da177e4SLinus Torvalds tristate 1221da177e4SLinus Torvalds 12364c70b1cSRichard Purdieconfig LZO_COMPRESS 12464c70b1cSRichard Purdie tristate 12564c70b1cSRichard Purdie 12664c70b1cSRichard Purdieconfig LZO_DECOMPRESS 12764c70b1cSRichard Purdie tristate 12864c70b1cSRichard Purdie 12924fa0402SLasse Collinsource "lib/xz/Kconfig" 13024fa0402SLasse Collin 1311da177e4SLinus Torvalds# 132c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 133c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 134c8531ab3SH. Peter Anvin# 135c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1367856a16eSH. Peter Anvin select ZLIB_INFLATE 137c8531ab3SH. Peter Anvin tristate 138c8531ab3SH. Peter Anvin 139c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 140c8531ab3SH. Peter Anvin tristate 141c8531ab3SH. Peter Anvin 142c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 143c8531ab3SH. Peter Anvin tristate 144c8531ab3SH. Peter Anvin 1453ebe1243SLasse Collinconfig DECOMPRESS_XZ 1463ebe1243SLasse Collin select XZ_DEC 1473ebe1243SLasse Collin tristate 1483ebe1243SLasse Collin 149cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 150cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 151cacb246fSAlbin Tonnerre tristate 152cacb246fSAlbin Tonnerre 153c8531ab3SH. Peter Anvin# 154f14f75b8SJes Sorensen# Generic allocator support is selected if needed 155f14f75b8SJes Sorensen# 156f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 157f14f75b8SJes Sorensen boolean 158f14f75b8SJes Sorensen 159f14f75b8SJes Sorensen# 1601da177e4SLinus Torvalds# reed solomon support is select'ed if needed 1611da177e4SLinus Torvalds# 1621da177e4SLinus Torvaldsconfig REED_SOLOMON 1631da177e4SLinus Torvalds tristate 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 1661da177e4SLinus Torvalds boolean 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 1691da177e4SLinus Torvalds boolean 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 1721da177e4SLinus Torvalds boolean 1731da177e4SLinus Torvalds 1741da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 1751da177e4SLinus Torvalds boolean 1761da177e4SLinus Torvalds 177f7704347SDavid S. Miller# 178437aa565SIvan Djelic# BCH support is selected if needed 179437aa565SIvan Djelic# 180437aa565SIvan Djelicconfig BCH 181437aa565SIvan Djelic tristate 182437aa565SIvan Djelic 183437aa565SIvan Djelicconfig BCH_CONST_PARAMS 184437aa565SIvan Djelic boolean 185437aa565SIvan Djelic help 186437aa565SIvan Djelic Drivers may select this option to force specific constant 187437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 188437aa565SIvan Djelic (error correction capability). Those specific values must 189437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 190437aa565SIvan Djelic and BCH_CONST_T. 191437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 192437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 193437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 194437aa565SIvan Djelic When this option is selected, the BCH library supports 195437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 196437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 197437aa565SIvan Djelic parameters. 198437aa565SIvan Djelic 199437aa565SIvan Djelicconfig BCH_CONST_M 200437aa565SIvan Djelic int 201437aa565SIvan Djelic range 5 15 202437aa565SIvan Djelic help 203437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 204437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 205437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 206437aa565SIvan Djelic Drivers should declare a default value for this symbol if 207437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 208437aa565SIvan Djelic 209437aa565SIvan Djelicconfig BCH_CONST_T 210437aa565SIvan Djelic int 211437aa565SIvan Djelic help 212437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 213437aa565SIvan Djelic Drivers should declare a default value for this symbol if 214437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 215437aa565SIvan Djelic 216437aa565SIvan Djelic# 217f7704347SDavid S. Miller# Textsearch support is select'ed if needed 218f7704347SDavid S. Miller# 2192de4ff7bSThomas Grafconfig TEXTSEARCH 220f7704347SDavid S. Miller boolean 2211da177e4SLinus Torvalds 222df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 223f7704347SDavid S. Miller tristate 224df3fb93aSThomas Graf 2258082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 22629cb9f9cSDavid S. Miller tristate 2278082e4edSPablo Neira Ayuso 2286408f79cSThomas Grafconfig TEXTSEARCH_FSM 229f7704347SDavid S. Miller tristate 2306408f79cSThomas Graf 2315db53f3eSJoern Engelconfig BTREE 2325db53f3eSJoern Engel boolean 2335db53f3eSJoern Engel 2345ea81769SAl Viroconfig HAS_IOMEM 235ee36c2bfSAl Viro boolean 2365ea81769SAl Viro depends on !NO_IOMEM 2375ea81769SAl Viro default y 2385ea81769SAl Viro 2395ea81769SAl Viroconfig HAS_IOPORT 2405ea81769SAl Viro boolean 2415ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 242ee36c2bfSAl Viro default y 243ee36c2bfSAl Viro 244411f0f3eSHeiko Carstensconfig HAS_DMA 245411f0f3eSHeiko Carstens boolean 246411f0f3eSHeiko Carstens depends on !NO_DMA 247411f0f3eSHeiko Carstens default y 248411f0f3eSHeiko Carstens 249928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 250928923c7SGeert Uytterhoeven bool 251928923c7SGeert Uytterhoeven 252aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 253aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 254aab46da0SRusty Russell help 255aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 256aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 257aab46da0SRusty Russell stack overflow. 258aab46da0SRusty Russell 2598c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 2608c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 2618c384cdeSRusty Russell depends on EXPERIMENTAL && BROKEN 2628c384cdeSRusty Russell 263c39649c3SBen Hutchingsconfig CPU_RMAP 264c39649c3SBen Hutchings bool 265c39649c3SBen Hutchings depends on SMP 266c39649c3SBen Hutchings 26775957ba3STom Herbertconfig DQL 26875957ba3STom Herbert bool 26975957ba3STom Herbert 270e9cc8bddSGeert Uytterhoeven# 271e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 272e9cc8bddSGeert Uytterhoeven# 273e9cc8bddSGeert Uytterhoevenconfig NLATTR 274e9cc8bddSGeert Uytterhoeven bool 275e9cc8bddSGeert Uytterhoeven 27609d4e0edSPaul Mackerras# 27709d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 27809d4e0edSPaul Mackerras# 27909d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 28009d4e0edSPaul Mackerras bool 28109d4e0edSPaul Mackerras 282b411b363SPhilipp Reisnerconfig LRU_CACHE 283b411b363SPhilipp Reisner tristate 284b411b363SPhilipp Reisner 285c5485a7eSBruno Randolfconfig AVERAGE 286a7a9a24dSMichael Buesch bool "Averaging functions" 287a7a9a24dSMichael Buesch help 288a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 289a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 290a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 291a7a9a24dSMichael Buesch functions require Y here. 292a7a9a24dSMichael Buesch 293a7a9a24dSMichael Buesch If unsure, say N. 294c5485a7eSBruno Randolf 295c6df4b17SDavid Millerconfig CLZ_TAB 296c6df4b17SDavid Miller bool 297c6df4b17SDavid Miller 29810f8113eSArend van Sprielconfig CORDIC 299d89ce936SMichael Witten tristate "CORDIC algorithm" 30010f8113eSArend van Spriel help 301435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 302435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 30310f8113eSArend van Spriel 304d9c46b18SDmitry Kasatkinconfig MPILIB 3052e5f094bSDmitry Kasatkin tristate 306c6df4b17SDavid Miller select CLZ_TAB 307d9c46b18SDmitry Kasatkin help 308d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 309d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 310d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 311d9c46b18SDmitry Kasatkin 3127e8dec91SDmitry Kasatkinconfig MPILIB_EXTRA 3132e5f094bSDmitry Kasatkin bool 3147e8dec91SDmitry Kasatkin depends on MPILIB 3157e8dec91SDmitry Kasatkin help 31668adcad5SDmitry Kasatkin Additional sources of multiprecision maths library from GnuPG. 31768adcad5SDmitry Kasatkin This code is unnecessary for RSA digital signature verification, 31868adcad5SDmitry Kasatkin but can be compiled if needed. 3197e8dec91SDmitry Kasatkin 3205e8898e9SDmitry Kasatkinconfig SIGNATURE 3212e5f094bSDmitry Kasatkin tristate 322be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 323be440ec7SDmitry Kasatkin select CRYPTO_SHA1 324051dbb91SDmitry Kasatkin select MPILIB 325051dbb91SDmitry Kasatkin help 326051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 327051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 328051dbb91SDmitry Kasatkin 3292de4ff7bSThomas Grafendmenu 330