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 2519870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 269ba16087SJan Beulich bool 2719870defSAlexander van Heukelum 28b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 29b923650bSMichael S. Tsirkin bool 30b923650bSMichael S. Tsirkin 3166eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 3266eab4dfSMichael S. Tsirkin bool 3366eab4dfSMichael S. Tsirkin 344673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 354673ca8eSMichael S. Tsirkin bool 3666eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 374673ca8eSMichael S. Tsirkin 38087fafd1SRichard Weinbergerconfig GENERIC_IO 39087fafd1SRichard Weinberger boolean 40087fafd1SRichard Weinberger default n 41087fafd1SRichard Weinberger 424ccf4beaSWolfram Sangconfig STMP_DEVICE 434ccf4beaSWolfram Sang bool 444ccf4beaSWolfram Sang 4522b361d1SOleg Nesterovconfig PERCPU_RWSEM 4622b361d1SOleg Nesterov boolean 4722b361d1SOleg Nesterov 481da177e4SLinus Torvaldsconfig CRC_CCITT 491da177e4SLinus Torvalds tristate "CRC-CCITT functions" 501da177e4SLinus Torvalds help 511da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 521da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 531da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 541da177e4SLinus Torvalds functions require M here. 551da177e4SLinus Torvalds 567657ec1fSEvgeniy Polyakovconfig CRC16 577657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 587657ec1fSEvgeniy Polyakov help 597657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 607657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 617657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 627657ec1fSEvgeniy Polyakov functions require M here. 637657ec1fSEvgeniy Polyakov 64f11f594eSMartin K. Petersenconfig CRC_T10DIF 65f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 66f11f594eSMartin K. Petersen help 67f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 68f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 69f11f594eSMartin K. Petersen SCSI data integrity subsystem. 70f11f594eSMartin K. Petersen 713e7cbae7SIvo van Doornconfig CRC_ITU_T 723e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 733e7cbae7SIvo van Doorn help 743e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 753e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 763e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 773e7cbae7SIvo van Doorn functions require M here. 783e7cbae7SIvo van Doorn 791da177e4SLinus Torvaldsconfig CRC32 8046c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 811da177e4SLinus Torvalds default y 82906d66dfSAkinobu Mita select BITREVERSE 831da177e4SLinus Torvalds help 841da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 8546c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 8646c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 8746c5801eSDarrick J. Wong functions require M here. 881da177e4SLinus Torvalds 893863ef31SBob Pearsonconfig CRC32_SELFTEST 903863ef31SBob Pearson bool "CRC32 perform self test on init" 913863ef31SBob Pearson default n 923863ef31SBob Pearson depends on CRC32 933863ef31SBob Pearson help 943863ef31SBob Pearson This option enables the CRC32 library functions to perform a 953863ef31SBob Pearson self test on initialization. The self test computes crc32_le 963863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 973863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 983863ef31SBob Pearson 995cde7656SDarrick J. Wongchoice 1005cde7656SDarrick J. Wong prompt "CRC32 implementation" 1015cde7656SDarrick J. Wong depends on CRC32 1025cde7656SDarrick J. Wong default CRC32_SLICEBY8 10382edb4baSDarrick J. Wong help 10482edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 10582edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 10682edb4baSDarrick J. Wong know that you need one of the others. 1075cde7656SDarrick J. Wong 1085cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1095cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1105cde7656SDarrick J. Wong help 1115cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1125cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1135cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1145cde7656SDarrick J. Wong thrashing the cache. 1155cde7656SDarrick J. Wong 1165cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1175cde7656SDarrick J. Wong you have a good reason not to. 1185cde7656SDarrick J. Wong 1195cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1205cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1215cde7656SDarrick J. Wong help 1225cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1235cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1245cde7656SDarrick J. Wong table. 1255cde7656SDarrick J. Wong 1265cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1275cde7656SDarrick J. Wong 1285cde7656SDarrick J. Wongconfig CRC32_SARWATE 1295cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1305cde7656SDarrick J. Wong help 1315cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1325cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1335cde7656SDarrick J. Wong 1345cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1355cde7656SDarrick J. Wong 1365cde7656SDarrick J. Wongconfig CRC32_BIT 1375cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1385cde7656SDarrick J. Wong help 1395cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1405cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1415cde7656SDarrick J. Wong 1425cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1435cde7656SDarrick J. Wong 1445cde7656SDarrick J. Wongendchoice 1455cde7656SDarrick J. Wong 146ad241528SJan Nikitenkoconfig CRC7 147ad241528SJan Nikitenko tristate "CRC7 functions" 148ad241528SJan Nikitenko help 149ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 150ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 151ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 152ad241528SJan Nikitenko functions require M here. 153ad241528SJan Nikitenko 1541da177e4SLinus Torvaldsconfig LIBCRC32C 1551da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 15693027354SHerbert Xu select CRYPTO 15769c35efcSHerbert Xu select CRYPTO_CRC32C 1581da177e4SLinus Torvalds help 1591da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 1601da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 1611da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 1621da177e4SLinus Torvalds require M here. See Castagnoli93. 1631da177e4SLinus Torvalds Module will be libcrc32c. 1641da177e4SLinus Torvalds 1657150962dSArend van Sprielconfig CRC8 1667150962dSArend van Spriel tristate "CRC8 function" 1677150962dSArend van Spriel help 1687150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 1697150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 1707150962dSArend van Spriel algorithm. Module will be called crc8. 1717150962dSArend van Spriel 172e65e1fc2SAl Viroconfig AUDIT_GENERIC 173e65e1fc2SAl Viro bool 174e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 175e65e1fc2SAl Viro default y 176e65e1fc2SAl Viro 1771da177e4SLinus Torvalds# 1781da177e4SLinus Torvalds# compression support is select'ed if needed 1791da177e4SLinus Torvalds# 1801da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1811da177e4SLinus Torvalds tristate 1821da177e4SLinus Torvalds 1831da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1841da177e4SLinus Torvalds tristate 1851da177e4SLinus Torvalds 18664c70b1cSRichard Purdieconfig LZO_COMPRESS 18764c70b1cSRichard Purdie tristate 18864c70b1cSRichard Purdie 18964c70b1cSRichard Purdieconfig LZO_DECOMPRESS 19064c70b1cSRichard Purdie tristate 19164c70b1cSRichard Purdie 19224fa0402SLasse Collinsource "lib/xz/Kconfig" 19324fa0402SLasse Collin 1941da177e4SLinus Torvalds# 195c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 196c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 197c8531ab3SH. Peter Anvin# 198c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1997856a16eSH. Peter Anvin select ZLIB_INFLATE 200c8531ab3SH. Peter Anvin tristate 201c8531ab3SH. Peter Anvin 202c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 203c8531ab3SH. Peter Anvin tristate 204c8531ab3SH. Peter Anvin 205c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 206c8531ab3SH. Peter Anvin tristate 207c8531ab3SH. Peter Anvin 2083ebe1243SLasse Collinconfig DECOMPRESS_XZ 2093ebe1243SLasse Collin select XZ_DEC 2103ebe1243SLasse Collin tristate 2113ebe1243SLasse Collin 212cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 213cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 214cacb246fSAlbin Tonnerre tristate 215cacb246fSAlbin Tonnerre 216c8531ab3SH. Peter Anvin# 217f14f75b8SJes Sorensen# Generic allocator support is selected if needed 218f14f75b8SJes Sorensen# 219f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 220f14f75b8SJes Sorensen boolean 221f14f75b8SJes Sorensen 222f14f75b8SJes Sorensen# 2231da177e4SLinus Torvalds# reed solomon support is select'ed if needed 2241da177e4SLinus Torvalds# 2251da177e4SLinus Torvaldsconfig REED_SOLOMON 2261da177e4SLinus Torvalds tristate 2271da177e4SLinus Torvalds 2281da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 2291da177e4SLinus Torvalds boolean 2301da177e4SLinus Torvalds 2311da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 2321da177e4SLinus Torvalds boolean 2331da177e4SLinus Torvalds 2341da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 2351da177e4SLinus Torvalds boolean 2361da177e4SLinus Torvalds 2371da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 2381da177e4SLinus Torvalds boolean 2391da177e4SLinus Torvalds 240f7704347SDavid S. Miller# 241437aa565SIvan Djelic# BCH support is selected if needed 242437aa565SIvan Djelic# 243437aa565SIvan Djelicconfig BCH 244437aa565SIvan Djelic tristate 245437aa565SIvan Djelic 246437aa565SIvan Djelicconfig BCH_CONST_PARAMS 247437aa565SIvan Djelic boolean 248437aa565SIvan Djelic help 249437aa565SIvan Djelic Drivers may select this option to force specific constant 250437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 251437aa565SIvan Djelic (error correction capability). Those specific values must 252437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 253437aa565SIvan Djelic and BCH_CONST_T. 254437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 255437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 256437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 257437aa565SIvan Djelic When this option is selected, the BCH library supports 258437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 259437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 260437aa565SIvan Djelic parameters. 261437aa565SIvan Djelic 262437aa565SIvan Djelicconfig BCH_CONST_M 263437aa565SIvan Djelic int 264437aa565SIvan Djelic range 5 15 265437aa565SIvan Djelic help 266437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 267437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 268437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 269437aa565SIvan Djelic Drivers should declare a default value for this symbol if 270437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 271437aa565SIvan Djelic 272437aa565SIvan Djelicconfig BCH_CONST_T 273437aa565SIvan Djelic int 274437aa565SIvan Djelic help 275437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 276437aa565SIvan Djelic Drivers should declare a default value for this symbol if 277437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 278437aa565SIvan Djelic 279437aa565SIvan Djelic# 280f7704347SDavid S. Miller# Textsearch support is select'ed if needed 281f7704347SDavid S. Miller# 2822de4ff7bSThomas Grafconfig TEXTSEARCH 283f7704347SDavid S. Miller boolean 2841da177e4SLinus Torvalds 285df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 286f7704347SDavid S. Miller tristate 287df3fb93aSThomas Graf 2888082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 28929cb9f9cSDavid S. Miller tristate 2908082e4edSPablo Neira Ayuso 2916408f79cSThomas Grafconfig TEXTSEARCH_FSM 292f7704347SDavid S. Miller tristate 2936408f79cSThomas Graf 2945db53f3eSJoern Engelconfig BTREE 2955db53f3eSJoern Engel boolean 2965db53f3eSJoern Engel 2975ea81769SAl Viroconfig HAS_IOMEM 298ee36c2bfSAl Viro boolean 2995ea81769SAl Viro depends on !NO_IOMEM 300087fafd1SRichard Weinberger select GENERIC_IO 3015ea81769SAl Viro default y 3025ea81769SAl Viro 3035ea81769SAl Viroconfig HAS_IOPORT 3045ea81769SAl Viro boolean 3055ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 306ee36c2bfSAl Viro default y 307ee36c2bfSAl Viro 308411f0f3eSHeiko Carstensconfig HAS_DMA 309411f0f3eSHeiko Carstens boolean 310411f0f3eSHeiko Carstens depends on !NO_DMA 311411f0f3eSHeiko Carstens default y 312411f0f3eSHeiko Carstens 313928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 314928923c7SGeert Uytterhoeven bool 315928923c7SGeert Uytterhoeven 316aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 317aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 318aab46da0SRusty Russell help 319aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 320aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 321aab46da0SRusty Russell stack overflow. 322aab46da0SRusty Russell 3238c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 3248c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 325525c1f92SKees Cook depends on BROKEN 3268c384cdeSRusty Russell 327c39649c3SBen Hutchingsconfig CPU_RMAP 328c39649c3SBen Hutchings bool 329c39649c3SBen Hutchings depends on SMP 330c39649c3SBen Hutchings 33175957ba3STom Herbertconfig DQL 33275957ba3STom Herbert bool 33375957ba3STom Herbert 334e9cc8bddSGeert Uytterhoeven# 335e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 336e9cc8bddSGeert Uytterhoeven# 337e9cc8bddSGeert Uytterhoevenconfig NLATTR 338e9cc8bddSGeert Uytterhoeven bool 339e9cc8bddSGeert Uytterhoeven 34009d4e0edSPaul Mackerras# 34109d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 34209d4e0edSPaul Mackerras# 34309d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 34409d4e0edSPaul Mackerras bool 34509d4e0edSPaul Mackerras 3467463449bSCatalin Marinasconfig ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 3477463449bSCatalin Marinas def_bool y if GENERIC_ATOMIC64 3487463449bSCatalin Marinas 349b411b363SPhilipp Reisnerconfig LRU_CACHE 350b411b363SPhilipp Reisner tristate 351b411b363SPhilipp Reisner 352c5485a7eSBruno Randolfconfig AVERAGE 353a7a9a24dSMichael Buesch bool "Averaging functions" 354a7a9a24dSMichael Buesch help 355a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 356a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 357a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 358a7a9a24dSMichael Buesch functions require Y here. 359a7a9a24dSMichael Buesch 360a7a9a24dSMichael Buesch If unsure, say N. 361c5485a7eSBruno Randolf 362c6df4b17SDavid Millerconfig CLZ_TAB 363c6df4b17SDavid Miller bool 364c6df4b17SDavid Miller 36510f8113eSArend van Sprielconfig CORDIC 366d89ce936SMichael Witten tristate "CORDIC algorithm" 36710f8113eSArend van Spriel help 368435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 369435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 37010f8113eSArend van Spriel 3719c1c21a0SAneesh Vconfig DDR 3729c1c21a0SAneesh V bool "JEDEC DDR data" 3739c1c21a0SAneesh V help 3749c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 3759c1c21a0SAneesh V particularly the AC timing parameters and addressing 3769c1c21a0SAneesh V information. This data is useful for drivers handling 3779c1c21a0SAneesh V DDR SDRAM controllers. 3789c1c21a0SAneesh V 379d9c46b18SDmitry Kasatkinconfig MPILIB 3802e5f094bSDmitry Kasatkin tristate 381c6df4b17SDavid Miller select CLZ_TAB 382d9c46b18SDmitry Kasatkin help 383d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 384d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 385d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 386d9c46b18SDmitry Kasatkin 3875e8898e9SDmitry Kasatkinconfig SIGNATURE 3882e5f094bSDmitry Kasatkin tristate 389be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 390be440ec7SDmitry Kasatkin select CRYPTO_SHA1 391051dbb91SDmitry Kasatkin select MPILIB 392051dbb91SDmitry Kasatkin help 393051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 394051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 395051dbb91SDmitry Kasatkin 396ab253839SDavid Daney# 397ab253839SDavid Daney# libfdt files, only selected if needed. 398ab253839SDavid Daney# 399ab253839SDavid Daneyconfig LIBFDT 400ab253839SDavid Daney bool 401ab253839SDavid Daney 402a77ad6eaSDavid Howellsconfig OID_REGISTRY 403a77ad6eaSDavid Howells tristate 404a77ad6eaSDavid Howells help 405a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 406a77ad6eaSDavid Howells 4070635eb8aSMatthew Garrettconfig UCS2_STRING 4080635eb8aSMatthew Garrett tristate 4090635eb8aSMatthew Garrett 410*ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 411*ee89bd6bSGeert Uytterhoeven 4122de4ff7bSThomas Grafendmenu 413