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 192922585bSDavid S. Millerconfig GENERIC_STRNCPY_FROM_USER 202922585bSDavid S. Miller bool 212922585bSDavid S. Miller 22a08c5356SLinus Torvaldsconfig GENERIC_STRNLEN_USER 23a08c5356SLinus Torvalds bool 24a08c5356SLinus Torvalds 25*4cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 26*4cd5773aSAndy Shevchenko bool 27*4cd5773aSAndy Shevchenko 2819870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 299ba16087SJan Beulich bool 3019870defSAlexander van Heukelum 31b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 32b923650bSMichael S. Tsirkin bool 33b923650bSMichael S. Tsirkin 3466eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 3566eab4dfSMichael S. Tsirkin bool 3666eab4dfSMichael S. Tsirkin 374673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 384673ca8eSMichael S. Tsirkin bool 3966eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 404673ca8eSMichael S. Tsirkin 41087fafd1SRichard Weinbergerconfig GENERIC_IO 42087fafd1SRichard Weinberger boolean 43087fafd1SRichard Weinberger default n 44087fafd1SRichard Weinberger 454ccf4beaSWolfram Sangconfig STMP_DEVICE 464ccf4beaSWolfram Sang bool 474ccf4beaSWolfram Sang 4822b361d1SOleg Nesterovconfig PERCPU_RWSEM 4922b361d1SOleg Nesterov boolean 5022b361d1SOleg Nesterov 511da177e4SLinus Torvaldsconfig CRC_CCITT 521da177e4SLinus Torvalds tristate "CRC-CCITT functions" 531da177e4SLinus Torvalds help 541da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 551da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 561da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 571da177e4SLinus Torvalds functions require M here. 581da177e4SLinus Torvalds 597657ec1fSEvgeniy Polyakovconfig CRC16 607657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 617657ec1fSEvgeniy Polyakov help 627657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 637657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 647657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 657657ec1fSEvgeniy Polyakov functions require M here. 667657ec1fSEvgeniy Polyakov 67f11f594eSMartin K. Petersenconfig CRC_T10DIF 68f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 69f11f594eSMartin K. Petersen help 70f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 71f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 72f11f594eSMartin K. Petersen SCSI data integrity subsystem. 73f11f594eSMartin K. Petersen 743e7cbae7SIvo van Doornconfig CRC_ITU_T 753e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 763e7cbae7SIvo van Doorn help 773e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 783e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 793e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 803e7cbae7SIvo van Doorn functions require M here. 813e7cbae7SIvo van Doorn 821da177e4SLinus Torvaldsconfig CRC32 8346c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 841da177e4SLinus Torvalds default y 85906d66dfSAkinobu Mita select BITREVERSE 861da177e4SLinus Torvalds help 871da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 8846c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 8946c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 9046c5801eSDarrick J. Wong functions require M here. 911da177e4SLinus Torvalds 923863ef31SBob Pearsonconfig CRC32_SELFTEST 933863ef31SBob Pearson bool "CRC32 perform self test on init" 943863ef31SBob Pearson default n 953863ef31SBob Pearson depends on CRC32 963863ef31SBob Pearson help 973863ef31SBob Pearson This option enables the CRC32 library functions to perform a 983863ef31SBob Pearson self test on initialization. The self test computes crc32_le 993863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 1003863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 1013863ef31SBob Pearson 1025cde7656SDarrick J. Wongchoice 1035cde7656SDarrick J. Wong prompt "CRC32 implementation" 1045cde7656SDarrick J. Wong depends on CRC32 1055cde7656SDarrick J. Wong default CRC32_SLICEBY8 10682edb4baSDarrick J. Wong help 10782edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 10882edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 10982edb4baSDarrick J. Wong know that you need one of the others. 1105cde7656SDarrick J. Wong 1115cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1125cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1135cde7656SDarrick J. Wong help 1145cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1155cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1165cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1175cde7656SDarrick J. Wong thrashing the cache. 1185cde7656SDarrick J. Wong 1195cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1205cde7656SDarrick J. Wong you have a good reason not to. 1215cde7656SDarrick J. Wong 1225cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1235cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1245cde7656SDarrick J. Wong help 1255cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1265cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1275cde7656SDarrick J. Wong table. 1285cde7656SDarrick J. Wong 1295cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1305cde7656SDarrick J. Wong 1315cde7656SDarrick J. Wongconfig CRC32_SARWATE 1325cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1335cde7656SDarrick J. Wong help 1345cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1355cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1365cde7656SDarrick J. Wong 1375cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1385cde7656SDarrick J. Wong 1395cde7656SDarrick J. Wongconfig CRC32_BIT 1405cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1415cde7656SDarrick J. Wong help 1425cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1435cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1445cde7656SDarrick J. Wong 1455cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1465cde7656SDarrick J. Wong 1475cde7656SDarrick J. Wongendchoice 1485cde7656SDarrick J. Wong 149ad241528SJan Nikitenkoconfig CRC7 150ad241528SJan Nikitenko tristate "CRC7 functions" 151ad241528SJan Nikitenko help 152ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 153ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 154ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 155ad241528SJan Nikitenko functions require M here. 156ad241528SJan Nikitenko 1571da177e4SLinus Torvaldsconfig LIBCRC32C 1581da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 15993027354SHerbert Xu select CRYPTO 16069c35efcSHerbert Xu select CRYPTO_CRC32C 1611da177e4SLinus Torvalds help 1621da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 1631da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 1641da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 1651da177e4SLinus Torvalds require M here. See Castagnoli93. 1661da177e4SLinus Torvalds Module will be libcrc32c. 1671da177e4SLinus Torvalds 1687150962dSArend van Sprielconfig CRC8 1697150962dSArend van Spriel tristate "CRC8 function" 1707150962dSArend van Spriel help 1717150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 1727150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 1737150962dSArend van Spriel algorithm. Module will be called crc8. 1747150962dSArend van Spriel 175e65e1fc2SAl Viroconfig AUDIT_GENERIC 176e65e1fc2SAl Viro bool 177e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 178e65e1fc2SAl Viro default y 179e65e1fc2SAl Viro 1801da177e4SLinus Torvalds# 1811da177e4SLinus Torvalds# compression support is select'ed if needed 1821da177e4SLinus Torvalds# 1831da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1841da177e4SLinus Torvalds tristate 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1871da177e4SLinus Torvalds tristate 1881da177e4SLinus Torvalds 18964c70b1cSRichard Purdieconfig LZO_COMPRESS 19064c70b1cSRichard Purdie tristate 19164c70b1cSRichard Purdie 19264c70b1cSRichard Purdieconfig LZO_DECOMPRESS 19364c70b1cSRichard Purdie tristate 19464c70b1cSRichard Purdie 19524fa0402SLasse Collinsource "lib/xz/Kconfig" 19624fa0402SLasse Collin 1971da177e4SLinus Torvalds# 198c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 199c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 200c8531ab3SH. Peter Anvin# 201c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 2027856a16eSH. Peter Anvin select ZLIB_INFLATE 203c8531ab3SH. Peter Anvin tristate 204c8531ab3SH. Peter Anvin 205c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 206c8531ab3SH. Peter Anvin tristate 207c8531ab3SH. Peter Anvin 208c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 209c8531ab3SH. Peter Anvin tristate 210c8531ab3SH. Peter Anvin 2113ebe1243SLasse Collinconfig DECOMPRESS_XZ 2123ebe1243SLasse Collin select XZ_DEC 2133ebe1243SLasse Collin tristate 2143ebe1243SLasse Collin 215cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 216cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 217cacb246fSAlbin Tonnerre tristate 218cacb246fSAlbin Tonnerre 219c8531ab3SH. Peter Anvin# 220f14f75b8SJes Sorensen# Generic allocator support is selected if needed 221f14f75b8SJes Sorensen# 222f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 223f14f75b8SJes Sorensen boolean 224f14f75b8SJes Sorensen 225f14f75b8SJes Sorensen# 2261da177e4SLinus Torvalds# reed solomon support is select'ed if needed 2271da177e4SLinus Torvalds# 2281da177e4SLinus Torvaldsconfig REED_SOLOMON 2291da177e4SLinus Torvalds tristate 2301da177e4SLinus Torvalds 2311da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 2321da177e4SLinus Torvalds boolean 2331da177e4SLinus Torvalds 2341da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 2351da177e4SLinus Torvalds boolean 2361da177e4SLinus Torvalds 2371da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 2381da177e4SLinus Torvalds boolean 2391da177e4SLinus Torvalds 2401da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 2411da177e4SLinus Torvalds boolean 2421da177e4SLinus Torvalds 243f7704347SDavid S. Miller# 244437aa565SIvan Djelic# BCH support is selected if needed 245437aa565SIvan Djelic# 246437aa565SIvan Djelicconfig BCH 247437aa565SIvan Djelic tristate 248437aa565SIvan Djelic 249437aa565SIvan Djelicconfig BCH_CONST_PARAMS 250437aa565SIvan Djelic boolean 251437aa565SIvan Djelic help 252437aa565SIvan Djelic Drivers may select this option to force specific constant 253437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 254437aa565SIvan Djelic (error correction capability). Those specific values must 255437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 256437aa565SIvan Djelic and BCH_CONST_T. 257437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 258437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 259437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 260437aa565SIvan Djelic When this option is selected, the BCH library supports 261437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 262437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 263437aa565SIvan Djelic parameters. 264437aa565SIvan Djelic 265437aa565SIvan Djelicconfig BCH_CONST_M 266437aa565SIvan Djelic int 267437aa565SIvan Djelic range 5 15 268437aa565SIvan Djelic help 269437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 270437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 271437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 272437aa565SIvan Djelic Drivers should declare a default value for this symbol if 273437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 274437aa565SIvan Djelic 275437aa565SIvan Djelicconfig BCH_CONST_T 276437aa565SIvan Djelic int 277437aa565SIvan Djelic help 278437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 279437aa565SIvan Djelic Drivers should declare a default value for this symbol if 280437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 281437aa565SIvan Djelic 282437aa565SIvan Djelic# 283f7704347SDavid S. Miller# Textsearch support is select'ed if needed 284f7704347SDavid S. Miller# 2852de4ff7bSThomas Grafconfig TEXTSEARCH 286f7704347SDavid S. Miller boolean 2871da177e4SLinus Torvalds 288df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 289f7704347SDavid S. Miller tristate 290df3fb93aSThomas Graf 2918082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 29229cb9f9cSDavid S. Miller tristate 2938082e4edSPablo Neira Ayuso 2946408f79cSThomas Grafconfig TEXTSEARCH_FSM 295f7704347SDavid S. Miller tristate 2966408f79cSThomas Graf 2975db53f3eSJoern Engelconfig BTREE 2985db53f3eSJoern Engel boolean 2995db53f3eSJoern Engel 3005ea81769SAl Viroconfig HAS_IOMEM 301ee36c2bfSAl Viro boolean 3025ea81769SAl Viro depends on !NO_IOMEM 303087fafd1SRichard Weinberger select GENERIC_IO 3045ea81769SAl Viro default y 3055ea81769SAl Viro 3065ea81769SAl Viroconfig HAS_IOPORT 3075ea81769SAl Viro boolean 3085ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 309ee36c2bfSAl Viro default y 310ee36c2bfSAl Viro 311411f0f3eSHeiko Carstensconfig HAS_DMA 312411f0f3eSHeiko Carstens boolean 313411f0f3eSHeiko Carstens depends on !NO_DMA 314411f0f3eSHeiko Carstens default y 315411f0f3eSHeiko Carstens 316928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 317928923c7SGeert Uytterhoeven bool 318928923c7SGeert Uytterhoeven 319aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 320aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 321aab46da0SRusty Russell help 322aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 323aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 324aab46da0SRusty Russell stack overflow. 325aab46da0SRusty Russell 3268c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 3278c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 328525c1f92SKees Cook depends on BROKEN 3298c384cdeSRusty Russell 330c39649c3SBen Hutchingsconfig CPU_RMAP 331c39649c3SBen Hutchings bool 332c39649c3SBen Hutchings depends on SMP 333c39649c3SBen Hutchings 33475957ba3STom Herbertconfig DQL 33575957ba3STom Herbert bool 33675957ba3STom Herbert 337e9cc8bddSGeert Uytterhoeven# 338e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 339e9cc8bddSGeert Uytterhoeven# 340e9cc8bddSGeert Uytterhoevenconfig NLATTR 341e9cc8bddSGeert Uytterhoeven bool 342e9cc8bddSGeert Uytterhoeven 34309d4e0edSPaul Mackerras# 34409d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 34509d4e0edSPaul Mackerras# 34609d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 34709d4e0edSPaul Mackerras bool 34809d4e0edSPaul Mackerras 3497463449bSCatalin Marinasconfig ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 3507463449bSCatalin Marinas def_bool y if GENERIC_ATOMIC64 3517463449bSCatalin Marinas 352b411b363SPhilipp Reisnerconfig LRU_CACHE 353b411b363SPhilipp Reisner tristate 354b411b363SPhilipp Reisner 355c5485a7eSBruno Randolfconfig AVERAGE 356a7a9a24dSMichael Buesch bool "Averaging functions" 357a7a9a24dSMichael Buesch help 358a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 359a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 360a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 361a7a9a24dSMichael Buesch functions require Y here. 362a7a9a24dSMichael Buesch 363a7a9a24dSMichael Buesch If unsure, say N. 364c5485a7eSBruno Randolf 365c6df4b17SDavid Millerconfig CLZ_TAB 366c6df4b17SDavid Miller bool 367c6df4b17SDavid Miller 36810f8113eSArend van Sprielconfig CORDIC 369d89ce936SMichael Witten tristate "CORDIC algorithm" 37010f8113eSArend van Spriel help 371435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 372435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 37310f8113eSArend van Spriel 3749c1c21a0SAneesh Vconfig DDR 3759c1c21a0SAneesh V bool "JEDEC DDR data" 3769c1c21a0SAneesh V help 3779c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 3789c1c21a0SAneesh V particularly the AC timing parameters and addressing 3799c1c21a0SAneesh V information. This data is useful for drivers handling 3809c1c21a0SAneesh V DDR SDRAM controllers. 3819c1c21a0SAneesh V 382d9c46b18SDmitry Kasatkinconfig MPILIB 3832e5f094bSDmitry Kasatkin tristate 384c6df4b17SDavid Miller select CLZ_TAB 385d9c46b18SDmitry Kasatkin help 386d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 387d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 388d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 389d9c46b18SDmitry Kasatkin 3905e8898e9SDmitry Kasatkinconfig SIGNATURE 3912e5f094bSDmitry Kasatkin tristate 392be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 393be440ec7SDmitry Kasatkin select CRYPTO_SHA1 394051dbb91SDmitry Kasatkin select MPILIB 395051dbb91SDmitry Kasatkin help 396051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 397051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 398051dbb91SDmitry Kasatkin 399ab253839SDavid Daney# 400ab253839SDavid Daney# libfdt files, only selected if needed. 401ab253839SDavid Daney# 402ab253839SDavid Daneyconfig LIBFDT 403ab253839SDavid Daney bool 404ab253839SDavid Daney 405a77ad6eaSDavid Howellsconfig OID_REGISTRY 406a77ad6eaSDavid Howells tristate 407a77ad6eaSDavid Howells help 408a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 409a77ad6eaSDavid Howells 4100635eb8aSMatthew Garrettconfig UCS2_STRING 4110635eb8aSMatthew Garrett tristate 4120635eb8aSMatthew Garrett 4132de4ff7bSThomas Grafendmenu 414