blob: d246a3bbd6eff291d4f0ea3f43566c5b0da9685b [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
David S. Miller29225852012-05-24 13:12:28 -070019config GENERIC_STRNCPY_FROM_USER
20 bool
21
Linus Torvaldsa08c5352012-05-26 11:06:38 -070022config GENERIC_STRNLEN_USER
23 bool
24
Andy Shevchenko4cd57732013-06-04 19:46:26 +030025config GENERIC_NET_UTILS
26 bool
27
Alexander van Heukelum19870de2008-04-25 13:12:53 +020028config GENERIC_FIND_FIRST_BIT
Jan Beulich9ba16082008-10-15 22:01:38 -070029 bool
Alexander van Heukelum19870de2008-04-25 13:12:53 +020030
Michael S. Tsirkinb9236502012-01-30 00:20:48 +020031config NO_GENERIC_PCI_IOPORT_MAP
32 bool
33
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020034config GENERIC_PCI_IOMAP
35 bool
36
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020037config GENERIC_IOMAP
38 bool
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020039 select GENERIC_PCI_IOMAP
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020040
Richard Weinberger087fafd2012-02-07 01:22:46 +010041config GENERIC_IO
42 boolean
43 default n
44
Wolfram Sang4ccf4be2011-08-31 20:35:40 +020045config STMP_DEVICE
46 bool
47
Oleg Nesterov22b361d2012-12-17 16:01:39 -080048config PERCPU_RWSEM
49 boolean
50
Linus Torvalds1da177e2005-04-16 15:20:36 -070051config CRC_CCITT
52 tristate "CRC-CCITT functions"
53 help
54 This option is provided for the case where no in-kernel-tree
55 modules require CRC-CCITT functions, but a module built outside
56 the kernel tree does. Such modules that use library CRC-CCITT
57 functions require M here.
58
Evgeniy Polyakov7657ec12005-08-17 15:17:26 +040059config CRC16
60 tristate "CRC16 functions"
61 help
62 This option is provided for the case where no in-kernel-tree
63 modules require CRC16 functions, but a module built outside
64 the kernel tree does. Such modules that use library CRC16
65 functions require M here.
66
Martin K. Petersenf11f5942008-06-25 11:22:42 -040067config CRC_T10DIF
68 tristate "CRC calculation for the T10 Data Integrity Field"
69 help
70 This option is only needed if a module that's not in the
71 kernel tree needs to calculate CRC checks for use with the
72 SCSI data integrity subsystem.
73
Ivo van Doorn3e7cbae2006-06-12 16:17:04 +020074config CRC_ITU_T
75 tristate "CRC ITU-T V.41 functions"
76 help
77 This option is provided for the case where no in-kernel-tree
78 modules require CRC ITU-T V.41 functions, but a module built outside
79 the kernel tree does. Such modules that use library CRC ITU-T V.41
80 functions require M here.
81
Linus Torvalds1da177e2005-04-16 15:20:36 -070082config CRC32
Darrick J. Wong46c58012012-03-23 15:02:25 -070083 tristate "CRC32/CRC32c functions"
Linus Torvalds1da177e2005-04-16 15:20:36 -070084 default y
Akinobu Mita906d66d2006-12-08 02:36:25 -080085 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 help
87 This option is provided for the case where no in-kernel-tree
Darrick J. Wong46c58012012-03-23 15:02:25 -070088 modules require CRC32/CRC32c functions, but a module built outside
89 the kernel tree does. Such modules that use library CRC32/CRC32c
90 functions require M here.
Linus Torvalds1da177e2005-04-16 15:20:36 -070091
Bob Pearson3863ef32012-03-23 15:02:22 -070092config CRC32_SELFTEST
93 bool "CRC32 perform self test on init"
94 default n
95 depends on CRC32
96 help
97 This option enables the CRC32 library functions to perform a
98 self test on initialization. The self test computes crc32_le
99 and crc32_be over byte strings with random alignment and length
100 and computes the total elapsed time and number of bytes processed.
101
Darrick J. Wong5cde7652012-03-23 15:02:26 -0700102choice
103 prompt "CRC32 implementation"
104 depends on CRC32
105 default CRC32_SLICEBY8
Darrick J. Wong82edb4b2012-03-28 14:42:56 -0700106 help
107 This option allows a kernel builder to override the default choice
108 of CRC32 algorithm. Choose the default ("slice by 8") unless you
109 know that you need one of the others.
Darrick J. Wong5cde7652012-03-23 15:02:26 -0700110
111config CRC32_SLICEBY8
112 bool "Slice by 8 bytes"
113 help
114 Calculate checksum 8 bytes at a time with a clever slicing algorithm.
115 This is the fastest algorithm, but comes with a 8KiB lookup table.
116 Most modern processors have enough cache to hold this table without
117 thrashing the cache.
118
119 This is the default implementation choice. Choose this one unless
120 you have a good reason not to.
121
122config CRC32_SLICEBY4
123 bool "Slice by 4 bytes"
124 help
125 Calculate checksum 4 bytes at a time with a clever slicing algorithm.
126 This is a bit slower than slice by 8, but has a smaller 4KiB lookup
127 table.
128
129 Only choose this option if you know what you are doing.
130
131config CRC32_SARWATE
132 bool "Sarwate's Algorithm (one byte at a time)"
133 help
134 Calculate checksum a byte at a time using Sarwate's algorithm. This
135 is not particularly fast, but has a small 256 byte lookup table.
136
137 Only choose this option if you know what you are doing.
138
139config CRC32_BIT
140 bool "Classic Algorithm (one bit at a time)"
141 help
142 Calculate checksum one bit at a time. This is VERY slow, but has
143 no lookup table. This is provided as a debugging option.
144
145 Only choose this option if you are debugging crc32.
146
147endchoice
148
Jan Nikitenkoad241522007-07-17 04:04:03 -0700149config CRC7
150 tristate "CRC7 functions"
151 help
152 This option is provided for the case where no in-kernel-tree
153 modules require CRC7 functions, but a module built outside
154 the kernel tree does. Such modules that use library CRC7
155 functions require M here.
156
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157config LIBCRC32C
158 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
Herbert Xu93027352008-11-13 22:05:13 +0800159 select CRYPTO
Herbert Xu69c35ef2008-11-07 15:11:47 +0800160 select CRYPTO_CRC32C
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 help
162 This option is provided for the case where no in-kernel-tree
163 modules require CRC32c functions, but a module built outside the
164 kernel tree does. Such modules that use library CRC32c functions
165 require M here. See Castagnoli93.
166 Module will be libcrc32c.
167
Arend van Spriel71509622011-05-31 11:22:15 +0200168config CRC8
169 tristate "CRC8 function"
170 help
171 This option provides CRC8 function. Drivers may select this
172 when they need to do cyclic redundancy check according CRC8
173 algorithm. Module will be called crc8.
174
Al Viroe65e1fc2006-09-12 03:04:40 -0400175config AUDIT_GENERIC
176 bool
177 depends on AUDIT && !AUDIT_ARCH
178 default y
179
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180#
181# compression support is select'ed if needed
182#
183config ZLIB_INFLATE
184 tristate
185
186config ZLIB_DEFLATE
187 tristate
188
Richard Purdie64c70b12007-07-10 17:22:24 -0700189config LZO_COMPRESS
190 tristate
191
192config LZO_DECOMPRESS
193 tristate
194
Lasse Collin24fa0402011-01-12 17:01:22 -0800195source "lib/xz/Kconfig"
196
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800198# These all provide a common interface (hence the apparent duplication with
199# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
200#
201config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800202 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800203 tristate
204
205config DECOMPRESS_BZIP2
206 tristate
207
208config DECOMPRESS_LZMA
209 tristate
210
Lasse Collin3ebe1242011-01-12 17:01:23 -0800211config DECOMPRESS_XZ
212 select XZ_DEC
213 tristate
214
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800215config DECOMPRESS_LZO
216 select LZO_DECOMPRESS
217 tristate
218
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800219#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700220# Generic allocator support is selected if needed
221#
222config GENERIC_ALLOCATOR
223 boolean
224
225#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226# reed solomon support is select'ed if needed
227#
228config REED_SOLOMON
229 tristate
230
231config REED_SOLOMON_ENC8
232 boolean
233
234config REED_SOLOMON_DEC8
235 boolean
236
237config REED_SOLOMON_ENC16
238 boolean
239
240config REED_SOLOMON_DEC16
241 boolean
242
David S. Millerf7704342005-06-24 17:39:03 -0700243#
Ivan Djelic437aa562011-03-11 11:05:32 +0100244# BCH support is selected if needed
245#
246config BCH
247 tristate
248
249config BCH_CONST_PARAMS
250 boolean
251 help
252 Drivers may select this option to force specific constant
253 values for parameters 'm' (Galois field order) and 't'
254 (error correction capability). Those specific values must
255 be set by declaring default values for symbols BCH_CONST_M
256 and BCH_CONST_T.
257 Doing so will enable extra compiler optimizations,
258 improving encoding and decoding performance up to 2x for
259 usual (m,t) values (typically such that m*t < 200).
260 When this option is selected, the BCH library supports
261 only a single (m,t) configuration. This is mainly useful
262 for NAND flash board drivers requiring known, fixed BCH
263 parameters.
264
265config BCH_CONST_M
266 int
267 range 5 15
268 help
269 Constant value for Galois field order 'm'. If 'k' is the
270 number of data bits to protect, 'm' should be chosen such
271 that (k + m*t) <= 2**m - 1.
272 Drivers should declare a default value for this symbol if
273 they select option BCH_CONST_PARAMS.
274
275config BCH_CONST_T
276 int
277 help
278 Constant value for error correction capability in bits 't'.
279 Drivers should declare a default value for this symbol if
280 they select option BCH_CONST_PARAMS.
281
282#
David S. Millerf7704342005-06-24 17:39:03 -0700283# Textsearch support is select'ed if needed
284#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700285config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700286 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287
Thomas Grafdf3fb932005-06-23 20:58:37 -0700288config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700289 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700290
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700291config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700292 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700293
Thomas Graf6408f792005-06-23 20:59:16 -0700294config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700295 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700296
Joern Engel5db53f32009-11-20 20:13:39 +0100297config BTREE
298 boolean
299
Al Viro5ea81762007-02-11 15:41:31 +0000300config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800301 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000302 depends on !NO_IOMEM
Richard Weinberger087fafd2012-02-07 01:22:46 +0100303 select GENERIC_IO
Al Viro5ea81762007-02-11 15:41:31 +0000304 default y
305
306config HAS_IOPORT
307 boolean
308 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800309 default y
310
Heiko Carstens411f0f32007-05-06 14:49:09 -0700311config HAS_DMA
312 boolean
313 depends on !NO_DMA
314 default y
315
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700316config CHECK_SIGNATURE
317 bool
318
Rusty Russellaab46da2008-12-13 21:20:27 +1030319config CPUMASK_OFFSTACK
320 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
321 help
322 Use dynamic allocation for cpumask_var_t, instead of putting
323 them on the stack. This is a bit more expensive, but avoids
324 stack overflow.
325
Rusty Russell8c384cd2009-01-01 10:12:30 +1030326config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
327 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
Kees Cook525c1f92013-01-16 18:54:16 -0800328 depends on BROKEN
Rusty Russell8c384cd2009-01-01 10:12:30 +1030329
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000330config CPU_RMAP
331 bool
332 depends on SMP
333
Tom Herbert75957ba2011-11-28 16:32:35 +0000334config DQL
335 bool
336
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800337#
338# Netlink attribute parsing support is select'ed if needed
339#
340config NLATTR
341 bool
342
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000343#
344# Generic 64-bit atomic support is selected if needed
345#
346config GENERIC_ATOMIC64
347 bool
348
Catalin Marinas74634492012-07-30 14:41:09 -0700349config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
350 def_bool y if GENERIC_ATOMIC64
351
Philipp Reisnerb411b362009-09-25 16:07:19 -0700352config LRU_CACHE
353 tristate
354
Bruno Randolfc5485a72010-11-16 10:58:37 +0900355config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100356 bool "Averaging functions"
357 help
358 This option is provided for the case where no in-kernel-tree
359 modules require averaging functions, but a module built outside
360 the kernel tree does. Such modules that use library averaging
361 functions require Y here.
362
363 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900364
David Millerc6df4b12012-02-02 00:17:54 +0200365config CLZ_TAB
366 bool
367
Arend van Spriel10f81132011-05-31 11:22:16 +0200368config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000369 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200370 help
Michael Witten435a95c2011-07-29 13:36:04 +0000371 This option provides an implementation of the CORDIC algorithm;
372 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200373
Aneesh V9c1c21a2012-04-27 17:54:03 +0530374config DDR
375 bool "JEDEC DDR data"
376 help
377 Data from JEDEC specs for DDR SDRAM memories,
378 particularly the AC timing parameters and addressing
379 information. This data is useful for drivers handling
380 DDR SDRAM controllers.
381
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300382config MPILIB
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200383 tristate
David Millerc6df4b12012-02-02 00:17:54 +0200384 select CLZ_TAB
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300385 help
386 Multiprecision maths library from GnuPG.
387 It is used to implement RSA digital signature verification,
388 which is used by IMA/EVM digital signature extension.
389
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200390config SIGNATURE
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200391 tristate
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200392 depends on KEYS && CRYPTO
393 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300394 select MPILIB
395 help
396 Digital signature verification. Currently only RSA is supported.
397 Implementation is done using GnuPG MPI library
398
David Daneyab253832012-07-05 18:12:38 +0200399#
400# libfdt files, only selected if needed.
401#
402config LIBFDT
403 bool
404
David Howellsa77ad6e2012-09-21 23:30:46 +0100405config OID_REGISTRY
406 tristate
407 help
408 Enable fast lookup object identifier registry.
409
Matthew Garrett0635eb82013-04-15 13:09:45 -0700410config UCS2_STRING
411 tristate
412
Thomas Graf2de4ff72005-06-23 20:49:30 -0700413endmenu