linux/lib/Kconfig
<<
>>
Prefs
   1#
   2# Library configuration
   3#
   4
   5config BINARY_PRINTF
   6        def_bool n
   7
   8menu "Library routines"
   9
  10config RAID6_PQ
  11        tristate
  12
  13config BITREVERSE
  14        tristate
  15
  16config HAVE_ARCH_BITREVERSE
  17        bool
  18        default n
  19        depends on BITREVERSE
  20        help
  21          This option enables the use of hardware bit-reversal instructions on
  22          architectures which support such operations.
  23
  24config RATIONAL
  25        bool
  26
  27config GENERIC_STRNCPY_FROM_USER
  28        bool
  29
  30config GENERIC_STRNLEN_USER
  31        bool
  32
  33config GENERIC_NET_UTILS
  34        bool
  35
  36config GENERIC_FIND_FIRST_BIT
  37        bool
  38
  39config NO_GENERIC_PCI_IOPORT_MAP
  40        bool
  41
  42config GENERIC_PCI_IOMAP
  43        bool
  44
  45config GENERIC_IOMAP
  46        bool
  47        select GENERIC_PCI_IOMAP
  48
  49config GENERIC_IO
  50        bool
  51        default n
  52
  53config STMP_DEVICE
  54        bool
  55
  56config ARCH_USE_CMPXCHG_LOCKREF
  57        bool
  58
  59config ARCH_HAS_FAST_MULTIPLIER
  60        bool
  61
  62config CRC_CCITT
  63        tristate "CRC-CCITT functions"
  64        help
  65          This option is provided for the case where no in-kernel-tree
  66          modules require CRC-CCITT functions, but a module built outside
  67          the kernel tree does. Such modules that use library CRC-CCITT
  68          functions require M here.
  69
  70config CRC16
  71        tristate "CRC16 functions"
  72        help
  73          This option is provided for the case where no in-kernel-tree
  74          modules require CRC16 functions, but a module built outside
  75          the kernel tree does. Such modules that use library CRC16
  76          functions require M here.
  77
  78config CRC_T10DIF
  79        tristate "CRC calculation for the T10 Data Integrity Field"
  80        select CRYPTO
  81        select CRYPTO_CRCT10DIF
  82        help
  83          This option is only needed if a module that's not in the
  84          kernel tree needs to calculate CRC checks for use with the
  85          SCSI data integrity subsystem.
  86
  87config CRC_ITU_T
  88        tristate "CRC ITU-T V.41 functions"
  89        help
  90          This option is provided for the case where no in-kernel-tree
  91          modules require CRC ITU-T V.41 functions, but a module built outside
  92          the kernel tree does. Such modules that use library CRC ITU-T V.41
  93          functions require M here.
  94
  95config CRC32
  96        tristate "CRC32/CRC32c functions"
  97        default y
  98        select BITREVERSE
  99        help
 100          This option is provided for the case where no in-kernel-tree
 101          modules require CRC32/CRC32c functions, but a module built outside
 102          the kernel tree does. Such modules that use library CRC32/CRC32c
 103          functions require M here.
 104
 105config CRC32_SELFTEST
 106        bool "CRC32 perform self test on init"
 107        default n
 108        depends on CRC32
 109        help
 110          This option enables the CRC32 library functions to perform a
 111          self test on initialization. The self test computes crc32_le
 112          and crc32_be over byte strings with random alignment and length
 113          and computes the total elapsed time and number of bytes processed.
 114
 115choice
 116        prompt "CRC32 implementation"
 117        depends on CRC32
 118        default CRC32_SLICEBY8
 119        help
 120          This option allows a kernel builder to override the default choice
 121          of CRC32 algorithm.  Choose the default ("slice by 8") unless you
 122          know that you need one of the others.
 123
 124config CRC32_SLICEBY8
 125        bool "Slice by 8 bytes"
 126        help
 127          Calculate checksum 8 bytes at a time with a clever slicing algorithm.
 128          This is the fastest algorithm, but comes with a 8KiB lookup table.
 129          Most modern processors have enough cache to hold this table without
 130          thrashing the cache.
 131
 132          This is the default implementation choice.  Choose this one unless
 133          you have a good reason not to.
 134
 135config CRC32_SLICEBY4
 136        bool "Slice by 4 bytes"
 137        help
 138          Calculate checksum 4 bytes at a time with a clever slicing algorithm.
 139          This is a bit slower than slice by 8, but has a smaller 4KiB lookup
 140          table.
 141
 142          Only choose this option if you know what you are doing.
 143
 144config CRC32_SARWATE
 145        bool "Sarwate's Algorithm (one byte at a time)"
 146        help
 147          Calculate checksum a byte at a time using Sarwate's algorithm.  This
 148          is not particularly fast, but has a small 256 byte lookup table.
 149
 150          Only choose this option if you know what you are doing.
 151
 152config CRC32_BIT
 153        bool "Classic Algorithm (one bit at a time)"
 154        help
 155          Calculate checksum one bit at a time.  This is VERY slow, but has
 156          no lookup table.  This is provided as a debugging option.
 157
 158          Only choose this option if you are debugging crc32.
 159
 160endchoice
 161
 162config CRC7
 163        tristate "CRC7 functions"
 164        help
 165          This option is provided for the case where no in-kernel-tree
 166          modules require CRC7 functions, but a module built outside
 167          the kernel tree does. Such modules that use library CRC7
 168          functions require M here.
 169
 170config LIBCRC32C
 171        tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
 172        select CRYPTO
 173        select CRYPTO_CRC32C
 174        help
 175          This option is provided for the case where no in-kernel-tree
 176          modules require CRC32c functions, but a module built outside the
 177          kernel tree does. Such modules that use library CRC32c functions
 178          require M here.  See Castagnoli93.
 179          Module will be libcrc32c.
 180
 181config CRC8
 182        tristate "CRC8 function"
 183        help
 184          This option provides CRC8 function. Drivers may select this
 185          when they need to do cyclic redundancy check according CRC8
 186          algorithm. Module will be called crc8.
 187
 188config AUDIT_GENERIC
 189        bool
 190        depends on AUDIT && !AUDIT_ARCH
 191        default y
 192
 193config AUDIT_ARCH_COMPAT_GENERIC
 194        bool
 195        default n
 196
 197config AUDIT_COMPAT_GENERIC
 198        bool
 199        depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
 200        default y
 201
 202config RANDOM32_SELFTEST
 203        bool "PRNG perform self test on init"
 204        default n
 205        help
 206          This option enables the 32 bit PRNG library functions to perform a
 207          self test on initialization.
 208
 209#
 210# compression support is select'ed if needed
 211#
 212config 842_COMPRESS
 213        select CRC32
 214        tristate
 215
 216config 842_DECOMPRESS
 217        select CRC32
 218        tristate
 219
 220config ZLIB_INFLATE
 221        tristate
 222
 223config ZLIB_DEFLATE
 224        tristate
 225        select BITREVERSE
 226
 227config LZO_COMPRESS
 228        tristate
 229
 230config LZO_DECOMPRESS
 231        tristate
 232
 233config LZ4_COMPRESS
 234        tristate
 235
 236config LZ4HC_COMPRESS
 237        tristate
 238
 239config LZ4_DECOMPRESS
 240        tristate
 241
 242source "lib/xz/Kconfig"
 243
 244#
 245# These all provide a common interface (hence the apparent duplication with
 246# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
 247#
 248config DECOMPRESS_GZIP
 249        select ZLIB_INFLATE
 250        tristate
 251
 252config DECOMPRESS_BZIP2
 253        tristate
 254
 255config DECOMPRESS_LZMA
 256        tristate
 257
 258config DECOMPRESS_XZ
 259        select XZ_DEC
 260        tristate
 261
 262config DECOMPRESS_LZO
 263        select LZO_DECOMPRESS
 264        tristate
 265
 266config DECOMPRESS_LZ4
 267        select LZ4_DECOMPRESS
 268        tristate
 269
 270#
 271# Generic allocator support is selected if needed
 272#
 273config GENERIC_ALLOCATOR
 274        bool
 275
 276#
 277# reed solomon support is select'ed if needed
 278#
 279config REED_SOLOMON
 280        tristate
 281        
 282config REED_SOLOMON_ENC8
 283        bool
 284
 285config REED_SOLOMON_DEC8
 286        bool
 287
 288config REED_SOLOMON_ENC16
 289        bool
 290
 291config REED_SOLOMON_DEC16
 292        bool
 293
 294#
 295# BCH support is selected if needed
 296#
 297config BCH
 298        tristate
 299
 300config BCH_CONST_PARAMS
 301        bool
 302        help
 303          Drivers may select this option to force specific constant
 304          values for parameters 'm' (Galois field order) and 't'
 305          (error correction capability). Those specific values must
 306          be set by declaring default values for symbols BCH_CONST_M
 307          and BCH_CONST_T.
 308          Doing so will enable extra compiler optimizations,
 309          improving encoding and decoding performance up to 2x for
 310          usual (m,t) values (typically such that m*t < 200).
 311          When this option is selected, the BCH library supports
 312          only a single (m,t) configuration. This is mainly useful
 313          for NAND flash board drivers requiring known, fixed BCH
 314          parameters.
 315
 316config BCH_CONST_M
 317        int
 318        range 5 15
 319        help
 320          Constant value for Galois field order 'm'. If 'k' is the
 321          number of data bits to protect, 'm' should be chosen such
 322          that (k + m*t) <= 2**m - 1.
 323          Drivers should declare a default value for this symbol if
 324          they select option BCH_CONST_PARAMS.
 325
 326config BCH_CONST_T
 327        int
 328        help
 329          Constant value for error correction capability in bits 't'.
 330          Drivers should declare a default value for this symbol if
 331          they select option BCH_CONST_PARAMS.
 332
 333#
 334# Textsearch support is select'ed if needed
 335#
 336config TEXTSEARCH
 337        bool
 338
 339config TEXTSEARCH_KMP
 340        tristate
 341
 342config TEXTSEARCH_BM
 343        tristate
 344
 345config TEXTSEARCH_FSM
 346        tristate
 347
 348config BTREE
 349        bool
 350
 351config INTERVAL_TREE
 352        bool
 353        help
 354          Simple, embeddable, interval-tree. Can find the start of an
 355          overlapping range in log(n) time and then iterate over all
 356          overlapping nodes. The algorithm is implemented as an
 357          augmented rbtree.
 358
 359          See:
 360
 361                Documentation/rbtree.txt
 362
 363          for more information.
 364
 365config ASSOCIATIVE_ARRAY
 366        bool
 367        help
 368          Generic associative array.  Can be searched and iterated over whilst
 369          it is being modified.  It is also reasonably quick to search and
 370          modify.  The algorithms are non-recursive, and the trees are highly
 371          capacious.
 372
 373          See:
 374
 375                Documentation/assoc_array.txt
 376
 377          for more information.
 378
 379config HAS_IOMEM
 380        bool
 381        depends on !NO_IOMEM
 382        select GENERIC_IO
 383        default y
 384
 385config HAS_IOPORT_MAP
 386        bool
 387        depends on HAS_IOMEM && !NO_IOPORT_MAP
 388        default y
 389
 390config HAS_DMA
 391        bool
 392        depends on !NO_DMA
 393        default y
 394
 395config CHECK_SIGNATURE
 396        bool
 397
 398config CPUMASK_OFFSTACK
 399        bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
 400        help
 401          Use dynamic allocation for cpumask_var_t, instead of putting
 402          them on the stack.  This is a bit more expensive, but avoids
 403          stack overflow.
 404
 405config CPU_RMAP
 406        bool
 407        depends on SMP
 408
 409config DQL
 410        bool
 411
 412config GLOB
 413        bool
 414#       This actually supports modular compilation, but the module overhead
 415#       is ridiculous for the amount of code involved.  Until an out-of-tree
 416#       driver asks for it, we'll just link it directly it into the kernel
 417#       when required.  Since we're ignoring out-of-tree users, there's also
 418#       no need bother prompting for a manual decision:
 419#       prompt "glob_match() function"
 420        help
 421          This option provides a glob_match function for performing
 422          simple text pattern matching.  It originated in the ATA code
 423          to blacklist particular drive models, but other device drivers
 424          may need similar functionality.
 425
 426          All drivers in the Linux kernel tree that require this function
 427          should automatically select this option.  Say N unless you
 428          are compiling an out-of tree driver which tells you that it
 429          depends on this.
 430
 431config GLOB_SELFTEST
 432        bool "glob self-test on init"
 433        default n
 434        depends on GLOB
 435        help
 436          This option enables a simple self-test of the glob_match
 437          function on startup.  It is primarily useful for people
 438          working on the code to ensure they haven't introduced any
 439          regressions.
 440
 441          It only adds a little bit of code and slows kernel boot (or
 442          module load) by a small amount, so you're welcome to play with
 443          it, but you probably don't need it.
 444
 445#
 446# Netlink attribute parsing support is select'ed if needed
 447#
 448config NLATTR
 449        bool
 450
 451#
 452# Generic 64-bit atomic support is selected if needed
 453#
 454config GENERIC_ATOMIC64
 455       bool
 456
 457config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 458        def_bool y if GENERIC_ATOMIC64
 459
 460config LRU_CACHE
 461        tristate
 462
 463config CLZ_TAB
 464        bool
 465
 466config CORDIC
 467        tristate "CORDIC algorithm"
 468        help
 469          This option provides an implementation of the CORDIC algorithm;
 470          calculations are in fixed point. Module will be called cordic.
 471
 472config DDR
 473        bool "JEDEC DDR data"
 474        help
 475          Data from JEDEC specs for DDR SDRAM memories,
 476          particularly the AC timing parameters and addressing
 477          information. This data is useful for drivers handling
 478          DDR SDRAM controllers.
 479
 480config IRQ_POLL
 481        bool "IRQ polling library"
 482        help
 483          Helper library to poll interrupt mitigation using polling.
 484
 485config MPILIB
 486        tristate
 487        select CLZ_TAB
 488        help
 489          Multiprecision maths library from GnuPG.
 490          It is used to implement RSA digital signature verification,
 491          which is used by IMA/EVM digital signature extension.
 492
 493config SIGNATURE
 494        tristate
 495        depends on KEYS
 496        select CRYPTO
 497        select CRYPTO_SHA1
 498        select MPILIB
 499        help
 500          Digital signature verification. Currently only RSA is supported.
 501          Implementation is done using GnuPG MPI library
 502
 503#
 504# libfdt files, only selected if needed.
 505#
 506config LIBFDT
 507        bool
 508
 509config OID_REGISTRY
 510        tristate
 511        help
 512          Enable fast lookup object identifier registry.
 513
 514config UCS2_STRING
 515        tristate
 516
 517source "lib/fonts/Kconfig"
 518
 519config SG_SPLIT
 520        def_bool n
 521        help
 522         Provides a helper to split scatterlists into chunks, each chunk being
 523         a scatterlist. This should be selected by a driver or an API which
 524         whishes to split a scatterlist amongst multiple DMA channels.
 525
 526#
 527# sg chaining option
 528#
 529
 530config ARCH_HAS_SG_CHAIN
 531        def_bool n
 532
 533config ARCH_HAS_PMEM_API
 534        bool
 535
 536config ARCH_HAS_MMIO_FLUSH
 537        bool
 538
 539config STACKDEPOT
 540        bool
 541        select STACKTRACE
 542
 543endmenu
 544