1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Library configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 64370aa4aSLai Jiangshanconfig BINARY_PRINTF 74370aa4aSLai Jiangshan def_bool n 84370aa4aSLai Jiangshan 91da177e4SLinus Torvaldsmenu "Library routines" 101da177e4SLinus Torvalds 11f5e70d0fSDavid Woodhouseconfig RAID6_PQ 12f5e70d0fSDavid Woodhouse tristate 13f5e70d0fSDavid Woodhouse 14be85f93aSDaniel Verkampconfig RAID6_PQ_BENCHMARK 15be85f93aSDaniel Verkamp bool "Automatically choose fastest RAID6 PQ functions" 16be85f93aSDaniel Verkamp depends on RAID6_PQ 17be85f93aSDaniel Verkamp default y 18be85f93aSDaniel Verkamp help 19be85f93aSDaniel Verkamp Benchmark all available RAID6 PQ functions on init and choose the 20be85f93aSDaniel Verkamp fastest one. 21be85f93aSDaniel Verkamp 22d2218d4eSMatti Vaittinenconfig LINEAR_RANGES 23d2218d4eSMatti Vaittinen tristate 24d2218d4eSMatti Vaittinen 25554aae35SVladimir Olteanconfig PACKING 26554aae35SVladimir Oltean bool "Generic bitfield packing and unpacking" 271280d4b7SUladzislau Koshchanka select BITREVERSE 28554aae35SVladimir Oltean default n 29554aae35SVladimir Oltean help 30554aae35SVladimir Oltean This option provides the packing() helper function, which permits 31554aae35SVladimir Oltean converting bitfields between a CPU-usable representation and a 32554aae35SVladimir Oltean memory representation that can have any combination of these quirks: 33554aae35SVladimir Oltean - Is little endian (bytes are reversed within a 32-bit group) 34554aae35SVladimir Oltean - The least-significant 32-bit word comes first (within a 64-bit 35554aae35SVladimir Oltean group) 36554aae35SVladimir Oltean - The most significant bit of a byte is at its right (bit 0 of a 37554aae35SVladimir Oltean register description is numerically 2^7). 38554aae35SVladimir Oltean Drivers may use these helpers to match the bit indices as described 39554aae35SVladimir Oltean in the data sheets of the peripherals they are in control of. 40554aae35SVladimir Oltean 41554aae35SVladimir Oltean When in doubt, say N. 42554aae35SVladimir Oltean 43e9502ea6SJacob Kellerconfig PACKING_KUNIT_TEST 44e9502ea6SJacob Keller tristate "KUnit tests for packing library" if !KUNIT_ALL_TESTS 45e9502ea6SJacob Keller depends on PACKING && KUNIT 46e9502ea6SJacob Keller default KUNIT_ALL_TESTS 47e9502ea6SJacob Keller help 48e9502ea6SJacob Keller This builds KUnit tests for the packing library. 49e9502ea6SJacob Keller 50e9502ea6SJacob Keller For more information on KUnit and unit tests in general, 51e9502ea6SJacob Keller please refer to the KUnit documentation in Documentation/dev-tools/kunit/. 52e9502ea6SJacob Keller 53e9502ea6SJacob Keller When in doubt, say N. 54e9502ea6SJacob Keller 55a5cfc1ecSAkinobu Mitaconfig BITREVERSE 56a5cfc1ecSAkinobu Mita tristate 57*00751d65SYury Norov select GENERIC_BITREVERSE if !HAVE_ARCH_BITREVERSE 58a5cfc1ecSAkinobu Mita 59556d2f05SYalin Wangconfig HAVE_ARCH_BITREVERSE 60841c0090SChristoph Jaeger bool 61556d2f05SYalin Wang default n 6242d9c75eSYury Norov depends on BITREVERSE 63556d2f05SYalin Wang help 649e522c0dSAndrew Morton This option enables the use of hardware bit-reversal instructions on 659e522c0dSAndrew Morton architectures which support such operations. 66556d2f05SYalin Wang 67*00751d65SYury Norovconfig GENERIC_BITREVERSE 68*00751d65SYury Norov tristate 69*00751d65SYury Norov depends on BITREVERSE 70*00751d65SYury Norov help 71*00751d65SYury Norov Generic bit reversal implementation. Drivers should never enable 72*00751d65SYury Norov it explicitly. Instead, enable BITREVERSE. 73*00751d65SYury Norov 74*00751d65SYury Norov Architectures may want to select it as a fall-back option for 75*00751d65SYury Norov HAVE_ARCH_BITREVERSE, when the hardware-accelerated bit reverse 76*00751d65SYury Norov instruction set is optional, like RISC-V ZBKB extension. 77*00751d65SYury Norov 78e6226997SArnd Bergmannconfig ARCH_HAS_STRNCPY_FROM_USER 792922585bSDavid S. Miller bool 802922585bSDavid S. Miller 81e6226997SArnd Bergmannconfig ARCH_HAS_STRNLEN_USER 82a08c5356SLinus Torvalds bool 83a08c5356SLinus Torvalds 84e6226997SArnd Bergmannconfig GENERIC_STRNCPY_FROM_USER 85e6226997SArnd Bergmann def_bool !ARCH_HAS_STRNCPY_FROM_USER 86e6226997SArnd Bergmann 87e6226997SArnd Bergmannconfig GENERIC_STRNLEN_USER 88e6226997SArnd Bergmann def_bool !ARCH_HAS_STRNLEN_USER 89e6226997SArnd Bergmann 904cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 914cd5773aSAndy Shevchenko bool 924cd5773aSAndy Shevchenko 932c64e9cbSAndy Shevchenkosource "lib/math/Kconfig" 942c64e9cbSAndy Shevchenko 95b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 96b923650bSMichael S. Tsirkin bool 97b923650bSMichael S. Tsirkin 984673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 994673ca8eSMichael S. Tsirkin bool 10066eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 1014673ca8eSMichael S. Tsirkin 1024ccf4beaSWolfram Sangconfig STMP_DEVICE 1034ccf4beaSWolfram Sang bool 1044ccf4beaSWolfram Sang 105bc08b449SLinus Torvaldsconfig ARCH_USE_CMPXCHG_LOCKREF 106bc08b449SLinus Torvalds bool 107bc08b449SLinus Torvalds 10872d93104SLinus Torvaldsconfig ARCH_HAS_FAST_MULTIPLIER 10972d93104SLinus Torvalds bool 11072d93104SLinus Torvalds 1112ce0d7f9SMark Brownconfig ARCH_USE_SYM_ANNOTATIONS 1122ce0d7f9SMark Brown bool 1132ce0d7f9SMark Brown 114031e3601SZhichang Yuanconfig INDIRECT_PIO 115031e3601SZhichang Yuan bool "Access I/O in non-MMIO mode" 116031e3601SZhichang Yuan depends on ARM64 117fcbfe812SNiklas Schnelle depends on HAS_IOPORT 118031e3601SZhichang Yuan help 119031e3601SZhichang Yuan On some platforms where no separate I/O space exists, there are I/O 120031e3601SZhichang Yuan hosts which can not be accessed in MMIO mode. Using the logical PIO 121031e3601SZhichang Yuan mechanism, the host-local I/O resource can be mapped into system 122031e3601SZhichang Yuan logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the 123031e3601SZhichang Yuan system can access the I/O devices with the mapped-logic PIO through 124031e3601SZhichang Yuan I/O accessors. 125031e3601SZhichang Yuan 126031e3601SZhichang Yuan This way has relatively little I/O performance cost. Please make 127031e3601SZhichang Yuan sure your devices really need this configure item enabled. 128031e3601SZhichang Yuan 129031e3601SZhichang Yuan When in doubt, say N. 130031e3601SZhichang Yuan 131ca2e3342SJohannes Bergconfig INDIRECT_IOMEM 132ca2e3342SJohannes Berg bool 133ca2e3342SJohannes Berg help 134ca2e3342SJohannes Berg This is selected by other options/architectures to provide the 135ca2e3342SJohannes Berg emulated iomem accessors. 136ca2e3342SJohannes Berg 137ca2e3342SJohannes Bergconfig INDIRECT_IOMEM_FALLBACK 138ca2e3342SJohannes Berg bool 139ca2e3342SJohannes Berg depends on INDIRECT_IOMEM 140ca2e3342SJohannes Berg help 141ca2e3342SJohannes Berg If INDIRECT_IOMEM is selected, this enables falling back to plain 142ca2e3342SJohannes Berg mmio accesses when the IO memory address is not a registered 143ca2e3342SJohannes Berg emulated region. 144ca2e3342SJohannes Berg 145d593d64fSPrasad Sodagudiconfig TRACE_MMIO_ACCESS 146d593d64fSPrasad Sodagudi bool "Register read/write tracing" 147d593d64fSPrasad Sodagudi depends on TRACING && ARCH_HAVE_TRACE_MMIO_ACCESS 148d593d64fSPrasad Sodagudi help 149d593d64fSPrasad Sodagudi Create tracepoints for MMIO read/write operations. These trace events 150d593d64fSPrasad Sodagudi can be used for logging all MMIO read/write operations. 151d593d64fSPrasad Sodagudi 15289a51591SEric Biggerssource "lib/crc/Kconfig" 153e56e1898SJustin M. Forbessource "lib/crypto/Kconfig" 1549e229025SChristoph Hellwigsource "lib/raid/Kconfig" 155e56e1898SJustin M. Forbes 1565d240522SNick Terrellconfig XXHASH 1575d240522SNick Terrell tristate 1585d240522SNick Terrell 159e65e1fc2SAl Viroconfig AUDIT_GENERIC 160e65e1fc2SAl Viro bool 161e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 162e65e1fc2SAl Viro default y 163e65e1fc2SAl Viro 1644b588411SAKASHI Takahiroconfig AUDIT_ARCH_COMPAT_GENERIC 1654b588411SAKASHI Takahiro bool 1664b588411SAKASHI Takahiro default n 1674b588411SAKASHI Takahiro 1684b588411SAKASHI Takahiroconfig AUDIT_COMPAT_GENERIC 1694b588411SAKASHI Takahiro bool 1704b588411SAKASHI Takahiro depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT 1714b588411SAKASHI Takahiro default y 1724b588411SAKASHI Takahiro 173a6a9c0f1SDaniel Borkmannconfig RANDOM32_SELFTEST 174a6a9c0f1SDaniel Borkmann bool "PRNG perform self test on init" 175a6a9c0f1SDaniel Borkmann help 176a6a9c0f1SDaniel Borkmann This option enables the 32 bit PRNG library functions to perform a 177a6a9c0f1SDaniel Borkmann self test on initialization. 178a6a9c0f1SDaniel Borkmann 1791da177e4SLinus Torvalds# 1801da177e4SLinus Torvalds# compression support is select'ed if needed 1811da177e4SLinus Torvalds# 1822da572c9SDan Streetmanconfig 842_COMPRESS 1835b571677SArnd Bergmann select CRC32 1842da572c9SDan Streetman tristate 1852da572c9SDan Streetman 1862da572c9SDan Streetmanconfig 842_DECOMPRESS 1875b571677SArnd Bergmann select CRC32 1882da572c9SDan Streetman tristate 1892da572c9SDan Streetman 1901da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1911da177e4SLinus Torvalds tristate 1921da177e4SLinus Torvalds 1931da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1941da177e4SLinus Torvalds tristate 1951fd4e5c3SAndrew Morton select BITREVERSE 1961da177e4SLinus Torvalds 197aa5b395bSMikhail Zaslonkoconfig ZLIB_DFLTCC 198aa5b395bSMikhail Zaslonko def_bool y 199aa5b395bSMikhail Zaslonko depends on S390 200aa5b395bSMikhail Zaslonko prompt "Enable s390x DEFLATE CONVERSION CALL support for kernel zlib" 201aa5b395bSMikhail Zaslonko help 202aa5b395bSMikhail Zaslonko Enable s390x hardware support for zlib in the kernel. 203aa5b395bSMikhail Zaslonko 20464c70b1cSRichard Purdieconfig LZO_COMPRESS 20564c70b1cSRichard Purdie tristate 20664c70b1cSRichard Purdie 20764c70b1cSRichard Purdieconfig LZO_DECOMPRESS 20864c70b1cSRichard Purdie tristate 20964c70b1cSRichard Purdie 210c72ac7a1SChanho Minconfig LZ4_COMPRESS 211c72ac7a1SChanho Min tristate 212c72ac7a1SChanho Min 213c72ac7a1SChanho Minconfig LZ4HC_COMPRESS 214c72ac7a1SChanho Min tristate 215c72ac7a1SChanho Min 216e76e1fdfSKyungsik Leeconfig LZ4_DECOMPRESS 217e76e1fdfSKyungsik Lee tristate 218e76e1fdfSKyungsik Lee 219637a642fSAlexey Kardashevskiyconfig ZSTD_COMMON 22073f3d1b4SNick Terrell select XXHASH 22173f3d1b4SNick Terrell tristate 22273f3d1b4SNick Terrell 223637a642fSAlexey Kardashevskiyconfig ZSTD_COMPRESS 224637a642fSAlexey Kardashevskiy select ZSTD_COMMON 225637a642fSAlexey Kardashevskiy tristate 226637a642fSAlexey Kardashevskiy 22773f3d1b4SNick Terrellconfig ZSTD_DECOMPRESS 228637a642fSAlexey Kardashevskiy select ZSTD_COMMON 22973f3d1b4SNick Terrell tristate 23073f3d1b4SNick Terrell 23124fa0402SLasse Collinsource "lib/xz/Kconfig" 23224fa0402SLasse Collin 2331da177e4SLinus Torvalds# 234c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 235c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 236c8531ab3SH. Peter Anvin# 237c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 2387856a16eSH. Peter Anvin select ZLIB_INFLATE 239c8531ab3SH. Peter Anvin tristate 240c8531ab3SH. Peter Anvin 241c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 242c8531ab3SH. Peter Anvin tristate 243c8531ab3SH. Peter Anvin 244c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 245c8531ab3SH. Peter Anvin tristate 246c8531ab3SH. Peter Anvin 2473ebe1243SLasse Collinconfig DECOMPRESS_XZ 2483ebe1243SLasse Collin select XZ_DEC 2493ebe1243SLasse Collin tristate 2503ebe1243SLasse Collin 251cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 252cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 253cacb246fSAlbin Tonnerre tristate 254cacb246fSAlbin Tonnerre 255e76e1fdfSKyungsik Leeconfig DECOMPRESS_LZ4 256e76e1fdfSKyungsik Lee select LZ4_DECOMPRESS 257e76e1fdfSKyungsik Lee tristate 258e76e1fdfSKyungsik Lee 2594963bb2bSNick Terrellconfig DECOMPRESS_ZSTD 2604963bb2bSNick Terrell select ZSTD_DECOMPRESS 2614963bb2bSNick Terrell tristate 2624963bb2bSNick Terrell 263c8531ab3SH. Peter Anvin# 264f14f75b8SJes Sorensen# Generic allocator support is selected if needed 265f14f75b8SJes Sorensen# 266f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 2676341e62bSChristoph Jaeger bool 268f14f75b8SJes Sorensen 269f14f75b8SJes Sorensen# 2701da177e4SLinus Torvalds# reed solomon support is select'ed if needed 2711da177e4SLinus Torvalds# 2721da177e4SLinus Torvaldsconfig REED_SOLOMON 2731da177e4SLinus Torvalds tristate 2741da177e4SLinus Torvalds 2751da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 2766341e62bSChristoph Jaeger bool 2771da177e4SLinus Torvalds 2781da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 2796341e62bSChristoph Jaeger bool 2801da177e4SLinus Torvalds 2811da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 2826341e62bSChristoph Jaeger bool 2831da177e4SLinus Torvalds 2841da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 2856341e62bSChristoph Jaeger bool 2861da177e4SLinus Torvalds 287f7704347SDavid S. Miller# 288437aa565SIvan Djelic# BCH support is selected if needed 289437aa565SIvan Djelic# 290437aa565SIvan Djelicconfig BCH 291437aa565SIvan Djelic tristate 29202d7f74aSJohn Sanpe select BITREVERSE 293437aa565SIvan Djelic 294437aa565SIvan Djelicconfig BCH_CONST_PARAMS 2956341e62bSChristoph Jaeger bool 296437aa565SIvan Djelic help 297437aa565SIvan Djelic Drivers may select this option to force specific constant 298437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 299437aa565SIvan Djelic (error correction capability). Those specific values must 300437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 301437aa565SIvan Djelic and BCH_CONST_T. 302437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 303437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 304437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 305437aa565SIvan Djelic When this option is selected, the BCH library supports 306437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 307437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 308437aa565SIvan Djelic parameters. 309437aa565SIvan Djelic 310437aa565SIvan Djelicconfig BCH_CONST_M 311437aa565SIvan Djelic int 312437aa565SIvan Djelic range 5 15 313437aa565SIvan Djelic help 314437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 315437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 316437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 317437aa565SIvan Djelic Drivers should declare a default value for this symbol if 318437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 319437aa565SIvan Djelic 320437aa565SIvan Djelicconfig BCH_CONST_T 321437aa565SIvan Djelic int 322437aa565SIvan Djelic help 323437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 324437aa565SIvan Djelic Drivers should declare a default value for this symbol if 325437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 326437aa565SIvan Djelic 327437aa565SIvan Djelic# 328f7704347SDavid S. Miller# Textsearch support is select'ed if needed 329f7704347SDavid S. Miller# 3302de4ff7bSThomas Grafconfig TEXTSEARCH 3316341e62bSChristoph Jaeger bool 3321da177e4SLinus Torvalds 333df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 334f7704347SDavid S. Miller tristate 335df3fb93aSThomas Graf 3368082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 33729cb9f9cSDavid S. Miller tristate 3388082e4edSPablo Neira Ayuso 3396408f79cSThomas Grafconfig TEXTSEARCH_FSM 340f7704347SDavid S. Miller tristate 3416408f79cSThomas Graf 3425db53f3eSJoern Engelconfig BTREE 3436341e62bSChristoph Jaeger bool 3445db53f3eSJoern Engel 345a88cc108SChris Wilsonconfig INTERVAL_TREE 3466341e62bSChristoph Jaeger bool 347a88cc108SChris Wilson help 348a88cc108SChris Wilson Simple, embeddable, interval-tree. Can find the start of an 349a88cc108SChris Wilson overlapping range in log(n) time and then iterate over all 350a88cc108SChris Wilson overlapping nodes. The algorithm is implemented as an 351a88cc108SChris Wilson augmented rbtree. 352a88cc108SChris Wilson 353a88cc108SChris Wilson See: 354a88cc108SChris Wilson 35514bbe3e3SMatthew Wilcox (Oracle) Documentation/core-api/rbtree.rst 356a88cc108SChris Wilson 357a88cc108SChris Wilson for more information. 358a88cc108SChris Wilson 3595fe93786SJason Gunthorpeconfig INTERVAL_TREE_SPAN_ITER 3605fe93786SJason Gunthorpe bool 3615fe93786SJason Gunthorpe depends on INTERVAL_TREE 3625fe93786SJason Gunthorpe 36302c02bf1SMatthew Wilcoxconfig XARRAY_MULTI 36457578c2eSMatthew Wilcox bool 36502c02bf1SMatthew Wilcox help 36602c02bf1SMatthew Wilcox Support entries which occupy multiple consecutive indices in the 36702c02bf1SMatthew Wilcox XArray. 36857578c2eSMatthew Wilcox 3693cb98950SDavid Howellsconfig ASSOCIATIVE_ARRAY 3703cb98950SDavid Howells bool 3713cb98950SDavid Howells help 3723cb98950SDavid Howells Generic associative array. Can be searched and iterated over whilst 3733cb98950SDavid Howells it is being modified. It is also reasonably quick to search and 3743cb98950SDavid Howells modify. The algorithms are non-recursive, and the trees are highly 3753cb98950SDavid Howells capacious. 3763cb98950SDavid Howells 3773cb98950SDavid Howells See: 3783cb98950SDavid Howells 3795fb94e9cSMauro Carvalho Chehab Documentation/core-api/assoc_array.rst 3803cb98950SDavid Howells 3813cb98950SDavid Howells for more information. 3823cb98950SDavid Howells 3838c8d2d96SKent Overstreetconfig CLOSURES 3848c8d2d96SKent Overstreet bool 3858c8d2d96SKent Overstreet 3865ea81769SAl Viroconfig HAS_IOMEM 3876341e62bSChristoph Jaeger bool 3885ea81769SAl Viro depends on !NO_IOMEM 3895ea81769SAl Viro default y 3905ea81769SAl Viro 391fcbfe812SNiklas Schnelleconfig HAS_IOPORT 392fcbfe812SNiklas Schnelle bool 393fcbfe812SNiklas Schnelle 394ce816fa8SUwe Kleine-Königconfig HAS_IOPORT_MAP 3956341e62bSChristoph Jaeger bool 396ce816fa8SUwe Kleine-König depends on HAS_IOMEM && !NO_IOPORT_MAP 397ee36c2bfSAl Viro default y 398ee36c2bfSAl Viro 399cf65a0f6SChristoph Hellwigsource "kernel/dma/Kconfig" 400411f0f3eSHeiko Carstens 401e80a0af4SBart Van Asscheconfig SGL_ALLOC 402e80a0af4SBart Van Assche bool 403e80a0af4SBart Van Assche default n 404e80a0af4SBart Van Assche 405a4ce5a48SChristoph Hellwigconfig IOMMU_HELPER 406a4ce5a48SChristoph Hellwig bool 407a4ce5a48SChristoph Hellwig 408928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 409928923c7SGeert Uytterhoeven bool 410928923c7SGeert Uytterhoeven 411aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 412aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 413aab46da0SRusty Russell help 414aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 415aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 416aab46da0SRusty Russell stack overflow. 417aab46da0SRusty Russell 4186f9c07beSYury Norovconfig FORCE_NR_CPUS 4195d272dd1SLinus Torvalds def_bool !SMP 4206f9c07beSYury Norov 421c39649c3SBen Hutchingsconfig CPU_RMAP 422c39649c3SBen Hutchings bool 423c39649c3SBen Hutchings depends on SMP 424c39649c3SBen Hutchings 42575957ba3STom Herbertconfig DQL 42675957ba3STom Herbert bool 42775957ba3STom Herbert 428b0125085SGeorge Spelvinconfig GLOB 429b0125085SGeorge Spelvin bool 430b0125085SGeorge Spelvin# This actually supports modular compilation, but the module overhead 431b0125085SGeorge Spelvin# is ridiculous for the amount of code involved. Until an out-of-tree 432b0125085SGeorge Spelvin# driver asks for it, we'll just link it directly it into the kernel 433b0125085SGeorge Spelvin# when required. Since we're ignoring out-of-tree users, there's also 434b0125085SGeorge Spelvin# no need bother prompting for a manual decision: 435b0125085SGeorge Spelvin# prompt "glob_match() function" 436b0125085SGeorge Spelvin help 437b0125085SGeorge Spelvin This option provides a glob_match function for performing 438b0125085SGeorge Spelvin simple text pattern matching. It originated in the ATA code 439b0125085SGeorge Spelvin to blacklist particular drive models, but other device drivers 440b0125085SGeorge Spelvin may need similar functionality. 441b0125085SGeorge Spelvin 442b0125085SGeorge Spelvin All drivers in the Linux kernel tree that require this function 443b0125085SGeorge Spelvin should automatically select this option. Say N unless you 444b0125085SGeorge Spelvin are compiling an out-of tree driver which tells you that it 445b0125085SGeorge Spelvin depends on this. 446b0125085SGeorge Spelvin 447e9cc8bddSGeert Uytterhoeven# 448e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 449e9cc8bddSGeert Uytterhoeven# 450e9cc8bddSGeert Uytterhoevenconfig NLATTR 451e9cc8bddSGeert Uytterhoeven bool 452e9cc8bddSGeert Uytterhoeven 45309d4e0edSPaul Mackerras# 45409d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 45509d4e0edSPaul Mackerras# 45609d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 45709d4e0edSPaul Mackerras bool 45809d4e0edSPaul Mackerras 459b411b363SPhilipp Reisnerconfig LRU_CACHE 460b411b363SPhilipp Reisner tristate 461b411b363SPhilipp Reisner 462c6df4b17SDavid Millerconfig CLZ_TAB 463c6df4b17SDavid Miller bool 464c6df4b17SDavid Miller 465511cbce2SChristoph Hellwigconfig IRQ_POLL 466511cbce2SChristoph Hellwig bool "IRQ polling library" 467511cbce2SChristoph Hellwig help 468511cbce2SChristoph Hellwig Helper library to poll interrupt mitigation using polling. 469511cbce2SChristoph Hellwig 470d9c46b18SDmitry Kasatkinconfig MPILIB 4712e5f094bSDmitry Kasatkin tristate 472c6df4b17SDavid Miller select CLZ_TAB 473d9c46b18SDmitry Kasatkin help 474d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 475d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 476d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 477d9c46b18SDmitry Kasatkin 4785e8898e9SDmitry Kasatkinconfig SIGNATURE 4792e5f094bSDmitry Kasatkin tristate 4800d1f64f6SDmitry Kasatkin depends on KEYS 481191cac34SEric Biggers select CRYPTO_LIB_SHA1 482051dbb91SDmitry Kasatkin select MPILIB 483051dbb91SDmitry Kasatkin help 484051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 485051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 486051dbb91SDmitry Kasatkin 4874f75da36STal Gilboaconfig DIMLIB 4880d5044b4SFlorian Fainelli tristate 489b65e697aSHeng Qi depends on NET 4904f75da36STal Gilboa help 4914f75da36STal Gilboa Dynamic Interrupt Moderation library. 492991ad2b2SRandy Dunlap Implements an algorithm for dynamically changing CQ moderation values 4934f75da36STal Gilboa according to run time performance. 4944f75da36STal Gilboa 495ab253839SDavid Daney# 496ab253839SDavid Daney# libfdt files, only selected if needed. 497ab253839SDavid Daney# 498ab253839SDavid Daneyconfig LIBFDT 499ab253839SDavid Daney bool 500ab253839SDavid Daney 501a77ad6eaSDavid Howellsconfig OID_REGISTRY 502a77ad6eaSDavid Howells tristate 503a77ad6eaSDavid Howells help 504a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 505a77ad6eaSDavid Howells 5060635eb8aSMatthew Garrettconfig UCS2_STRING 5070635eb8aSMatthew Garrett tristate 5080635eb8aSMatthew Garrett 50900b26474SVincenzo Frascino# 51000b26474SVincenzo Frascino# generic vdso 51100b26474SVincenzo Frascino# 51200b26474SVincenzo Frascinosource "lib/vdso/Kconfig" 51300b26474SVincenzo Frascino 514ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 515ee89bd6bSGeert Uytterhoeven 516f8bcbe62SRobert Jarzmikconfig SG_SPLIT 517f8bcbe62SRobert Jarzmik def_bool n 518f8bcbe62SRobert Jarzmik help 5197f7e92f7SGeert Uytterhoeven Provides a helper to split scatterlists into chunks, each chunk being 5207f7e92f7SGeert Uytterhoeven a scatterlist. This should be selected by a driver or an API which 5217f7e92f7SGeert Uytterhoeven whishes to split a scatterlist amongst multiple DMA channels. 522f8bcbe62SRobert Jarzmik 5239b1d6c89SMing Linconfig SG_POOL 5249b1d6c89SMing Lin def_bool n 5259b1d6c89SMing Lin help 5269b1d6c89SMing Lin Provides a helper to allocate chained scatterlists. This should be 5279b1d6c89SMing Lin selected by a driver or an API which whishes to allocate chained 5289b1d6c89SMing Lin scatterlist. 5299b1d6c89SMing Lin 530308c09f1SLaura Abbott# 531308c09f1SLaura Abbott# sg chaining option 532308c09f1SLaura Abbott# 533308c09f1SLaura Abbott 5347c703e54SChristoph Hellwigconfig ARCH_NO_SG_CHAIN 535308c09f1SLaura Abbott def_bool n 536308c09f1SLaura Abbott 53761031952SRoss Zwislerconfig ARCH_HAS_PMEM_API 53861031952SRoss Zwisler bool 53961031952SRoss Zwisler 54033dd7075SDan Williamsconfig MEMREGION 54133dd7075SDan Williams bool 54233dd7075SDan Williams 5431156b441SDavidlohr Buesoconfig ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION 5441156b441SDavidlohr Bueso bool 5451156b441SDavidlohr Bueso 546c460697dSYicong Yangconfig GENERIC_CPU_CACHE_MAINTENANCE 547c460697dSYicong Yang bool 548c460697dSYicong Yang 5499ffc1d19SDan Williamsconfig ARCH_HAS_MEMREMAP_COMPAT_ALIGN 5509ffc1d19SDan Williams bool 5519ffc1d19SDan Williams 552bd79f947SChristoph Hellwig# use memcpy to implement user copies for nommu architectures 553bd79f947SChristoph Hellwigconfig UACCESS_MEMCPY 554bd79f947SChristoph Hellwig bool 555bd79f947SChristoph Hellwig 5560aed55afSDan Williamsconfig ARCH_HAS_UACCESS_FLUSHCACHE 5570aed55afSDan Williams bool 5580aed55afSDan Williams 559ec6347bbSDan Williams# arch has a concept of a recoverable synchronous exception due to a 560ec6347bbSDan Williams# memory-read error like x86 machine-check or ARM data-abort, and 561ec6347bbSDan Williams# implements copy_mc_to_{user,kernel} to abort and report 562ec6347bbSDan Williams# 'bytes-transferred' if that exception fires when accessing the source 563ec6347bbSDan Williams# buffer. 564ec6347bbSDan Williamsconfig ARCH_HAS_COPY_MC 565522239b4SDan Williams bool 566522239b4SDan Williams 567214d8ca6SThomas Gleixner# Temporary. Goes away when all archs are cleaned up 568214d8ca6SThomas Gleixnerconfig ARCH_STACKWALK 569214d8ca6SThomas Gleixner bool 570214d8ca6SThomas Gleixner 571cd11016eSAlexander Potapenkoconfig STACKDEPOT 572cd11016eSAlexander Potapenko bool 573cd11016eSAlexander Potapenko select STACKTRACE 574fc60e0caSAndrey Konovalov help 575fc60e0caSAndrey Konovalov Stack depot: stack trace storage that avoids duplication 576cd11016eSAlexander Potapenko 5772dba5eb1SVlastimil Babkaconfig STACKDEPOT_ALWAYS_INIT 5782dba5eb1SVlastimil Babka bool 5792dba5eb1SVlastimil Babka select STACKDEPOT 580fc60e0caSAndrey Konovalov help 581fc60e0caSAndrey Konovalov Always initialize stack depot during early boot 582fc60e0caSAndrey Konovalov 583fc60e0caSAndrey Konovalovconfig STACKDEPOT_MAX_FRAMES 584fc60e0caSAndrey Konovalov int "Maximum number of frames in trace saved in stack depot" 585fc60e0caSAndrey Konovalov range 1 256 586fc60e0caSAndrey Konovalov default 64 587fc60e0caSAndrey Konovalov depends on STACKDEPOT 5882dba5eb1SVlastimil Babka 5894e66934eSEric Dumazetconfig REF_TRACKER 5904e66934eSEric Dumazet bool 5914e66934eSEric Dumazet depends on STACKTRACE_SUPPORT 5924e66934eSEric Dumazet select STACKDEPOT 5934e66934eSEric Dumazet 59488459642SOmar Sandovalconfig SBITMAP 59588459642SOmar Sandoval bool 59688459642SOmar Sandoval 59744091d29SJiri Pirkoconfig PARMAN 5989d25af69SGeert Uytterhoeven tristate "parman" if COMPILE_TEST 59944091d29SJiri Pirko 6003dfdecc6SRandy Dunlapconfig OBJAGG 6013dfdecc6SRandy Dunlap tristate "objagg" if COMPILE_TEST 6023dfdecc6SRandy Dunlap 603de9e82c3SNeilBrownconfig LWQ_TEST 604de9e82c3SNeilBrown bool "Boot-time test for lwq queuing" 605de9e82c3SNeilBrown help 606de9e82c3SNeilBrown Run boot-time test of light-weight queuing. 607de9e82c3SNeilBrown 6082de4ff7bSThomas Grafendmenu 609b35cd988SPalmer Dabbelt 61080b0ca98SChristoph Hellwigconfig GENERIC_IOREMAP 61180b0ca98SChristoph Hellwig bool 61280b0ca98SChristoph Hellwig 613e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHLDI3 614b35cd988SPalmer Dabbelt bool 615b35cd988SPalmer Dabbelt 616e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHRDI3 617b35cd988SPalmer Dabbelt bool 618b35cd988SPalmer Dabbelt 619e3d59805SMatt Redfearnconfig GENERIC_LIB_LSHRDI3 620b35cd988SPalmer Dabbelt bool 621b35cd988SPalmer Dabbelt 622e3d59805SMatt Redfearnconfig GENERIC_LIB_MULDI3 623b35cd988SPalmer Dabbelt bool 624b35cd988SPalmer Dabbelt 625e3d59805SMatt Redfearnconfig GENERIC_LIB_CMPDI2 626b35cd988SPalmer Dabbelt bool 627b35cd988SPalmer Dabbelt 628e3d59805SMatt Redfearnconfig GENERIC_LIB_UCMPDI2 629b35cd988SPalmer Dabbelt bool 630b8265621SJacob Keller 631527701edSPalmer Dabbeltconfig GENERIC_LIB_DEVMEM_IS_ALLOWED 632527701edSPalmer Dabbelt bool 633527701edSPalmer Dabbelt 634b8265621SJacob Kellerconfig PLDMFW 635b8265621SJacob Keller bool 6361224b218SSimon Horman select CRC32 637b8265621SJacob Keller default n 638b0706762SJames Bottomley 639b0706762SJames Bottomleyconfig ASN1_ENCODER 640b0706762SJames Bottomley tristate 641cd705ea8SMichael Walle 642a103f466SDave Jiangconfig FIRMWARE_TABLE 643a103f466SDave Jiang bool 644bf9850f6SKuan-Wei Chiu 645bf9850f6SKuan-Wei Chiuconfig UNION_FIND 646bf9850f6SKuan-Wei Chiu bool 64792a8b224SKuan-Wei Chiu 64892a8b224SKuan-Wei Chiuconfig MIN_HEAP 64992a8b224SKuan-Wei Chiu bool 650