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 32087fafd1SRichard Weinbergerconfig GENERIC_IO 33087fafd1SRichard Weinberger boolean 34087fafd1SRichard Weinberger default n 35087fafd1SRichard Weinberger 361da177e4SLinus Torvaldsconfig CRC_CCITT 371da177e4SLinus Torvalds tristate "CRC-CCITT functions" 381da177e4SLinus Torvalds help 391da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 401da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 411da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 421da177e4SLinus Torvalds functions require M here. 431da177e4SLinus Torvalds 447657ec1fSEvgeniy Polyakovconfig CRC16 457657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 467657ec1fSEvgeniy Polyakov help 477657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 487657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 497657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 507657ec1fSEvgeniy Polyakov functions require M here. 517657ec1fSEvgeniy Polyakov 52f11f594eSMartin K. Petersenconfig CRC_T10DIF 53f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 54f11f594eSMartin K. Petersen help 55f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 56f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 57f11f594eSMartin K. Petersen SCSI data integrity subsystem. 58f11f594eSMartin K. Petersen 593e7cbae7SIvo van Doornconfig CRC_ITU_T 603e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 613e7cbae7SIvo van Doorn help 623e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 633e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 643e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 653e7cbae7SIvo van Doorn functions require M here. 663e7cbae7SIvo van Doorn 671da177e4SLinus Torvaldsconfig CRC32 6846c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 691da177e4SLinus Torvalds default y 70906d66dfSAkinobu Mita select BITREVERSE 711da177e4SLinus Torvalds help 721da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 7346c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 7446c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 7546c5801eSDarrick J. Wong functions require M here. 761da177e4SLinus Torvalds 773863ef31SBob Pearsonconfig CRC32_SELFTEST 783863ef31SBob Pearson bool "CRC32 perform self test on init" 793863ef31SBob Pearson default n 803863ef31SBob Pearson depends on CRC32 813863ef31SBob Pearson help 823863ef31SBob Pearson This option enables the CRC32 library functions to perform a 833863ef31SBob Pearson self test on initialization. The self test computes crc32_le 843863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 853863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 863863ef31SBob Pearson 875cde7656SDarrick J. Wongchoice 885cde7656SDarrick J. Wong prompt "CRC32 implementation" 895cde7656SDarrick J. Wong depends on CRC32 905cde7656SDarrick J. Wong default CRC32_SLICEBY8 9182edb4baSDarrick J. Wong help 9282edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 9382edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 9482edb4baSDarrick J. Wong know that you need one of the others. 955cde7656SDarrick J. Wong 965cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 975cde7656SDarrick J. Wong bool "Slice by 8 bytes" 985cde7656SDarrick J. Wong help 995cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1005cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1015cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1025cde7656SDarrick J. Wong thrashing the cache. 1035cde7656SDarrick J. Wong 1045cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1055cde7656SDarrick J. Wong you have a good reason not to. 1065cde7656SDarrick J. Wong 1075cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1085cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1095cde7656SDarrick J. Wong help 1105cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1115cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1125cde7656SDarrick J. Wong table. 1135cde7656SDarrick J. Wong 1145cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1155cde7656SDarrick J. Wong 1165cde7656SDarrick J. Wongconfig CRC32_SARWATE 1175cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1185cde7656SDarrick J. Wong help 1195cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1205cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1215cde7656SDarrick J. Wong 1225cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1235cde7656SDarrick J. Wong 1245cde7656SDarrick J. Wongconfig CRC32_BIT 1255cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1265cde7656SDarrick J. Wong help 1275cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1285cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1295cde7656SDarrick J. Wong 1305cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1315cde7656SDarrick J. Wong 1325cde7656SDarrick J. Wongendchoice 1335cde7656SDarrick J. Wong 134ad241528SJan Nikitenkoconfig CRC7 135ad241528SJan Nikitenko tristate "CRC7 functions" 136ad241528SJan Nikitenko help 137ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 138ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 139ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 140ad241528SJan Nikitenko functions require M here. 141ad241528SJan Nikitenko 1421da177e4SLinus Torvaldsconfig LIBCRC32C 1431da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 14493027354SHerbert Xu select CRYPTO 14569c35efcSHerbert Xu select CRYPTO_CRC32C 1461da177e4SLinus Torvalds help 1471da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 1481da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 1491da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 1501da177e4SLinus Torvalds require M here. See Castagnoli93. 1511da177e4SLinus Torvalds Module will be libcrc32c. 1521da177e4SLinus Torvalds 1537150962dSArend van Sprielconfig CRC8 1547150962dSArend van Spriel tristate "CRC8 function" 1557150962dSArend van Spriel help 1567150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 1577150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 1587150962dSArend van Spriel algorithm. Module will be called crc8. 1597150962dSArend van Spriel 160e65e1fc2SAl Viroconfig AUDIT_GENERIC 161e65e1fc2SAl Viro bool 162e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 163e65e1fc2SAl Viro default y 164e65e1fc2SAl Viro 1651da177e4SLinus Torvalds# 1661da177e4SLinus Torvalds# compression support is select'ed if needed 1671da177e4SLinus Torvalds# 1681da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1691da177e4SLinus Torvalds tristate 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1721da177e4SLinus Torvalds tristate 1731da177e4SLinus Torvalds 17464c70b1cSRichard Purdieconfig LZO_COMPRESS 17564c70b1cSRichard Purdie tristate 17664c70b1cSRichard Purdie 17764c70b1cSRichard Purdieconfig LZO_DECOMPRESS 17864c70b1cSRichard Purdie tristate 17964c70b1cSRichard Purdie 18024fa0402SLasse Collinsource "lib/xz/Kconfig" 18124fa0402SLasse Collin 1821da177e4SLinus Torvalds# 183c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 184c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 185c8531ab3SH. Peter Anvin# 186c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1877856a16eSH. Peter Anvin select ZLIB_INFLATE 188c8531ab3SH. Peter Anvin tristate 189c8531ab3SH. Peter Anvin 190c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 191c8531ab3SH. Peter Anvin tristate 192c8531ab3SH. Peter Anvin 193c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 194c8531ab3SH. Peter Anvin tristate 195c8531ab3SH. Peter Anvin 1963ebe1243SLasse Collinconfig DECOMPRESS_XZ 1973ebe1243SLasse Collin select XZ_DEC 1983ebe1243SLasse Collin tristate 1993ebe1243SLasse Collin 200cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 201cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 202cacb246fSAlbin Tonnerre tristate 203cacb246fSAlbin Tonnerre 204c8531ab3SH. Peter Anvin# 205f14f75b8SJes Sorensen# Generic allocator support is selected if needed 206f14f75b8SJes Sorensen# 207f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 208f14f75b8SJes Sorensen boolean 209f14f75b8SJes Sorensen 210f14f75b8SJes Sorensen# 2111da177e4SLinus Torvalds# reed solomon support is select'ed if needed 2121da177e4SLinus Torvalds# 2131da177e4SLinus Torvaldsconfig REED_SOLOMON 2141da177e4SLinus Torvalds tristate 2151da177e4SLinus Torvalds 2161da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 2171da177e4SLinus Torvalds boolean 2181da177e4SLinus Torvalds 2191da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 2201da177e4SLinus Torvalds boolean 2211da177e4SLinus Torvalds 2221da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 2231da177e4SLinus Torvalds boolean 2241da177e4SLinus Torvalds 2251da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 2261da177e4SLinus Torvalds boolean 2271da177e4SLinus Torvalds 228f7704347SDavid S. Miller# 229437aa565SIvan Djelic# BCH support is selected if needed 230437aa565SIvan Djelic# 231437aa565SIvan Djelicconfig BCH 232437aa565SIvan Djelic tristate 233437aa565SIvan Djelic 234437aa565SIvan Djelicconfig BCH_CONST_PARAMS 235437aa565SIvan Djelic boolean 236437aa565SIvan Djelic help 237437aa565SIvan Djelic Drivers may select this option to force specific constant 238437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 239437aa565SIvan Djelic (error correction capability). Those specific values must 240437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 241437aa565SIvan Djelic and BCH_CONST_T. 242437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 243437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 244437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 245437aa565SIvan Djelic When this option is selected, the BCH library supports 246437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 247437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 248437aa565SIvan Djelic parameters. 249437aa565SIvan Djelic 250437aa565SIvan Djelicconfig BCH_CONST_M 251437aa565SIvan Djelic int 252437aa565SIvan Djelic range 5 15 253437aa565SIvan Djelic help 254437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 255437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 256437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 257437aa565SIvan Djelic Drivers should declare a default value for this symbol if 258437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 259437aa565SIvan Djelic 260437aa565SIvan Djelicconfig BCH_CONST_T 261437aa565SIvan Djelic int 262437aa565SIvan Djelic help 263437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 264437aa565SIvan Djelic Drivers should declare a default value for this symbol if 265437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 266437aa565SIvan Djelic 267437aa565SIvan Djelic# 268f7704347SDavid S. Miller# Textsearch support is select'ed if needed 269f7704347SDavid S. Miller# 2702de4ff7bSThomas Grafconfig TEXTSEARCH 271f7704347SDavid S. Miller boolean 2721da177e4SLinus Torvalds 273df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 274f7704347SDavid S. Miller tristate 275df3fb93aSThomas Graf 2768082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 27729cb9f9cSDavid S. Miller tristate 2788082e4edSPablo Neira Ayuso 2796408f79cSThomas Grafconfig TEXTSEARCH_FSM 280f7704347SDavid S. Miller tristate 2816408f79cSThomas Graf 2825db53f3eSJoern Engelconfig BTREE 2835db53f3eSJoern Engel boolean 2845db53f3eSJoern Engel 2855ea81769SAl Viroconfig HAS_IOMEM 286ee36c2bfSAl Viro boolean 2875ea81769SAl Viro depends on !NO_IOMEM 288087fafd1SRichard Weinberger select GENERIC_IO 2895ea81769SAl Viro default y 2905ea81769SAl Viro 2915ea81769SAl Viroconfig HAS_IOPORT 2925ea81769SAl Viro boolean 2935ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 294ee36c2bfSAl Viro default y 295ee36c2bfSAl Viro 296411f0f3eSHeiko Carstensconfig HAS_DMA 297411f0f3eSHeiko Carstens boolean 298411f0f3eSHeiko Carstens depends on !NO_DMA 299411f0f3eSHeiko Carstens default y 300411f0f3eSHeiko Carstens 301928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 302928923c7SGeert Uytterhoeven bool 303928923c7SGeert Uytterhoeven 304aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 305aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 306aab46da0SRusty Russell help 307aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 308aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 309aab46da0SRusty Russell stack overflow. 310aab46da0SRusty Russell 3118c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 3128c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 3138c384cdeSRusty Russell depends on EXPERIMENTAL && BROKEN 3148c384cdeSRusty Russell 315c39649c3SBen Hutchingsconfig CPU_RMAP 316c39649c3SBen Hutchings bool 317c39649c3SBen Hutchings depends on SMP 318c39649c3SBen Hutchings 31975957ba3STom Herbertconfig DQL 32075957ba3STom Herbert bool 32175957ba3STom Herbert 322e9cc8bddSGeert Uytterhoeven# 323e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 324e9cc8bddSGeert Uytterhoeven# 325e9cc8bddSGeert Uytterhoevenconfig NLATTR 326e9cc8bddSGeert Uytterhoeven bool 327e9cc8bddSGeert Uytterhoeven 32809d4e0edSPaul Mackerras# 32909d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 33009d4e0edSPaul Mackerras# 33109d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 33209d4e0edSPaul Mackerras bool 33309d4e0edSPaul Mackerras 334b411b363SPhilipp Reisnerconfig LRU_CACHE 335b411b363SPhilipp Reisner tristate 336b411b363SPhilipp Reisner 337c5485a7eSBruno Randolfconfig AVERAGE 338a7a9a24dSMichael Buesch bool "Averaging functions" 339a7a9a24dSMichael Buesch help 340a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 341a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 342a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 343a7a9a24dSMichael Buesch functions require Y here. 344a7a9a24dSMichael Buesch 345a7a9a24dSMichael Buesch If unsure, say N. 346c5485a7eSBruno Randolf 347c6df4b17SDavid Millerconfig CLZ_TAB 348c6df4b17SDavid Miller bool 349c6df4b17SDavid Miller 35010f8113eSArend van Sprielconfig CORDIC 351d89ce936SMichael Witten tristate "CORDIC algorithm" 35210f8113eSArend van Spriel help 353435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 354435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 35510f8113eSArend van Spriel 356*9c1c21a0SAneesh Vconfig DDR 357*9c1c21a0SAneesh V bool "JEDEC DDR data" 358*9c1c21a0SAneesh V help 359*9c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 360*9c1c21a0SAneesh V particularly the AC timing parameters and addressing 361*9c1c21a0SAneesh V information. This data is useful for drivers handling 362*9c1c21a0SAneesh V DDR SDRAM controllers. 363*9c1c21a0SAneesh V 364d9c46b18SDmitry Kasatkinconfig MPILIB 3652e5f094bSDmitry Kasatkin tristate 366c6df4b17SDavid Miller select CLZ_TAB 367d9c46b18SDmitry Kasatkin help 368d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 369d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 370d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 371d9c46b18SDmitry Kasatkin 3727e8dec91SDmitry Kasatkinconfig MPILIB_EXTRA 3732e5f094bSDmitry Kasatkin bool 3747e8dec91SDmitry Kasatkin depends on MPILIB 3757e8dec91SDmitry Kasatkin help 37668adcad5SDmitry Kasatkin Additional sources of multiprecision maths library from GnuPG. 37768adcad5SDmitry Kasatkin This code is unnecessary for RSA digital signature verification, 37868adcad5SDmitry Kasatkin but can be compiled if needed. 3797e8dec91SDmitry Kasatkin 3805e8898e9SDmitry Kasatkinconfig SIGNATURE 3812e5f094bSDmitry Kasatkin tristate 382be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 383be440ec7SDmitry Kasatkin select CRYPTO_SHA1 384051dbb91SDmitry Kasatkin select MPILIB 385051dbb91SDmitry Kasatkin help 386051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 387051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 388051dbb91SDmitry Kasatkin 3892de4ff7bSThomas Grafendmenu 390