blob: 71d9f81f6eed17e7623ce9d0b55934acac54358c [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 Mitaa5cfc1e2006-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
Chanho Minc72ac7a2013-07-08 16:01:49 -0700195config LZ4_COMPRESS
196 tristate
197
198config LZ4HC_COMPRESS
199 tristate
200
Kyungsik Leee76e1fd2013-07-08 16:01:46 -0700201config LZ4_DECOMPRESS
202 tristate
203
Lasse Collin24fa0402011-01-12 17:01:22 -0800204source "lib/xz/Kconfig"
205
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800207# These all provide a common interface (hence the apparent duplication with
208# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
209#
210config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800211 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800212 tristate
213
214config DECOMPRESS_BZIP2
215 tristate
216
217config DECOMPRESS_LZMA
218 tristate
219
Lasse Collin3ebe1242011-01-12 17:01:23 -0800220config DECOMPRESS_XZ
221 select XZ_DEC
222 tristate
223
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800224config DECOMPRESS_LZO
225 select LZO_DECOMPRESS
226 tristate
227
Kyungsik Leee76e1fd2013-07-08 16:01:46 -0700228config DECOMPRESS_LZ4
229 select LZ4_DECOMPRESS
230 tristate
231
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800232#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700233# Generic allocator support is selected if needed
234#
235config GENERIC_ALLOCATOR
236 boolean
237
238#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700239# reed solomon support is select'ed if needed
240#
241config REED_SOLOMON
242 tristate
243
244config REED_SOLOMON_ENC8
245 boolean
246
247config REED_SOLOMON_DEC8
248 boolean
249
250config REED_SOLOMON_ENC16
251 boolean
252
253config REED_SOLOMON_DEC16
254 boolean
255
David S. Millerf7704342005-06-24 17:39:03 -0700256#
Ivan Djelic437aa562011-03-11 11:05:32 +0100257# BCH support is selected if needed
258#
259config BCH
260 tristate
261
262config BCH_CONST_PARAMS
263 boolean
264 help
265 Drivers may select this option to force specific constant
266 values for parameters 'm' (Galois field order) and 't'
267 (error correction capability). Those specific values must
268 be set by declaring default values for symbols BCH_CONST_M
269 and BCH_CONST_T.
270 Doing so will enable extra compiler optimizations,
271 improving encoding and decoding performance up to 2x for
272 usual (m,t) values (typically such that m*t < 200).
273 When this option is selected, the BCH library supports
274 only a single (m,t) configuration. This is mainly useful
275 for NAND flash board drivers requiring known, fixed BCH
276 parameters.
277
278config BCH_CONST_M
279 int
280 range 5 15
281 help
282 Constant value for Galois field order 'm'. If 'k' is the
283 number of data bits to protect, 'm' should be chosen such
284 that (k + m*t) <= 2**m - 1.
285 Drivers should declare a default value for this symbol if
286 they select option BCH_CONST_PARAMS.
287
288config BCH_CONST_T
289 int
290 help
291 Constant value for error correction capability in bits 't'.
292 Drivers should declare a default value for this symbol if
293 they select option BCH_CONST_PARAMS.
294
295#
David S. Millerf7704342005-06-24 17:39:03 -0700296# Textsearch support is select'ed if needed
297#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700298config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700299 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300
Thomas Grafdf3fb932005-06-23 20:58:37 -0700301config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700302 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700303
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700304config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700305 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700306
Thomas Graf6408f792005-06-23 20:59:16 -0700307config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700308 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700309
Joern Engel5db53f32009-11-20 20:13:39 +0100310config BTREE
311 boolean
312
Al Viro5ea81762007-02-11 15:41:31 +0000313config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800314 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000315 depends on !NO_IOMEM
Richard Weinberger087fafd2012-02-07 01:22:46 +0100316 select GENERIC_IO
Al Viro5ea81762007-02-11 15:41:31 +0000317 default y
318
319config HAS_IOPORT
320 boolean
321 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800322 default y
323
Heiko Carstens411f0f32007-05-06 14:49:09 -0700324config HAS_DMA
325 boolean
326 depends on !NO_DMA
327 default y
328
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700329config CHECK_SIGNATURE
330 bool
331
Rusty Russellaab46da2008-12-13 21:20:27 +1030332config CPUMASK_OFFSTACK
333 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
334 help
335 Use dynamic allocation for cpumask_var_t, instead of putting
336 them on the stack. This is a bit more expensive, but avoids
337 stack overflow.
338
Rusty Russell8c384cd2009-01-01 10:12:30 +1030339config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
340 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
Kees Cook525c1f92013-01-16 18:54:16 -0800341 depends on BROKEN
Rusty Russell8c384cd2009-01-01 10:12:30 +1030342
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000343config CPU_RMAP
344 bool
345 depends on SMP
346
Tom Herbert75957ba2011-11-28 16:32:35 +0000347config DQL
348 bool
349
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800350#
351# Netlink attribute parsing support is select'ed if needed
352#
353config NLATTR
354 bool
355
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000356#
357# Generic 64-bit atomic support is selected if needed
358#
359config GENERIC_ATOMIC64
360 bool
361
Catalin Marinas74634492012-07-30 14:41:09 -0700362config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
363 def_bool y if GENERIC_ATOMIC64
364
Philipp Reisnerb411b362009-09-25 16:07:19 -0700365config LRU_CACHE
366 tristate
367
Bruno Randolfc5485a72010-11-16 10:58:37 +0900368config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100369 bool "Averaging functions"
370 help
371 This option is provided for the case where no in-kernel-tree
372 modules require averaging functions, but a module built outside
373 the kernel tree does. Such modules that use library averaging
374 functions require Y here.
375
376 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900377
David Millerc6df4b12012-02-02 00:17:54 +0200378config CLZ_TAB
379 bool
380
Arend van Spriel10f81132011-05-31 11:22:16 +0200381config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000382 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200383 help
Michael Witten435a95c2011-07-29 13:36:04 +0000384 This option provides an implementation of the CORDIC algorithm;
385 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200386
Aneesh V9c1c21a2012-04-27 17:54:03 +0530387config DDR
388 bool "JEDEC DDR data"
389 help
390 Data from JEDEC specs for DDR SDRAM memories,
391 particularly the AC timing parameters and addressing
392 information. This data is useful for drivers handling
393 DDR SDRAM controllers.
394
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300395config MPILIB
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200396 tristate
David Millerc6df4b12012-02-02 00:17:54 +0200397 select CLZ_TAB
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300398 help
399 Multiprecision maths library from GnuPG.
400 It is used to implement RSA digital signature verification,
401 which is used by IMA/EVM digital signature extension.
402
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200403config SIGNATURE
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200404 tristate
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200405 depends on KEYS && CRYPTO
406 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300407 select MPILIB
408 help
409 Digital signature verification. Currently only RSA is supported.
410 Implementation is done using GnuPG MPI library
411
David Daneyab253832012-07-05 18:12:38 +0200412#
413# libfdt files, only selected if needed.
414#
415config LIBFDT
416 bool
417
David Howellsa77ad6e2012-09-21 23:30:46 +0100418config OID_REGISTRY
419 tristate
420 help
421 Enable fast lookup object identifier registry.
422
Matthew Garrett0635eb82013-04-15 13:09:45 -0700423config UCS2_STRING
424 tristate
425
Geert Uytterhoevenee89bd62013-06-09 11:46:43 +0200426source "lib/fonts/Kconfig"
427
Thomas Graf2de4ff72005-06-23 20:49:30 -0700428endmenu