]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - lib/Kconfig
lib: add support for stmp-style devices
[mirror_ubuntu-artful-kernel.git] / lib / Kconfig
1 #
2 # Library configuration
3 #
4
5 config BINARY_PRINTF
6 def_bool n
7
8 menu "Library routines"
9
10 config RAID6_PQ
11 tristate
12
13 config BITREVERSE
14 tristate
15
16 config RATIONAL
17 boolean
18
19 config GENERIC_FIND_FIRST_BIT
20 bool
21
22 config NO_GENERIC_PCI_IOPORT_MAP
23 bool
24
25 config GENERIC_PCI_IOMAP
26 bool
27
28 config GENERIC_IOMAP
29 bool
30 select GENERIC_PCI_IOMAP
31
32 config GENERIC_IO
33 boolean
34 default n
35
36 config STMP_DEVICE
37 bool
38
39 config 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
47 config 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
55 config 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
62 config 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
70 config CRC32
71 tristate "CRC32/CRC32c functions"
72 default y
73 select BITREVERSE
74 help
75 This option is provided for the case where no in-kernel-tree
76 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.
79
80 config 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
90 choice
91 prompt "CRC32 implementation"
92 depends on CRC32
93 default CRC32_SLICEBY8
94 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.
98
99 config 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
110 config 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
119 config 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
127 config 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
135 endchoice
136
137 config 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
145 config LIBCRC32C
146 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
147 select CRYPTO
148 select CRYPTO_CRC32C
149 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
156 config 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
163 config AUDIT_GENERIC
164 bool
165 depends on AUDIT && !AUDIT_ARCH
166 default y
167
168 #
169 # compression support is select'ed if needed
170 #
171 config ZLIB_INFLATE
172 tristate
173
174 config ZLIB_DEFLATE
175 tristate
176
177 config LZO_COMPRESS
178 tristate
179
180 config LZO_DECOMPRESS
181 tristate
182
183 source "lib/xz/Kconfig"
184
185 #
186 # These all provide a common interface (hence the apparent duplication with
187 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
188 #
189 config DECOMPRESS_GZIP
190 select ZLIB_INFLATE
191 tristate
192
193 config DECOMPRESS_BZIP2
194 tristate
195
196 config DECOMPRESS_LZMA
197 tristate
198
199 config DECOMPRESS_XZ
200 select XZ_DEC
201 tristate
202
203 config DECOMPRESS_LZO
204 select LZO_DECOMPRESS
205 tristate
206
207 #
208 # Generic allocator support is selected if needed
209 #
210 config GENERIC_ALLOCATOR
211 boolean
212
213 #
214 # reed solomon support is select'ed if needed
215 #
216 config REED_SOLOMON
217 tristate
218
219 config REED_SOLOMON_ENC8
220 boolean
221
222 config REED_SOLOMON_DEC8
223 boolean
224
225 config REED_SOLOMON_ENC16
226 boolean
227
228 config REED_SOLOMON_DEC16
229 boolean
230
231 #
232 # BCH support is selected if needed
233 #
234 config BCH
235 tristate
236
237 config 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
253 config 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
263 config 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 #
271 # Textsearch support is select'ed if needed
272 #
273 config TEXTSEARCH
274 boolean
275
276 config TEXTSEARCH_KMP
277 tristate
278
279 config TEXTSEARCH_BM
280 tristate
281
282 config TEXTSEARCH_FSM
283 tristate
284
285 config BTREE
286 boolean
287
288 config HAS_IOMEM
289 boolean
290 depends on !NO_IOMEM
291 select GENERIC_IO
292 default y
293
294 config HAS_IOPORT
295 boolean
296 depends on HAS_IOMEM && !NO_IOPORT
297 default y
298
299 config HAS_DMA
300 boolean
301 depends on !NO_DMA
302 default y
303
304 config CHECK_SIGNATURE
305 bool
306
307 config 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
314 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
315 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
316 depends on EXPERIMENTAL && BROKEN
317
318 config CPU_RMAP
319 bool
320 depends on SMP
321
322 config DQL
323 bool
324
325 #
326 # Netlink attribute parsing support is select'ed if needed
327 #
328 config NLATTR
329 bool
330
331 #
332 # Generic 64-bit atomic support is selected if needed
333 #
334 config GENERIC_ATOMIC64
335 bool
336
337 config LRU_CACHE
338 tristate
339
340 config AVERAGE
341 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.
349
350 config CLZ_TAB
351 bool
352
353 config CORDIC
354 tristate "CORDIC algorithm"
355 help
356 This option provides an implementation of the CORDIC algorithm;
357 calculations are in fixed point. Module will be called cordic.
358
359 config MPILIB
360 tristate
361 select CLZ_TAB
362 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
367 config MPILIB_EXTRA
368 bool
369 depends on MPILIB
370 help
371 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.
374
375 config SIGNATURE
376 tristate
377 depends on KEYS && CRYPTO
378 select CRYPTO_SHA1
379 select MPILIB
380 help
381 Digital signature verification. Currently only RSA is supported.
382 Implementation is done using GnuPG MPI library
383
384 endmenu