blob: 1cbc1fe1361966a81d8fb5e1db9b35d187d50d5d [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
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. Tsirkin66eab4d2011-11-24 20:45:20 +020022config GENERIC_PCI_IOMAP
23 bool
24
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020025config GENERIC_IOMAP
26 bool
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020027 select GENERIC_PCI_IOMAP
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020028
Linus Torvalds1da177e2005-04-16 15:20:36 -070029config CRC_CCITT
30 tristate "CRC-CCITT functions"
31 help
32 This option is provided for the case where no in-kernel-tree
33 modules require CRC-CCITT functions, but a module built outside
34 the kernel tree does. Such modules that use library CRC-CCITT
35 functions require M here.
36
Evgeniy Polyakov7657ec12005-08-17 15:17:26 +040037config CRC16
38 tristate "CRC16 functions"
39 help
40 This option is provided for the case where no in-kernel-tree
41 modules require CRC16 functions, but a module built outside
42 the kernel tree does. Such modules that use library CRC16
43 functions require M here.
44
Martin K. Petersenf11f5942008-06-25 11:22:42 -040045config CRC_T10DIF
46 tristate "CRC calculation for the T10 Data Integrity Field"
47 help
48 This option is only needed if a module that's not in the
49 kernel tree needs to calculate CRC checks for use with the
50 SCSI data integrity subsystem.
51
Ivo van Doorn3e7cbae2006-06-12 16:17:04 +020052config CRC_ITU_T
53 tristate "CRC ITU-T V.41 functions"
54 help
55 This option is provided for the case where no in-kernel-tree
56 modules require CRC ITU-T V.41 functions, but a module built outside
57 the kernel tree does. Such modules that use library CRC ITU-T V.41
58 functions require M here.
59
Linus Torvalds1da177e2005-04-16 15:20:36 -070060config CRC32
61 tristate "CRC32 functions"
62 default y
Akinobu Mita906d66d2006-12-08 02:36:25 -080063 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070064 help
65 This option is provided for the case where no in-kernel-tree
66 modules require CRC32 functions, but a module built outside the
67 kernel tree does. Such modules that use library CRC32 functions
68 require M here.
69
Jan Nikitenkoad241522007-07-17 04:04:03 -070070config CRC7
71 tristate "CRC7 functions"
72 help
73 This option is provided for the case where no in-kernel-tree
74 modules require CRC7 functions, but a module built outside
75 the kernel tree does. Such modules that use library CRC7
76 functions require M here.
77
Linus Torvalds1da177e2005-04-16 15:20:36 -070078config LIBCRC32C
79 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
Herbert Xu93027352008-11-13 22:05:13 +080080 select CRYPTO
Herbert Xu69c35ef2008-11-07 15:11:47 +080081 select CRYPTO_CRC32C
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 help
83 This option is provided for the case where no in-kernel-tree
84 modules require CRC32c functions, but a module built outside the
85 kernel tree does. Such modules that use library CRC32c functions
86 require M here. See Castagnoli93.
87 Module will be libcrc32c.
88
Arend van Spriel71509622011-05-31 11:22:15 +020089config CRC8
90 tristate "CRC8 function"
91 help
92 This option provides CRC8 function. Drivers may select this
93 when they need to do cyclic redundancy check according CRC8
94 algorithm. Module will be called crc8.
95
Al Viroe65e1fc2006-09-12 03:04:40 -040096config AUDIT_GENERIC
97 bool
98 depends on AUDIT && !AUDIT_ARCH
99 default y
100
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101#
102# compression support is select'ed if needed
103#
104config ZLIB_INFLATE
105 tristate
106
107config ZLIB_DEFLATE
108 tristate
109
Richard Purdie64c70b12007-07-10 17:22:24 -0700110config LZO_COMPRESS
111 tristate
112
113config LZO_DECOMPRESS
114 tristate
115
Lasse Collin24fa0402011-01-12 17:01:22 -0800116source "lib/xz/Kconfig"
117
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800119# These all provide a common interface (hence the apparent duplication with
120# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
121#
122config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800123 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800124 tristate
125
126config DECOMPRESS_BZIP2
127 tristate
128
129config DECOMPRESS_LZMA
130 tristate
131
Lasse Collin3ebe1242011-01-12 17:01:23 -0800132config DECOMPRESS_XZ
133 select XZ_DEC
134 tristate
135
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800136config DECOMPRESS_LZO
137 select LZO_DECOMPRESS
138 tristate
139
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800140#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700141# Generic allocator support is selected if needed
142#
143config GENERIC_ALLOCATOR
144 boolean
145
146#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147# reed solomon support is select'ed if needed
148#
149config REED_SOLOMON
150 tristate
151
152config REED_SOLOMON_ENC8
153 boolean
154
155config REED_SOLOMON_DEC8
156 boolean
157
158config REED_SOLOMON_ENC16
159 boolean
160
161config REED_SOLOMON_DEC16
162 boolean
163
David S. Millerf7704342005-06-24 17:39:03 -0700164#
Ivan Djelic437aa562011-03-11 11:05:32 +0100165# BCH support is selected if needed
166#
167config BCH
168 tristate
169
170config BCH_CONST_PARAMS
171 boolean
172 help
173 Drivers may select this option to force specific constant
174 values for parameters 'm' (Galois field order) and 't'
175 (error correction capability). Those specific values must
176 be set by declaring default values for symbols BCH_CONST_M
177 and BCH_CONST_T.
178 Doing so will enable extra compiler optimizations,
179 improving encoding and decoding performance up to 2x for
180 usual (m,t) values (typically such that m*t < 200).
181 When this option is selected, the BCH library supports
182 only a single (m,t) configuration. This is mainly useful
183 for NAND flash board drivers requiring known, fixed BCH
184 parameters.
185
186config BCH_CONST_M
187 int
188 range 5 15
189 help
190 Constant value for Galois field order 'm'. If 'k' is the
191 number of data bits to protect, 'm' should be chosen such
192 that (k + m*t) <= 2**m - 1.
193 Drivers should declare a default value for this symbol if
194 they select option BCH_CONST_PARAMS.
195
196config BCH_CONST_T
197 int
198 help
199 Constant value for error correction capability in bits 't'.
200 Drivers should declare a default value for this symbol if
201 they select option BCH_CONST_PARAMS.
202
203#
David S. Millerf7704342005-06-24 17:39:03 -0700204# Textsearch support is select'ed if needed
205#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700206config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700207 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208
Thomas Grafdf3fb932005-06-23 20:58:37 -0700209config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700210 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700211
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700212config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700213 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700214
Thomas Graf6408f792005-06-23 20:59:16 -0700215config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700216 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700217
Joern Engel5db53f32009-11-20 20:13:39 +0100218config BTREE
219 boolean
220
Al Viro5ea81762007-02-11 15:41:31 +0000221config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800222 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000223 depends on !NO_IOMEM
224 default y
225
226config HAS_IOPORT
227 boolean
228 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800229 default y
230
Heiko Carstens411f0f32007-05-06 14:49:09 -0700231config HAS_DMA
232 boolean
233 depends on !NO_DMA
234 default y
235
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700236config CHECK_SIGNATURE
237 bool
238
Rusty Russellaab46da2008-12-13 21:20:27 +1030239config CPUMASK_OFFSTACK
240 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
241 help
242 Use dynamic allocation for cpumask_var_t, instead of putting
243 them on the stack. This is a bit more expensive, but avoids
244 stack overflow.
245
Rusty Russell8c384cd2009-01-01 10:12:30 +1030246config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
247 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
248 depends on EXPERIMENTAL && BROKEN
249
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000250config CPU_RMAP
251 bool
252 depends on SMP
253
Tom Herbert75957ba2011-11-28 16:32:35 +0000254config DQL
255 bool
256
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800257#
258# Netlink attribute parsing support is select'ed if needed
259#
260config NLATTR
261 bool
262
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000263#
264# Generic 64-bit atomic support is selected if needed
265#
266config GENERIC_ATOMIC64
267 bool
268
Philipp Reisnerb411b362009-09-25 16:07:19 -0700269config LRU_CACHE
270 tristate
271
Bruno Randolfc5485a72010-11-16 10:58:37 +0900272config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100273 bool "Averaging functions"
274 help
275 This option is provided for the case where no in-kernel-tree
276 modules require averaging functions, but a module built outside
277 the kernel tree does. Such modules that use library averaging
278 functions require Y here.
279
280 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900281
Arend van Spriel10f81132011-05-31 11:22:16 +0200282config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000283 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200284 help
Michael Witten435a95c2011-07-29 13:36:04 +0000285 This option provides an implementation of the CORDIC algorithm;
286 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200287
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300288config MPILIB
289 tristate "Multiprecision maths library"
290 help
291 Multiprecision maths library from GnuPG.
292 It is used to implement RSA digital signature verification,
293 which is used by IMA/EVM digital signature extension.
294
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200295config MPILIB_EXTRA
296 bool "Multiprecision maths library - additional sources"
297 depends on MPILIB
298 help
Dmitry Kasatkin68adcad2012-01-17 17:12:05 +0200299 Additional sources of multiprecision maths library from GnuPG.
300 This code is unnecessary for RSA digital signature verification,
301 but can be compiled if needed.
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200302
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200303config SIGNATURE
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300304 tristate "In-kernel signature checker"
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200305 depends on KEYS && CRYPTO
306 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300307 select MPILIB
308 help
309 Digital signature verification. Currently only RSA is supported.
310 Implementation is done using GnuPG MPI library
311
Thomas Graf2de4ff72005-06-23 20:49:30 -0700312endmenu