blob: c5da1548b964317c0a26f35f56f3c50ad06c638d [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Library configuration
3#
4
Lai Jiangshan4370aa42009-03-06 17:21:46 +01005config BINARY_PRINTF
6 def_bool n
7
Linus Torvalds1da177e2005-04-16 15:20:36 -07008menu "Library routines"
9
David Woodhousef5e70d02009-07-13 11:35:12 +010010config RAID6_PQ
11 tristate
12
Akinobu Mitaa5cfc1ec582006-12-08 02:36:25 -080013config BITREVERSE
14 tristate
15
Oskar Schirmer8759ef32009-06-11 14:51:15 +010016config RATIONAL
17 boolean
18
Alexander van Heukelum19870de2008-04-25 13:12:53 +020019config GENERIC_FIND_FIRST_BIT
Jan Beulich9ba16082008-10-15 22:01:38 -070020 bool
Alexander van Heukelum19870de2008-04-25 13:12:53 +020021
Michael S. Tsirkinb9236502012-01-30 00:20:48 +020022config NO_GENERIC_PCI_IOPORT_MAP
23 bool
24
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020025config GENERIC_PCI_IOMAP
26 bool
27
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020028config GENERIC_IOMAP
29 bool
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020030 select GENERIC_PCI_IOMAP
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020031
Richard Weinberger087fafd2012-02-07 01:22:46 +010032config GENERIC_IO
33 boolean
34 default n
35
Wolfram Sang4ccf4be2011-08-31 20:35:40 +020036config STMP_DEVICE
37 bool
38
Linus Torvalds1da177e2005-04-16 15:20:36 -070039config CRC_CCITT
40 tristate "CRC-CCITT functions"
41 help
42 This option is provided for the case where no in-kernel-tree
43 modules require CRC-CCITT functions, but a module built outside
44 the kernel tree does. Such modules that use library CRC-CCITT
45 functions require M here.
46
Evgeniy Polyakov7657ec12005-08-17 15:17:26 +040047config CRC16
48 tristate "CRC16 functions"
49 help
50 This option is provided for the case where no in-kernel-tree
51 modules require CRC16 functions, but a module built outside
52 the kernel tree does. Such modules that use library CRC16
53 functions require M here.
54
Martin K. Petersenf11f5942008-06-25 11:22:42 -040055config CRC_T10DIF
56 tristate "CRC calculation for the T10 Data Integrity Field"
57 help
58 This option is only needed if a module that's not in the
59 kernel tree needs to calculate CRC checks for use with the
60 SCSI data integrity subsystem.
61
Ivo van Doorn3e7cbae2006-06-12 16:17:04 +020062config CRC_ITU_T
63 tristate "CRC ITU-T V.41 functions"
64 help
65 This option is provided for the case where no in-kernel-tree
66 modules require CRC ITU-T V.41 functions, but a module built outside
67 the kernel tree does. Such modules that use library CRC ITU-T V.41
68 functions require M here.
69
Linus Torvalds1da177e2005-04-16 15:20:36 -070070config CRC32
Darrick J. Wong46c58012012-03-23 15:02:25 -070071 tristate "CRC32/CRC32c functions"
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 default y
Akinobu Mita906d66d2006-12-08 02:36:25 -080073 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 help
75 This option is provided for the case where no in-kernel-tree
Darrick J. Wong46c58012012-03-23 15:02:25 -070076 modules require CRC32/CRC32c functions, but a module built outside
77 the kernel tree does. Such modules that use library CRC32/CRC32c
78 functions require M here.
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
Bob Pearson3863ef32012-03-23 15:02:22 -070080config CRC32_SELFTEST
81 bool "CRC32 perform self test on init"
82 default n
83 depends on CRC32
84 help
85 This option enables the CRC32 library functions to perform a
86 self test on initialization. The self test computes crc32_le
87 and crc32_be over byte strings with random alignment and length
88 and computes the total elapsed time and number of bytes processed.
89
Darrick J. Wong5cde7652012-03-23 15:02:26 -070090choice
91 prompt "CRC32 implementation"
92 depends on CRC32
93 default CRC32_SLICEBY8
Darrick J. Wong82edb4b2012-03-28 14:42:56 -070094 help
95 This option allows a kernel builder to override the default choice
96 of CRC32 algorithm. Choose the default ("slice by 8") unless you
97 know that you need one of the others.
Darrick J. Wong5cde7652012-03-23 15:02:26 -070098
99config CRC32_SLICEBY8
100 bool "Slice by 8 bytes"
101 help
102 Calculate checksum 8 bytes at a time with a clever slicing algorithm.
103 This is the fastest algorithm, but comes with a 8KiB lookup table.
104 Most modern processors have enough cache to hold this table without
105 thrashing the cache.
106
107 This is the default implementation choice. Choose this one unless
108 you have a good reason not to.
109
110config CRC32_SLICEBY4
111 bool "Slice by 4 bytes"
112 help
113 Calculate checksum 4 bytes at a time with a clever slicing algorithm.
114 This is a bit slower than slice by 8, but has a smaller 4KiB lookup
115 table.
116
117 Only choose this option if you know what you are doing.
118
119config CRC32_SARWATE
120 bool "Sarwate's Algorithm (one byte at a time)"
121 help
122 Calculate checksum a byte at a time using Sarwate's algorithm. This
123 is not particularly fast, but has a small 256 byte lookup table.
124
125 Only choose this option if you know what you are doing.
126
127config CRC32_BIT
128 bool "Classic Algorithm (one bit at a time)"
129 help
130 Calculate checksum one bit at a time. This is VERY slow, but has
131 no lookup table. This is provided as a debugging option.
132
133 Only choose this option if you are debugging crc32.
134
135endchoice
136
Jan Nikitenkoad241522007-07-17 04:04:03 -0700137config CRC7
138 tristate "CRC7 functions"
139 help
140 This option is provided for the case where no in-kernel-tree
141 modules require CRC7 functions, but a module built outside
142 the kernel tree does. Such modules that use library CRC7
143 functions require M here.
144
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145config LIBCRC32C
146 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
Herbert Xu93027352008-11-13 22:05:13 +0800147 select CRYPTO
Herbert Xu69c35ef2008-11-07 15:11:47 +0800148 select CRYPTO_CRC32C
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149 help
150 This option is provided for the case where no in-kernel-tree
151 modules require CRC32c functions, but a module built outside the
152 kernel tree does. Such modules that use library CRC32c functions
153 require M here. See Castagnoli93.
154 Module will be libcrc32c.
155
Arend van Spriel71509622011-05-31 11:22:15 +0200156config CRC8
157 tristate "CRC8 function"
158 help
159 This option provides CRC8 function. Drivers may select this
160 when they need to do cyclic redundancy check according CRC8
161 algorithm. Module will be called crc8.
162
Al Viroe65e1fc2006-09-12 03:04:40 -0400163config AUDIT_GENERIC
164 bool
165 depends on AUDIT && !AUDIT_ARCH
166 default y
167
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168#
169# compression support is select'ed if needed
170#
171config ZLIB_INFLATE
172 tristate
173
174config ZLIB_DEFLATE
175 tristate
176
Richard Purdie64c70b12007-07-10 17:22:24 -0700177config LZO_COMPRESS
178 tristate
179
180config LZO_DECOMPRESS
181 tristate
182
Lasse Collin24fa0402011-01-12 17:01:22 -0800183source "lib/xz/Kconfig"
184
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800186# These all provide a common interface (hence the apparent duplication with
187# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
188#
189config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800190 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800191 tristate
192
193config DECOMPRESS_BZIP2
194 tristate
195
196config DECOMPRESS_LZMA
197 tristate
198
Lasse Collin3ebe1242011-01-12 17:01:23 -0800199config DECOMPRESS_XZ
200 select XZ_DEC
201 tristate
202
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800203config DECOMPRESS_LZO
204 select LZO_DECOMPRESS
205 tristate
206
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800207#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700208# Generic allocator support is selected if needed
209#
210config GENERIC_ALLOCATOR
211 boolean
212
213#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214# reed solomon support is select'ed if needed
215#
216config REED_SOLOMON
217 tristate
218
219config REED_SOLOMON_ENC8
220 boolean
221
222config REED_SOLOMON_DEC8
223 boolean
224
225config REED_SOLOMON_ENC16
226 boolean
227
228config REED_SOLOMON_DEC16
229 boolean
230
David S. Millerf7704342005-06-24 17:39:03 -0700231#
Ivan Djelic437aa562011-03-11 11:05:32 +0100232# BCH support is selected if needed
233#
234config BCH
235 tristate
236
237config BCH_CONST_PARAMS
238 boolean
239 help
240 Drivers may select this option to force specific constant
241 values for parameters 'm' (Galois field order) and 't'
242 (error correction capability). Those specific values must
243 be set by declaring default values for symbols BCH_CONST_M
244 and BCH_CONST_T.
245 Doing so will enable extra compiler optimizations,
246 improving encoding and decoding performance up to 2x for
247 usual (m,t) values (typically such that m*t < 200).
248 When this option is selected, the BCH library supports
249 only a single (m,t) configuration. This is mainly useful
250 for NAND flash board drivers requiring known, fixed BCH
251 parameters.
252
253config BCH_CONST_M
254 int
255 range 5 15
256 help
257 Constant value for Galois field order 'm'. If 'k' is the
258 number of data bits to protect, 'm' should be chosen such
259 that (k + m*t) <= 2**m - 1.
260 Drivers should declare a default value for this symbol if
261 they select option BCH_CONST_PARAMS.
262
263config BCH_CONST_T
264 int
265 help
266 Constant value for error correction capability in bits 't'.
267 Drivers should declare a default value for this symbol if
268 they select option BCH_CONST_PARAMS.
269
270#
David S. Millerf7704342005-06-24 17:39:03 -0700271# Textsearch support is select'ed if needed
272#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700273config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700274 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275
Thomas Grafdf3fb932005-06-23 20:58:37 -0700276config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700277 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700278
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700279config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700280 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700281
Thomas Graf6408f792005-06-23 20:59:16 -0700282config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700283 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700284
Joern Engel5db53f32009-11-20 20:13:39 +0100285config BTREE
286 boolean
287
Al Viro5ea81762007-02-11 15:41:31 +0000288config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800289 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000290 depends on !NO_IOMEM
Richard Weinberger087fafd2012-02-07 01:22:46 +0100291 select GENERIC_IO
Al Viro5ea81762007-02-11 15:41:31 +0000292 default y
293
294config HAS_IOPORT
295 boolean
296 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800297 default y
298
Heiko Carstens411f0f32007-05-06 14:49:09 -0700299config HAS_DMA
300 boolean
301 depends on !NO_DMA
302 default y
303
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700304config CHECK_SIGNATURE
305 bool
306
Rusty Russellaab46da2008-12-13 21:20:27 +1030307config CPUMASK_OFFSTACK
308 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
309 help
310 Use dynamic allocation for cpumask_var_t, instead of putting
311 them on the stack. This is a bit more expensive, but avoids
312 stack overflow.
313
Rusty Russell8c384cd2009-01-01 10:12:30 +1030314config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
315 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
316 depends on EXPERIMENTAL && BROKEN
317
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000318config CPU_RMAP
319 bool
320 depends on SMP
321
Tom Herbert75957ba2011-11-28 16:32:35 +0000322config DQL
323 bool
324
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800325#
326# Netlink attribute parsing support is select'ed if needed
327#
328config NLATTR
329 bool
330
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000331#
332# Generic 64-bit atomic support is selected if needed
333#
334config GENERIC_ATOMIC64
335 bool
336
Philipp Reisnerb411b362009-09-25 16:07:19 -0700337config LRU_CACHE
338 tristate
339
Bruno Randolfc5485a72010-11-16 10:58:37 +0900340config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100341 bool "Averaging functions"
342 help
343 This option is provided for the case where no in-kernel-tree
344 modules require averaging functions, but a module built outside
345 the kernel tree does. Such modules that use library averaging
346 functions require Y here.
347
348 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900349
David Millerc6df4b12012-02-02 00:17:54 +0200350config CLZ_TAB
351 bool
352
Arend van Spriel10f81132011-05-31 11:22:16 +0200353config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000354 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200355 help
Michael Witten435a95c2011-07-29 13:36:04 +0000356 This option provides an implementation of the CORDIC algorithm;
357 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200358
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300359config MPILIB
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200360 tristate
David Millerc6df4b12012-02-02 00:17:54 +0200361 select CLZ_TAB
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300362 help
363 Multiprecision maths library from GnuPG.
364 It is used to implement RSA digital signature verification,
365 which is used by IMA/EVM digital signature extension.
366
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200367config MPILIB_EXTRA
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200368 bool
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200369 depends on MPILIB
370 help
Dmitry Kasatkin68adcad2012-01-17 17:12:05 +0200371 Additional sources of multiprecision maths library from GnuPG.
372 This code is unnecessary for RSA digital signature verification,
373 but can be compiled if needed.
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200374
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200375config SIGNATURE
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200376 tristate
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200377 depends on KEYS && CRYPTO
378 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300379 select MPILIB
380 help
381 Digital signature verification. Currently only RSA is supported.
382 Implementation is done using GnuPG MPI library
383
Thomas Graf2de4ff72005-06-23 20:49:30 -0700384endmenu