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 13be85f93aSDaniel Verkampconfig RAID6_PQ_BENCHMARK 14be85f93aSDaniel Verkamp bool "Automatically choose fastest RAID6 PQ functions" 15be85f93aSDaniel Verkamp depends on RAID6_PQ 16be85f93aSDaniel Verkamp default y 17be85f93aSDaniel Verkamp help 18be85f93aSDaniel Verkamp Benchmark all available RAID6 PQ functions on init and choose the 19be85f93aSDaniel Verkamp fastest one. 20be85f93aSDaniel Verkamp 21554aae35SVladimir Olteanconfig PACKING 22554aae35SVladimir Oltean bool "Generic bitfield packing and unpacking" 23554aae35SVladimir Oltean default n 24554aae35SVladimir Oltean help 25554aae35SVladimir Oltean This option provides the packing() helper function, which permits 26554aae35SVladimir Oltean converting bitfields between a CPU-usable representation and a 27554aae35SVladimir Oltean memory representation that can have any combination of these quirks: 28554aae35SVladimir Oltean - Is little endian (bytes are reversed within a 32-bit group) 29554aae35SVladimir Oltean - The least-significant 32-bit word comes first (within a 64-bit 30554aae35SVladimir Oltean group) 31554aae35SVladimir Oltean - The most significant bit of a byte is at its right (bit 0 of a 32554aae35SVladimir Oltean register description is numerically 2^7). 33554aae35SVladimir Oltean Drivers may use these helpers to match the bit indices as described 34554aae35SVladimir Oltean in the data sheets of the peripherals they are in control of. 35554aae35SVladimir Oltean 36554aae35SVladimir Oltean When in doubt, say N. 37554aae35SVladimir Oltean 38a5cfc1ecSAkinobu Mitaconfig BITREVERSE 39a5cfc1ecSAkinobu Mita tristate 40a5cfc1ecSAkinobu Mita 41556d2f05SYalin Wangconfig HAVE_ARCH_BITREVERSE 42841c0090SChristoph Jaeger bool 43556d2f05SYalin Wang default n 44556d2f05SYalin Wang depends on BITREVERSE 45556d2f05SYalin Wang help 469e522c0dSAndrew Morton This option enables the use of hardware bit-reversal instructions on 479e522c0dSAndrew Morton architectures which support such operations. 48556d2f05SYalin Wang 492922585bSDavid S. Millerconfig GENERIC_STRNCPY_FROM_USER 502922585bSDavid S. Miller bool 512922585bSDavid S. Miller 52a08c5356SLinus Torvaldsconfig GENERIC_STRNLEN_USER 53a08c5356SLinus Torvalds bool 54a08c5356SLinus Torvalds 554cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 564cd5773aSAndy Shevchenko bool 574cd5773aSAndy Shevchenko 5819870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 599ba16087SJan Beulich bool 6019870defSAlexander van Heukelum 61*2c64e9cbSAndy Shevchenkosource "lib/math/Kconfig" 62*2c64e9cbSAndy Shevchenko 63b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 64b923650bSMichael S. Tsirkin bool 65b923650bSMichael S. Tsirkin 6666eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 6766eab4dfSMichael S. Tsirkin bool 6866eab4dfSMichael S. Tsirkin 694673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 704673ca8eSMichael S. Tsirkin bool 7166eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 724673ca8eSMichael S. Tsirkin 734ccf4beaSWolfram Sangconfig STMP_DEVICE 744ccf4beaSWolfram Sang bool 754ccf4beaSWolfram Sang 76bc08b449SLinus Torvaldsconfig ARCH_USE_CMPXCHG_LOCKREF 77bc08b449SLinus Torvalds bool 78bc08b449SLinus Torvalds 7972d93104SLinus Torvaldsconfig ARCH_HAS_FAST_MULTIPLIER 8072d93104SLinus Torvalds bool 8172d93104SLinus Torvalds 82031e3601SZhichang Yuanconfig INDIRECT_PIO 83031e3601SZhichang Yuan bool "Access I/O in non-MMIO mode" 84031e3601SZhichang Yuan depends on ARM64 85031e3601SZhichang Yuan help 86031e3601SZhichang Yuan On some platforms where no separate I/O space exists, there are I/O 87031e3601SZhichang Yuan hosts which can not be accessed in MMIO mode. Using the logical PIO 88031e3601SZhichang Yuan mechanism, the host-local I/O resource can be mapped into system 89031e3601SZhichang Yuan logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the 90031e3601SZhichang Yuan system can access the I/O devices with the mapped-logic PIO through 91031e3601SZhichang Yuan I/O accessors. 92031e3601SZhichang Yuan 93031e3601SZhichang Yuan This way has relatively little I/O performance cost. Please make 94031e3601SZhichang Yuan sure your devices really need this configure item enabled. 95031e3601SZhichang Yuan 96031e3601SZhichang Yuan When in doubt, say N. 97031e3601SZhichang Yuan 981da177e4SLinus Torvaldsconfig CRC_CCITT 991da177e4SLinus Torvalds tristate "CRC-CCITT functions" 1001da177e4SLinus Torvalds help 1011da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 1021da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 1031da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 1041da177e4SLinus Torvalds functions require M here. 1051da177e4SLinus Torvalds 1067657ec1fSEvgeniy Polyakovconfig CRC16 1077657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 1087657ec1fSEvgeniy Polyakov help 1097657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 1107657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 1117657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 1127657ec1fSEvgeniy Polyakov functions require M here. 1137657ec1fSEvgeniy Polyakov 114f11f594eSMartin K. Petersenconfig CRC_T10DIF 115f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 11668411521SHerbert Xu select CRYPTO 11768411521SHerbert Xu select CRYPTO_CRCT10DIF 118f11f594eSMartin K. Petersen help 119f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 120f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 121f11f594eSMartin K. Petersen SCSI data integrity subsystem. 122f11f594eSMartin K. Petersen 1233e7cbae7SIvo van Doornconfig CRC_ITU_T 1243e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 1253e7cbae7SIvo van Doorn help 1263e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 1273e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 1283e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 1293e7cbae7SIvo van Doorn functions require M here. 1303e7cbae7SIvo van Doorn 1311da177e4SLinus Torvaldsconfig CRC32 13246c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 1331da177e4SLinus Torvalds default y 134906d66dfSAkinobu Mita select BITREVERSE 1351da177e4SLinus Torvalds help 1361da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 13746c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 13846c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 13946c5801eSDarrick J. Wong functions require M here. 1401da177e4SLinus Torvalds 1413863ef31SBob Pearsonconfig CRC32_SELFTEST 1425fb7f874SGeert Uytterhoeven tristate "CRC32 perform self test on init" 1433863ef31SBob Pearson depends on CRC32 1443863ef31SBob Pearson help 1453863ef31SBob Pearson This option enables the CRC32 library functions to perform a 1463863ef31SBob Pearson self test on initialization. The self test computes crc32_le 1473863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 1483863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 1493863ef31SBob Pearson 1505cde7656SDarrick J. Wongchoice 1515cde7656SDarrick J. Wong prompt "CRC32 implementation" 1525cde7656SDarrick J. Wong depends on CRC32 1535cde7656SDarrick J. Wong default CRC32_SLICEBY8 15482edb4baSDarrick J. Wong help 15582edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 15682edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 15782edb4baSDarrick J. Wong know that you need one of the others. 1585cde7656SDarrick J. Wong 1595cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1605cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1615cde7656SDarrick J. Wong help 1625cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1635cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1645cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1655cde7656SDarrick J. Wong thrashing the cache. 1665cde7656SDarrick J. Wong 1675cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1685cde7656SDarrick J. Wong you have a good reason not to. 1695cde7656SDarrick J. Wong 1705cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1715cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1725cde7656SDarrick J. Wong help 1735cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1745cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1755cde7656SDarrick J. Wong table. 1765cde7656SDarrick J. Wong 1775cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1785cde7656SDarrick J. Wong 1795cde7656SDarrick J. Wongconfig CRC32_SARWATE 1805cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1815cde7656SDarrick J. Wong help 1825cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1835cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1845cde7656SDarrick J. Wong 1855cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1865cde7656SDarrick J. Wong 1875cde7656SDarrick J. Wongconfig CRC32_BIT 1885cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1895cde7656SDarrick J. Wong help 1905cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1915cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1925cde7656SDarrick J. Wong 1935cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1945cde7656SDarrick J. Wong 1955cde7656SDarrick J. Wongendchoice 1965cde7656SDarrick J. Wong 197feba04fdSColy Liconfig CRC64 198feba04fdSColy Li tristate "CRC64 functions" 199feba04fdSColy Li help 200feba04fdSColy Li This option is provided for the case where no in-kernel-tree 201feba04fdSColy Li modules require CRC64 functions, but a module built outside 202feba04fdSColy Li the kernel tree does. Such modules that use library CRC64 203feba04fdSColy Li functions require M here. 204feba04fdSColy Li 2050cbaa448SJeremy Kerrconfig CRC4 2060cbaa448SJeremy Kerr tristate "CRC4 functions" 2070cbaa448SJeremy Kerr help 2080cbaa448SJeremy Kerr This option is provided for the case where no in-kernel-tree 2090cbaa448SJeremy Kerr modules require CRC4 functions, but a module built outside 2100cbaa448SJeremy Kerr the kernel tree does. Such modules that use library CRC4 2110cbaa448SJeremy Kerr functions require M here. 2120cbaa448SJeremy Kerr 213ad241528SJan Nikitenkoconfig CRC7 214ad241528SJan Nikitenko tristate "CRC7 functions" 215ad241528SJan Nikitenko help 216ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 217ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 218ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 219ad241528SJan Nikitenko functions require M here. 220ad241528SJan Nikitenko 2211da177e4SLinus Torvaldsconfig LIBCRC32C 2221da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 22393027354SHerbert Xu select CRYPTO 22469c35efcSHerbert Xu select CRYPTO_CRC32C 2251da177e4SLinus Torvalds help 2261da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 2271da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 2281da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 2291da177e4SLinus Torvalds require M here. See Castagnoli93. 2301da177e4SLinus Torvalds Module will be libcrc32c. 2311da177e4SLinus Torvalds 2327150962dSArend van Sprielconfig CRC8 2337150962dSArend van Spriel tristate "CRC8 function" 2347150962dSArend van Spriel help 2357150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 2367150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 2377150962dSArend van Spriel algorithm. Module will be called crc8. 2387150962dSArend van Spriel 2395d240522SNick Terrellconfig XXHASH 2405d240522SNick Terrell tristate 2415d240522SNick Terrell 242e65e1fc2SAl Viroconfig AUDIT_GENERIC 243e65e1fc2SAl Viro bool 244e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 245e65e1fc2SAl Viro default y 246e65e1fc2SAl Viro 2474b588411SAKASHI Takahiroconfig AUDIT_ARCH_COMPAT_GENERIC 2484b588411SAKASHI Takahiro bool 2494b588411SAKASHI Takahiro default n 2504b588411SAKASHI Takahiro 2514b588411SAKASHI Takahiroconfig AUDIT_COMPAT_GENERIC 2524b588411SAKASHI Takahiro bool 2534b588411SAKASHI Takahiro depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT 2544b588411SAKASHI Takahiro default y 2554b588411SAKASHI Takahiro 256a6a9c0f1SDaniel Borkmannconfig RANDOM32_SELFTEST 257a6a9c0f1SDaniel Borkmann bool "PRNG perform self test on init" 258a6a9c0f1SDaniel Borkmann help 259a6a9c0f1SDaniel Borkmann This option enables the 32 bit PRNG library functions to perform a 260a6a9c0f1SDaniel Borkmann self test on initialization. 261a6a9c0f1SDaniel Borkmann 2621da177e4SLinus Torvalds# 2631da177e4SLinus Torvalds# compression support is select'ed if needed 2641da177e4SLinus Torvalds# 2652da572c9SDan Streetmanconfig 842_COMPRESS 2665b571677SArnd Bergmann select CRC32 2672da572c9SDan Streetman tristate 2682da572c9SDan Streetman 2692da572c9SDan Streetmanconfig 842_DECOMPRESS 2705b571677SArnd Bergmann select CRC32 2712da572c9SDan Streetman tristate 2722da572c9SDan Streetman 2731da177e4SLinus Torvaldsconfig ZLIB_INFLATE 2741da177e4SLinus Torvalds tristate 2751da177e4SLinus Torvalds 2761da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 2771da177e4SLinus Torvalds tristate 2781fd4e5c3SAndrew Morton select BITREVERSE 2791da177e4SLinus Torvalds 28064c70b1cSRichard Purdieconfig LZO_COMPRESS 28164c70b1cSRichard Purdie tristate 28264c70b1cSRichard Purdie 28364c70b1cSRichard Purdieconfig LZO_DECOMPRESS 28464c70b1cSRichard Purdie tristate 28564c70b1cSRichard Purdie 286c72ac7a1SChanho Minconfig LZ4_COMPRESS 287c72ac7a1SChanho Min tristate 288c72ac7a1SChanho Min 289c72ac7a1SChanho Minconfig LZ4HC_COMPRESS 290c72ac7a1SChanho Min tristate 291c72ac7a1SChanho Min 292e76e1fdfSKyungsik Leeconfig LZ4_DECOMPRESS 293e76e1fdfSKyungsik Lee tristate 294e76e1fdfSKyungsik Lee 29573f3d1b4SNick Terrellconfig ZSTD_COMPRESS 29673f3d1b4SNick Terrell select XXHASH 29773f3d1b4SNick Terrell tristate 29873f3d1b4SNick Terrell 29973f3d1b4SNick Terrellconfig ZSTD_DECOMPRESS 30073f3d1b4SNick Terrell select XXHASH 30173f3d1b4SNick Terrell tristate 30273f3d1b4SNick Terrell 30324fa0402SLasse Collinsource "lib/xz/Kconfig" 30424fa0402SLasse Collin 3051da177e4SLinus Torvalds# 306c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 307c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 308c8531ab3SH. Peter Anvin# 309c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 3107856a16eSH. Peter Anvin select ZLIB_INFLATE 311c8531ab3SH. Peter Anvin tristate 312c8531ab3SH. Peter Anvin 313c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 314c8531ab3SH. Peter Anvin tristate 315c8531ab3SH. Peter Anvin 316c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 317c8531ab3SH. Peter Anvin tristate 318c8531ab3SH. Peter Anvin 3193ebe1243SLasse Collinconfig DECOMPRESS_XZ 3203ebe1243SLasse Collin select XZ_DEC 3213ebe1243SLasse Collin tristate 3223ebe1243SLasse Collin 323cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 324cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 325cacb246fSAlbin Tonnerre tristate 326cacb246fSAlbin Tonnerre 327e76e1fdfSKyungsik Leeconfig DECOMPRESS_LZ4 328e76e1fdfSKyungsik Lee select LZ4_DECOMPRESS 329e76e1fdfSKyungsik Lee tristate 330e76e1fdfSKyungsik Lee 331c8531ab3SH. Peter Anvin# 332f14f75b8SJes Sorensen# Generic allocator support is selected if needed 333f14f75b8SJes Sorensen# 334f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 3356341e62bSChristoph Jaeger bool 336f14f75b8SJes Sorensen 337f14f75b8SJes Sorensen# 3381da177e4SLinus Torvalds# reed solomon support is select'ed if needed 3391da177e4SLinus Torvalds# 3401da177e4SLinus Torvaldsconfig REED_SOLOMON 3411da177e4SLinus Torvalds tristate 3421da177e4SLinus Torvalds 3431da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 3446341e62bSChristoph Jaeger bool 3451da177e4SLinus Torvalds 3461da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 3476341e62bSChristoph Jaeger bool 3481da177e4SLinus Torvalds 3491da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 3506341e62bSChristoph Jaeger bool 3511da177e4SLinus Torvalds 3521da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 3536341e62bSChristoph Jaeger bool 3541da177e4SLinus Torvalds 355f7704347SDavid S. Miller# 356437aa565SIvan Djelic# BCH support is selected if needed 357437aa565SIvan Djelic# 358437aa565SIvan Djelicconfig BCH 359437aa565SIvan Djelic tristate 360437aa565SIvan Djelic 361437aa565SIvan Djelicconfig BCH_CONST_PARAMS 3626341e62bSChristoph Jaeger bool 363437aa565SIvan Djelic help 364437aa565SIvan Djelic Drivers may select this option to force specific constant 365437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 366437aa565SIvan Djelic (error correction capability). Those specific values must 367437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 368437aa565SIvan Djelic and BCH_CONST_T. 369437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 370437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 371437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 372437aa565SIvan Djelic When this option is selected, the BCH library supports 373437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 374437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 375437aa565SIvan Djelic parameters. 376437aa565SIvan Djelic 377437aa565SIvan Djelicconfig BCH_CONST_M 378437aa565SIvan Djelic int 379437aa565SIvan Djelic range 5 15 380437aa565SIvan Djelic help 381437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 382437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 383437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 384437aa565SIvan Djelic Drivers should declare a default value for this symbol if 385437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 386437aa565SIvan Djelic 387437aa565SIvan Djelicconfig BCH_CONST_T 388437aa565SIvan Djelic int 389437aa565SIvan Djelic help 390437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 391437aa565SIvan Djelic Drivers should declare a default value for this symbol if 392437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 393437aa565SIvan Djelic 394437aa565SIvan Djelic# 395f7704347SDavid S. Miller# Textsearch support is select'ed if needed 396f7704347SDavid S. Miller# 3972de4ff7bSThomas Grafconfig TEXTSEARCH 3986341e62bSChristoph Jaeger bool 3991da177e4SLinus Torvalds 400df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 401f7704347SDavid S. Miller tristate 402df3fb93aSThomas Graf 4038082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 40429cb9f9cSDavid S. Miller tristate 4058082e4edSPablo Neira Ayuso 4066408f79cSThomas Grafconfig TEXTSEARCH_FSM 407f7704347SDavid S. Miller tristate 4086408f79cSThomas Graf 4095db53f3eSJoern Engelconfig BTREE 4106341e62bSChristoph Jaeger bool 4115db53f3eSJoern Engel 412a88cc108SChris Wilsonconfig INTERVAL_TREE 4136341e62bSChristoph Jaeger bool 414a88cc108SChris Wilson help 415a88cc108SChris Wilson Simple, embeddable, interval-tree. Can find the start of an 416a88cc108SChris Wilson overlapping range in log(n) time and then iterate over all 417a88cc108SChris Wilson overlapping nodes. The algorithm is implemented as an 418a88cc108SChris Wilson augmented rbtree. 419a88cc108SChris Wilson 420a88cc108SChris Wilson See: 421a88cc108SChris Wilson 422a88cc108SChris Wilson Documentation/rbtree.txt 423a88cc108SChris Wilson 424a88cc108SChris Wilson for more information. 425a88cc108SChris Wilson 42602c02bf1SMatthew Wilcoxconfig XARRAY_MULTI 42757578c2eSMatthew Wilcox bool 42802c02bf1SMatthew Wilcox help 42902c02bf1SMatthew Wilcox Support entries which occupy multiple consecutive indices in the 43002c02bf1SMatthew Wilcox XArray. 43157578c2eSMatthew Wilcox 4323cb98950SDavid Howellsconfig ASSOCIATIVE_ARRAY 4333cb98950SDavid Howells bool 4343cb98950SDavid Howells help 4353cb98950SDavid Howells Generic associative array. Can be searched and iterated over whilst 4363cb98950SDavid Howells it is being modified. It is also reasonably quick to search and 4373cb98950SDavid Howells modify. The algorithms are non-recursive, and the trees are highly 4383cb98950SDavid Howells capacious. 4393cb98950SDavid Howells 4403cb98950SDavid Howells See: 4413cb98950SDavid Howells 4425fb94e9cSMauro Carvalho Chehab Documentation/core-api/assoc_array.rst 4433cb98950SDavid Howells 4443cb98950SDavid Howells for more information. 4453cb98950SDavid Howells 4465ea81769SAl Viroconfig HAS_IOMEM 4476341e62bSChristoph Jaeger bool 4485ea81769SAl Viro depends on !NO_IOMEM 449087fafd1SRichard Weinberger select GENERIC_IO 4505ea81769SAl Viro default y 4515ea81769SAl Viro 452ce816fa8SUwe Kleine-Königconfig HAS_IOPORT_MAP 4536341e62bSChristoph Jaeger bool 454ce816fa8SUwe Kleine-König depends on HAS_IOMEM && !NO_IOPORT_MAP 455ee36c2bfSAl Viro default y 456ee36c2bfSAl Viro 457cf65a0f6SChristoph Hellwigsource "kernel/dma/Kconfig" 458411f0f3eSHeiko Carstens 459e80a0af4SBart Van Asscheconfig SGL_ALLOC 460e80a0af4SBart Van Assche bool 461e80a0af4SBart Van Assche default n 462e80a0af4SBart Van Assche 463a4ce5a48SChristoph Hellwigconfig IOMMU_HELPER 464a4ce5a48SChristoph Hellwig bool 465a4ce5a48SChristoph Hellwig 466928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 467928923c7SGeert Uytterhoeven bool 468928923c7SGeert Uytterhoeven 469aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 470aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 471aab46da0SRusty Russell help 472aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 473aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 474aab46da0SRusty Russell stack overflow. 475aab46da0SRusty Russell 476c39649c3SBen Hutchingsconfig CPU_RMAP 477c39649c3SBen Hutchings bool 478c39649c3SBen Hutchings depends on SMP 479c39649c3SBen Hutchings 48075957ba3STom Herbertconfig DQL 48175957ba3STom Herbert bool 48275957ba3STom Herbert 483b0125085SGeorge Spelvinconfig GLOB 484b0125085SGeorge Spelvin bool 485b0125085SGeorge Spelvin# This actually supports modular compilation, but the module overhead 486b0125085SGeorge Spelvin# is ridiculous for the amount of code involved. Until an out-of-tree 487b0125085SGeorge Spelvin# driver asks for it, we'll just link it directly it into the kernel 488b0125085SGeorge Spelvin# when required. Since we're ignoring out-of-tree users, there's also 489b0125085SGeorge Spelvin# no need bother prompting for a manual decision: 490b0125085SGeorge Spelvin# prompt "glob_match() function" 491b0125085SGeorge Spelvin help 492b0125085SGeorge Spelvin This option provides a glob_match function for performing 493b0125085SGeorge Spelvin simple text pattern matching. It originated in the ATA code 494b0125085SGeorge Spelvin to blacklist particular drive models, but other device drivers 495b0125085SGeorge Spelvin may need similar functionality. 496b0125085SGeorge Spelvin 497b0125085SGeorge Spelvin All drivers in the Linux kernel tree that require this function 498b0125085SGeorge Spelvin should automatically select this option. Say N unless you 499b0125085SGeorge Spelvin are compiling an out-of tree driver which tells you that it 500b0125085SGeorge Spelvin depends on this. 501b0125085SGeorge Spelvin 5025f9be824SGeorge Spelvinconfig GLOB_SELFTEST 503ba95b045SGeert Uytterhoeven tristate "glob self-test on init" 5045f9be824SGeorge Spelvin depends on GLOB 5055f9be824SGeorge Spelvin help 5065f9be824SGeorge Spelvin This option enables a simple self-test of the glob_match 5075f9be824SGeorge Spelvin function on startup. It is primarily useful for people 5085f9be824SGeorge Spelvin working on the code to ensure they haven't introduced any 5095f9be824SGeorge Spelvin regressions. 5105f9be824SGeorge Spelvin 5115f9be824SGeorge Spelvin It only adds a little bit of code and slows kernel boot (or 5125f9be824SGeorge Spelvin module load) by a small amount, so you're welcome to play with 5135f9be824SGeorge Spelvin it, but you probably don't need it. 5145f9be824SGeorge Spelvin 515e9cc8bddSGeert Uytterhoeven# 516e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 517e9cc8bddSGeert Uytterhoeven# 518e9cc8bddSGeert Uytterhoevenconfig NLATTR 519e9cc8bddSGeert Uytterhoeven bool 520e9cc8bddSGeert Uytterhoeven 52109d4e0edSPaul Mackerras# 52209d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 52309d4e0edSPaul Mackerras# 52409d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 52509d4e0edSPaul Mackerras bool 52609d4e0edSPaul Mackerras 527b411b363SPhilipp Reisnerconfig LRU_CACHE 528b411b363SPhilipp Reisner tristate 529b411b363SPhilipp Reisner 530c6df4b17SDavid Millerconfig CLZ_TAB 531c6df4b17SDavid Miller bool 532c6df4b17SDavid Miller 5339c1c21a0SAneesh Vconfig DDR 5349c1c21a0SAneesh V bool "JEDEC DDR data" 5359c1c21a0SAneesh V help 5369c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 5379c1c21a0SAneesh V particularly the AC timing parameters and addressing 5389c1c21a0SAneesh V information. This data is useful for drivers handling 5399c1c21a0SAneesh V DDR SDRAM controllers. 5409c1c21a0SAneesh V 541511cbce2SChristoph Hellwigconfig IRQ_POLL 542511cbce2SChristoph Hellwig bool "IRQ polling library" 543511cbce2SChristoph Hellwig help 544511cbce2SChristoph Hellwig Helper library to poll interrupt mitigation using polling. 545511cbce2SChristoph Hellwig 546d9c46b18SDmitry Kasatkinconfig MPILIB 5472e5f094bSDmitry Kasatkin tristate 548c6df4b17SDavid Miller select CLZ_TAB 549d9c46b18SDmitry Kasatkin help 550d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 551d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 552d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 553d9c46b18SDmitry Kasatkin 5545e8898e9SDmitry Kasatkinconfig SIGNATURE 5552e5f094bSDmitry Kasatkin tristate 5560d1f64f6SDmitry Kasatkin depends on KEYS 5570d1f64f6SDmitry Kasatkin select CRYPTO 558be440ec7SDmitry Kasatkin select CRYPTO_SHA1 559051dbb91SDmitry Kasatkin select MPILIB 560051dbb91SDmitry Kasatkin help 561051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 562051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 563051dbb91SDmitry Kasatkin 564ab253839SDavid Daney# 565ab253839SDavid Daney# libfdt files, only selected if needed. 566ab253839SDavid Daney# 567ab253839SDavid Daneyconfig LIBFDT 568ab253839SDavid Daney bool 569ab253839SDavid Daney 570a77ad6eaSDavid Howellsconfig OID_REGISTRY 571a77ad6eaSDavid Howells tristate 572a77ad6eaSDavid Howells help 573a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 574a77ad6eaSDavid Howells 5750635eb8aSMatthew Garrettconfig UCS2_STRING 5760635eb8aSMatthew Garrett tristate 5770635eb8aSMatthew Garrett 578ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 579ee89bd6bSGeert Uytterhoeven 580f8bcbe62SRobert Jarzmikconfig SG_SPLIT 581f8bcbe62SRobert Jarzmik def_bool n 582f8bcbe62SRobert Jarzmik help 5837f7e92f7SGeert Uytterhoeven Provides a helper to split scatterlists into chunks, each chunk being 5847f7e92f7SGeert Uytterhoeven a scatterlist. This should be selected by a driver or an API which 5857f7e92f7SGeert Uytterhoeven whishes to split a scatterlist amongst multiple DMA channels. 586f8bcbe62SRobert Jarzmik 5879b1d6c89SMing Linconfig SG_POOL 5889b1d6c89SMing Lin def_bool n 5899b1d6c89SMing Lin help 5909b1d6c89SMing Lin Provides a helper to allocate chained scatterlists. This should be 5919b1d6c89SMing Lin selected by a driver or an API which whishes to allocate chained 5929b1d6c89SMing Lin scatterlist. 5939b1d6c89SMing Lin 594308c09f1SLaura Abbott# 595308c09f1SLaura Abbott# sg chaining option 596308c09f1SLaura Abbott# 597308c09f1SLaura Abbott 5987c703e54SChristoph Hellwigconfig ARCH_NO_SG_CHAIN 599308c09f1SLaura Abbott def_bool n 600308c09f1SLaura Abbott 60161031952SRoss Zwislerconfig ARCH_HAS_PMEM_API 60261031952SRoss Zwisler bool 60361031952SRoss Zwisler 6040aed55afSDan Williamsconfig ARCH_HAS_UACCESS_FLUSHCACHE 6050aed55afSDan Williams bool 6060aed55afSDan Williams 607522239b4SDan Williamsconfig ARCH_HAS_UACCESS_MCSAFE 608522239b4SDan Williams bool 609522239b4SDan Williams 610214d8ca6SThomas Gleixner# Temporary. Goes away when all archs are cleaned up 611214d8ca6SThomas Gleixnerconfig ARCH_STACKWALK 612214d8ca6SThomas Gleixner bool 613214d8ca6SThomas Gleixner 614cd11016eSAlexander Potapenkoconfig STACKDEPOT 615cd11016eSAlexander Potapenko bool 616cd11016eSAlexander Potapenko select STACKTRACE 617cd11016eSAlexander Potapenko 61888459642SOmar Sandovalconfig SBITMAP 61988459642SOmar Sandoval bool 62088459642SOmar Sandoval 62144091d29SJiri Pirkoconfig PARMAN 6229d25af69SGeert Uytterhoeven tristate "parman" if COMPILE_TEST 62344091d29SJiri Pirko 62403270c13SMatthew Wilcoxconfig STRING_SELFTEST 625d6b28e09SGeert Uytterhoeven tristate "Test string functions" 62603270c13SMatthew Wilcox 6272de4ff7bSThomas Grafendmenu 628b35cd988SPalmer Dabbelt 629e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHLDI3 630b35cd988SPalmer Dabbelt bool 631b35cd988SPalmer Dabbelt 632e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHRDI3 633b35cd988SPalmer Dabbelt bool 634b35cd988SPalmer Dabbelt 635e3d59805SMatt Redfearnconfig GENERIC_LIB_LSHRDI3 636b35cd988SPalmer Dabbelt bool 637b35cd988SPalmer Dabbelt 638e3d59805SMatt Redfearnconfig GENERIC_LIB_MULDI3 639b35cd988SPalmer Dabbelt bool 640b35cd988SPalmer Dabbelt 641e3d59805SMatt Redfearnconfig GENERIC_LIB_CMPDI2 642b35cd988SPalmer Dabbelt bool 643b35cd988SPalmer Dabbelt 644e3d59805SMatt Redfearnconfig GENERIC_LIB_UCMPDI2 645b35cd988SPalmer Dabbelt bool 6460a020d41SJiri Pirko 6470a020d41SJiri Pirkoconfig OBJAGG 6480a020d41SJiri Pirko tristate "objagg" if COMPILE_TEST 649