Back to home page

LXR

 
 

    


0001 #
0002 # Library configuration
0003 #
0004 
0005 config BINARY_PRINTF
0006         def_bool n
0007 
0008 menu "Library routines"
0009 
0010 config RAID6_PQ
0011         tristate
0012 
0013 config BITREVERSE
0014         tristate
0015 
0016 config HAVE_ARCH_BITREVERSE
0017         bool
0018         default n
0019         depends on BITREVERSE
0020         help
0021           This option enables the use of hardware bit-reversal instructions on
0022           architectures which support such operations.
0023 
0024 config RATIONAL
0025         bool
0026 
0027 config GENERIC_STRNCPY_FROM_USER
0028         bool
0029 
0030 config GENERIC_STRNLEN_USER
0031         bool
0032 
0033 config GENERIC_NET_UTILS
0034         bool
0035 
0036 config GENERIC_FIND_FIRST_BIT
0037         bool
0038 
0039 config NO_GENERIC_PCI_IOPORT_MAP
0040         bool
0041 
0042 config GENERIC_PCI_IOMAP
0043         bool
0044 
0045 config GENERIC_IOMAP
0046         bool
0047         select GENERIC_PCI_IOMAP
0048 
0049 config GENERIC_IO
0050         bool
0051         default n
0052 
0053 config STMP_DEVICE
0054         bool
0055 
0056 config ARCH_USE_CMPXCHG_LOCKREF
0057         bool
0058 
0059 config ARCH_HAS_FAST_MULTIPLIER
0060         bool
0061 
0062 config CRC_CCITT
0063         tristate "CRC-CCITT functions"
0064         help
0065           This option is provided for the case where no in-kernel-tree
0066           modules require CRC-CCITT functions, but a module built outside
0067           the kernel tree does. Such modules that use library CRC-CCITT
0068           functions require M here.
0069 
0070 config CRC16
0071         tristate "CRC16 functions"
0072         help
0073           This option is provided for the case where no in-kernel-tree
0074           modules require CRC16 functions, but a module built outside
0075           the kernel tree does. Such modules that use library CRC16
0076           functions require M here.
0077 
0078 config CRC_T10DIF
0079         tristate "CRC calculation for the T10 Data Integrity Field"
0080         select CRYPTO
0081         select CRYPTO_CRCT10DIF
0082         help
0083           This option is only needed if a module that's not in the
0084           kernel tree needs to calculate CRC checks for use with the
0085           SCSI data integrity subsystem.
0086 
0087 config CRC_ITU_T
0088         tristate "CRC ITU-T V.41 functions"
0089         help
0090           This option is provided for the case where no in-kernel-tree
0091           modules require CRC ITU-T V.41 functions, but a module built outside
0092           the kernel tree does. Such modules that use library CRC ITU-T V.41
0093           functions require M here.
0094 
0095 config CRC32
0096         tristate "CRC32/CRC32c functions"
0097         default y
0098         select BITREVERSE
0099         help
0100           This option is provided for the case where no in-kernel-tree
0101           modules require CRC32/CRC32c functions, but a module built outside
0102           the kernel tree does. Such modules that use library CRC32/CRC32c
0103           functions require M here.
0104 
0105 config CRC32_SELFTEST
0106         bool "CRC32 perform self test on init"
0107         default n
0108         depends on CRC32
0109         help
0110           This option enables the CRC32 library functions to perform a
0111           self test on initialization. The self test computes crc32_le
0112           and crc32_be over byte strings with random alignment and length
0113           and computes the total elapsed time and number of bytes processed.
0114 
0115 choice
0116         prompt "CRC32 implementation"
0117         depends on CRC32
0118         default CRC32_SLICEBY8
0119         help
0120           This option allows a kernel builder to override the default choice
0121           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
0122           know that you need one of the others.
0123 
0124 config CRC32_SLICEBY8
0125         bool "Slice by 8 bytes"
0126         help
0127           Calculate checksum 8 bytes at a time with a clever slicing algorithm.
0128           This is the fastest algorithm, but comes with a 8KiB lookup table.
0129           Most modern processors have enough cache to hold this table without
0130           thrashing the cache.
0131 
0132           This is the default implementation choice.  Choose this one unless
0133           you have a good reason not to.
0134 
0135 config CRC32_SLICEBY4
0136         bool "Slice by 4 bytes"
0137         help
0138           Calculate checksum 4 bytes at a time with a clever slicing algorithm.
0139           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
0140           table.
0141 
0142           Only choose this option if you know what you are doing.
0143 
0144 config CRC32_SARWATE
0145         bool "Sarwate's Algorithm (one byte at a time)"
0146         help
0147           Calculate checksum a byte at a time using Sarwate's algorithm.  This
0148           is not particularly fast, but has a small 256 byte lookup table.
0149 
0150           Only choose this option if you know what you are doing.
0151 
0152 config CRC32_BIT
0153         bool "Classic Algorithm (one bit at a time)"
0154         help
0155           Calculate checksum one bit at a time.  This is VERY slow, but has
0156           no lookup table.  This is provided as a debugging option.
0157 
0158           Only choose this option if you are debugging crc32.
0159 
0160 endchoice
0161 
0162 config CRC7
0163         tristate "CRC7 functions"
0164         help
0165           This option is provided for the case where no in-kernel-tree
0166           modules require CRC7 functions, but a module built outside
0167           the kernel tree does. Such modules that use library CRC7
0168           functions require M here.
0169 
0170 config LIBCRC32C
0171         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
0172         select CRYPTO
0173         select CRYPTO_CRC32C
0174         help
0175           This option is provided for the case where no in-kernel-tree
0176           modules require CRC32c functions, but a module built outside the
0177           kernel tree does. Such modules that use library CRC32c functions
0178           require M here.  See Castagnoli93.
0179           Module will be libcrc32c.
0180 
0181 config CRC8
0182         tristate "CRC8 function"
0183         help
0184           This option provides CRC8 function. Drivers may select this
0185           when they need to do cyclic redundancy check according CRC8
0186           algorithm. Module will be called crc8.
0187 
0188 config AUDIT_GENERIC
0189         bool
0190         depends on AUDIT && !AUDIT_ARCH
0191         default y
0192 
0193 config AUDIT_ARCH_COMPAT_GENERIC
0194         bool
0195         default n
0196 
0197 config AUDIT_COMPAT_GENERIC
0198         bool
0199         depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
0200         default y
0201 
0202 config RANDOM32_SELFTEST
0203         bool "PRNG perform self test on init"
0204         default n
0205         help
0206           This option enables the 32 bit PRNG library functions to perform a
0207           self test on initialization.
0208 
0209 #
0210 # compression support is select'ed if needed
0211 #
0212 config 842_COMPRESS
0213         select CRC32
0214         tristate
0215 
0216 config 842_DECOMPRESS
0217         select CRC32
0218         tristate
0219 
0220 config ZLIB_INFLATE
0221         tristate
0222 
0223 config ZLIB_DEFLATE
0224         tristate
0225         select BITREVERSE
0226 
0227 config LZO_COMPRESS
0228         tristate
0229 
0230 config LZO_DECOMPRESS
0231         tristate
0232 
0233 config LZ4_COMPRESS
0234         tristate
0235 
0236 config LZ4HC_COMPRESS
0237         tristate
0238 
0239 config LZ4_DECOMPRESS
0240         tristate
0241 
0242 source "lib/xz/Kconfig"
0243 
0244 #
0245 # These all provide a common interface (hence the apparent duplication with
0246 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
0247 #
0248 config DECOMPRESS_GZIP
0249         select ZLIB_INFLATE
0250         tristate
0251 
0252 config DECOMPRESS_BZIP2
0253         tristate
0254 
0255 config DECOMPRESS_LZMA
0256         tristate
0257 
0258 config DECOMPRESS_XZ
0259         select XZ_DEC
0260         tristate
0261 
0262 config DECOMPRESS_LZO
0263         select LZO_DECOMPRESS
0264         tristate
0265 
0266 config DECOMPRESS_LZ4
0267         select LZ4_DECOMPRESS
0268         tristate
0269 
0270 #
0271 # Generic allocator support is selected if needed
0272 #
0273 config GENERIC_ALLOCATOR
0274         bool
0275 
0276 #
0277 # reed solomon support is select'ed if needed
0278 #
0279 config REED_SOLOMON
0280         tristate
0281         
0282 config REED_SOLOMON_ENC8
0283         bool
0284 
0285 config REED_SOLOMON_DEC8
0286         bool
0287 
0288 config REED_SOLOMON_ENC16
0289         bool
0290 
0291 config REED_SOLOMON_DEC16
0292         bool
0293 
0294 #
0295 # BCH support is selected if needed
0296 #
0297 config BCH
0298         tristate
0299 
0300 config BCH_CONST_PARAMS
0301         bool
0302         help
0303           Drivers may select this option to force specific constant
0304           values for parameters 'm' (Galois field order) and 't'
0305           (error correction capability). Those specific values must
0306           be set by declaring default values for symbols BCH_CONST_M
0307           and BCH_CONST_T.
0308           Doing so will enable extra compiler optimizations,
0309           improving encoding and decoding performance up to 2x for
0310           usual (m,t) values (typically such that m*t < 200).
0311           When this option is selected, the BCH library supports
0312           only a single (m,t) configuration. This is mainly useful
0313           for NAND flash board drivers requiring known, fixed BCH
0314           parameters.
0315 
0316 config BCH_CONST_M
0317         int
0318         range 5 15
0319         help
0320           Constant value for Galois field order 'm'. If 'k' is the
0321           number of data bits to protect, 'm' should be chosen such
0322           that (k + m*t) <= 2**m - 1.
0323           Drivers should declare a default value for this symbol if
0324           they select option BCH_CONST_PARAMS.
0325 
0326 config BCH_CONST_T
0327         int
0328         help
0329           Constant value for error correction capability in bits 't'.
0330           Drivers should declare a default value for this symbol if
0331           they select option BCH_CONST_PARAMS.
0332 
0333 #
0334 # Textsearch support is select'ed if needed
0335 #
0336 config TEXTSEARCH
0337         bool
0338 
0339 config TEXTSEARCH_KMP
0340         tristate
0341 
0342 config TEXTSEARCH_BM
0343         tristate
0344 
0345 config TEXTSEARCH_FSM
0346         tristate
0347 
0348 config BTREE
0349         bool
0350 
0351 config INTERVAL_TREE
0352         bool
0353         help
0354           Simple, embeddable, interval-tree. Can find the start of an
0355           overlapping range in log(n) time and then iterate over all
0356           overlapping nodes. The algorithm is implemented as an
0357           augmented rbtree.
0358 
0359           See:
0360 
0361                 Documentation/rbtree.txt
0362 
0363           for more information.
0364 
0365 config RADIX_TREE_MULTIORDER
0366         bool
0367 
0368 config ASSOCIATIVE_ARRAY
0369         bool
0370         help
0371           Generic associative array.  Can be searched and iterated over whilst
0372           it is being modified.  It is also reasonably quick to search and
0373           modify.  The algorithms are non-recursive, and the trees are highly
0374           capacious.
0375 
0376           See:
0377 
0378                 Documentation/assoc_array.txt
0379 
0380           for more information.
0381 
0382 config HAS_IOMEM
0383         bool
0384         depends on !NO_IOMEM
0385         select GENERIC_IO
0386         default y
0387 
0388 config HAS_IOPORT_MAP
0389         bool
0390         depends on HAS_IOMEM && !NO_IOPORT_MAP
0391         default y
0392 
0393 config HAS_DMA
0394         bool
0395         depends on !NO_DMA
0396         default y
0397 
0398 config CHECK_SIGNATURE
0399         bool
0400 
0401 config CPUMASK_OFFSTACK
0402         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
0403         help
0404           Use dynamic allocation for cpumask_var_t, instead of putting
0405           them on the stack.  This is a bit more expensive, but avoids
0406           stack overflow.
0407 
0408 config CPU_RMAP
0409         bool
0410         depends on SMP
0411 
0412 config DQL
0413         bool
0414 
0415 config GLOB
0416         bool
0417 #       This actually supports modular compilation, but the module overhead
0418 #       is ridiculous for the amount of code involved.  Until an out-of-tree
0419 #       driver asks for it, we'll just link it directly it into the kernel
0420 #       when required.  Since we're ignoring out-of-tree users, there's also
0421 #       no need bother prompting for a manual decision:
0422 #       prompt "glob_match() function"
0423         help
0424           This option provides a glob_match function for performing
0425           simple text pattern matching.  It originated in the ATA code
0426           to blacklist particular drive models, but other device drivers
0427           may need similar functionality.
0428 
0429           All drivers in the Linux kernel tree that require this function
0430           should automatically select this option.  Say N unless you
0431           are compiling an out-of tree driver which tells you that it
0432           depends on this.
0433 
0434 config GLOB_SELFTEST
0435         bool "glob self-test on init"
0436         default n
0437         depends on GLOB
0438         help
0439           This option enables a simple self-test of the glob_match
0440           function on startup.  It is primarily useful for people
0441           working on the code to ensure they haven't introduced any
0442           regressions.
0443 
0444           It only adds a little bit of code and slows kernel boot (or
0445           module load) by a small amount, so you're welcome to play with
0446           it, but you probably don't need it.
0447 
0448 #
0449 # Netlink attribute parsing support is select'ed if needed
0450 #
0451 config NLATTR
0452         bool
0453 
0454 #
0455 # Generic 64-bit atomic support is selected if needed
0456 #
0457 config GENERIC_ATOMIC64
0458        bool
0459 
0460 config LRU_CACHE
0461         tristate
0462 
0463 config CLZ_TAB
0464         bool
0465 
0466 config CORDIC
0467         tristate "CORDIC algorithm"
0468         help
0469           This option provides an implementation of the CORDIC algorithm;
0470           calculations are in fixed point. Module will be called cordic.
0471 
0472 config DDR
0473         bool "JEDEC DDR data"
0474         help
0475           Data from JEDEC specs for DDR SDRAM memories,
0476           particularly the AC timing parameters and addressing
0477           information. This data is useful for drivers handling
0478           DDR SDRAM controllers.
0479 
0480 config IRQ_POLL
0481         bool "IRQ polling library"
0482         help
0483           Helper library to poll interrupt mitigation using polling.
0484 
0485 config MPILIB
0486         tristate
0487         select CLZ_TAB
0488         help
0489           Multiprecision maths library from GnuPG.
0490           It is used to implement RSA digital signature verification,
0491           which is used by IMA/EVM digital signature extension.
0492 
0493 config SIGNATURE
0494         tristate
0495         depends on KEYS
0496         select CRYPTO
0497         select CRYPTO_SHA1
0498         select MPILIB
0499         help
0500           Digital signature verification. Currently only RSA is supported.
0501           Implementation is done using GnuPG MPI library
0502 
0503 #
0504 # libfdt files, only selected if needed.
0505 #
0506 config LIBFDT
0507         bool
0508 
0509 config OID_REGISTRY
0510         tristate
0511         help
0512           Enable fast lookup object identifier registry.
0513 
0514 config UCS2_STRING
0515         tristate
0516 
0517 source "lib/fonts/Kconfig"
0518 
0519 config SG_SPLIT
0520         def_bool n
0521         help
0522          Provides a helper to split scatterlists into chunks, each chunk being
0523          a scatterlist. This should be selected by a driver or an API which
0524          whishes to split a scatterlist amongst multiple DMA channels.
0525 
0526 config SG_POOL
0527         def_bool n
0528         help
0529          Provides a helper to allocate chained scatterlists. This should be
0530          selected by a driver or an API which whishes to allocate chained
0531          scatterlist.
0532 
0533 #
0534 # sg chaining option
0535 #
0536 
0537 config ARCH_HAS_SG_CHAIN
0538         def_bool n
0539 
0540 config ARCH_HAS_PMEM_API
0541         bool
0542 
0543 config ARCH_HAS_MMIO_FLUSH
0544         bool
0545 
0546 config STACKDEPOT
0547         bool
0548         select STACKTRACE
0549 
0550 config SBITMAP
0551         bool
0552 
0553 endmenu