Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#
2# Hardware Random Number Generator (RNG) configuration
3#
4
5menuconfig HW_RANDOM
6 tristate "Hardware Random Number Generator Core support"
7 default m
8 ---help---
9 Hardware Random Number Generator Core infrastructure.
10
11 To compile this driver as a module, choose M here: the
12 module will be called rng-core. This provides a device
13 that's usually called /dev/hwrng, and which exposes one
14 of possibly several hardware random number generators.
15
16 These hardware random number generators do feed into the
17 kernel's random number generator entropy pool.
18
19 If unsure, say Y.
20
21if HW_RANDOM
22
23config HW_RANDOM_TIMERIOMEM
24 tristate "Timer IOMEM HW Random Number Generator support"
25 depends on HAS_IOMEM
26 ---help---
27 This driver provides kernel-side support for a generic Random
28 Number Generator used by reading a 'dumb' iomem address that
29 is to be read no faster than, for example, once a second;
30 the default FPGA bitstream on the TS-7800 has such functionality.
31
32 To compile this driver as a module, choose M here: the
33 module will be called timeriomem-rng.
34
35 If unsure, say Y.
36
37config HW_RANDOM_INTEL
38 tristate "Intel HW Random Number Generator support"
39 depends on (X86 || IA64) && PCI
40 default HW_RANDOM
41 ---help---
42 This driver provides kernel-side support for the Random Number
43 Generator hardware found on Intel i8xx-based motherboards.
44
45 To compile this driver as a module, choose M here: the
46 module will be called intel-rng.
47
48 If unsure, say Y.
49
50config HW_RANDOM_AMD
51 tristate "AMD HW Random Number Generator support"
52 depends on (X86 || PPC_MAPLE) && PCI
53 default HW_RANDOM
54 ---help---
55 This driver provides kernel-side support for the Random Number
56 Generator hardware found on AMD 76x-based motherboards.
57
58 To compile this driver as a module, choose M here: the
59 module will be called amd-rng.
60
61 If unsure, say Y.
62
63config HW_RANDOM_ATMEL
64 tristate "Atmel Random Number Generator support"
65 depends on ARCH_AT91 && HAVE_CLK && OF
66 default HW_RANDOM
67 ---help---
68 This driver provides kernel-side support for the Random Number
69 Generator hardware found on Atmel AT91 devices.
70
71 To compile this driver as a module, choose M here: the
72 module will be called atmel-rng.
73
74 If unsure, say Y.
75
76config HW_RANDOM_BCM63XX
77 tristate "Broadcom BCM63xx Random Number Generator support"
78 depends on BCM63XX || BMIPS_GENERIC
79 default HW_RANDOM
80 ---help---
81 This driver provides kernel-side support for the Random Number
82 Generator hardware found on the Broadcom BCM63xx SoCs.
83
84 To compile this driver as a module, choose M here: the
85 module will be called bcm63xx-rng
86
87 If unusure, say Y.
88
89config HW_RANDOM_BCM2835
90 tristate "Broadcom BCM2835 Random Number Generator support"
91 depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X
92 default HW_RANDOM
93 ---help---
94 This driver provides kernel-side support for the Random Number
95 Generator hardware found on the Broadcom BCM2835 SoCs.
96
97 To compile this driver as a module, choose M here: the
98 module will be called bcm2835-rng
99
100 If unsure, say Y.
101
102config HW_RANDOM_IPROC_RNG200
103 tristate "Broadcom iProc/STB RNG200 support"
104 depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
105 default HW_RANDOM
106 ---help---
107 This driver provides kernel-side support for the RNG200
108 hardware found on the Broadcom iProc and STB SoCs.
109
110 To compile this driver as a module, choose M here: the
111 module will be called iproc-rng200
112
113 If unsure, say Y.
114
115config HW_RANDOM_GEODE
116 tristate "AMD Geode HW Random Number Generator support"
117 depends on X86_32 && PCI
118 default HW_RANDOM
119 ---help---
120 This driver provides kernel-side support for the Random Number
121 Generator hardware found on the AMD Geode LX.
122
123 To compile this driver as a module, choose M here: the
124 module will be called geode-rng.
125
126 If unsure, say Y.
127
128config HW_RANDOM_N2RNG
129 tristate "Niagara2 Random Number Generator support"
130 depends on SPARC64
131 default HW_RANDOM
132 ---help---
133 This driver provides kernel-side support for the Random Number
134 Generator hardware found on Niagara2 cpus.
135
136 To compile this driver as a module, choose M here: the
137 module will be called n2-rng.
138
139 If unsure, say Y.
140
141config HW_RANDOM_VIA
142 tristate "VIA HW Random Number Generator support"
143 depends on X86
144 default HW_RANDOM
145 ---help---
146 This driver provides kernel-side support for the Random Number
147 Generator hardware found on VIA based motherboards.
148
149 To compile this driver as a module, choose M here: the
150 module will be called via-rng.
151
152 If unsure, say Y.
153
154config HW_RANDOM_IXP4XX
155 tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
156 depends on ARCH_IXP4XX
157 default HW_RANDOM
158 ---help---
159 This driver provides kernel-side support for the Pseudo-Random
160 Number Generator hardware found on the Intel IXP45x/46x NPU.
161
162 To compile this driver as a module, choose M here: the
163 module will be called ixp4xx-rng.
164
165 If unsure, say Y.
166
167config HW_RANDOM_OMAP
168 tristate "OMAP Random Number Generator support"
169 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
170 default HW_RANDOM
171 ---help---
172 This driver provides kernel-side support for the Random Number
173 Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
174 multimedia processors, and Marvell Armada 7k/8k SoCs.
175
176 To compile this driver as a module, choose M here: the
177 module will be called omap-rng.
178
179 If unsure, say Y.
180
181config HW_RANDOM_OMAP3_ROM
182 tristate "OMAP3 ROM Random Number Generator support"
183 depends on ARCH_OMAP3
184 default HW_RANDOM
185 ---help---
186 This driver provides kernel-side support for the Random Number
187 Generator hardware found on OMAP34xx processors.
188
189 To compile this driver as a module, choose M here: the
190 module will be called omap3-rom-rng.
191
192 If unsure, say Y.
193
194config HW_RANDOM_OCTEON
195 tristate "Octeon Random Number Generator support"
196 depends on CAVIUM_OCTEON_SOC
197 default HW_RANDOM
198 ---help---
199 This driver provides kernel-side support for the Random Number
200 Generator hardware found on Octeon processors.
201
202 To compile this driver as a module, choose M here: the
203 module will be called octeon-rng.
204
205 If unsure, say Y.
206
207config HW_RANDOM_PASEMI
208 tristate "PA Semi HW Random Number Generator support"
209 depends on PPC_PASEMI
210 default HW_RANDOM
211 ---help---
212 This driver provides kernel-side support for the Random Number
213 Generator hardware found on PA Semi PWRficient SoCs.
214
215 To compile this driver as a module, choose M here: the
216 module will be called pasemi-rng.
217
218 If unsure, say Y.
219
220config HW_RANDOM_VIRTIO
221 tristate "VirtIO Random Number Generator support"
222 depends on VIRTIO
223 ---help---
224 This driver provides kernel-side support for the virtual Random Number
225 Generator hardware.
226
227 To compile this driver as a module, choose M here: the
228 module will be called virtio-rng. If unsure, say N.
229
230config HW_RANDOM_TX4939
231 tristate "TX4939 Random Number Generator support"
232 depends on SOC_TX4939
233 default HW_RANDOM
234 ---help---
235 This driver provides kernel-side support for the Random Number
236 Generator hardware found on TX4939 SoC.
237
238 To compile this driver as a module, choose M here: the
239 module will be called tx4939-rng.
240
241 If unsure, say Y.
242
243config HW_RANDOM_MXC_RNGA
244 tristate "Freescale i.MX RNGA Random Number Generator"
245 depends on SOC_IMX31
246 default HW_RANDOM
247 ---help---
248 This driver provides kernel-side support for the Random Number
249 Generator hardware found on Freescale i.MX processors.
250
251 To compile this driver as a module, choose M here: the
252 module will be called mxc-rnga.
253
254 If unsure, say Y.
255
256config HW_RANDOM_IMX_RNGC
257 tristate "Freescale i.MX RNGC Random Number Generator"
258 depends on ARCH_MXC
259 default HW_RANDOM
260 ---help---
261 This driver provides kernel-side support for the Random Number
262 Generator Version C hardware found on some Freescale i.MX
263 processors. Version B is also supported by this driver.
264
265 To compile this driver as a module, choose M here: the
266 module will be called imx-rngc.
267
268 If unsure, say Y.
269
270config HW_RANDOM_NOMADIK
271 tristate "ST-Ericsson Nomadik Random Number Generator support"
272 depends on ARCH_NOMADIK
273 default HW_RANDOM
274 ---help---
275 This driver provides kernel-side support for the Random Number
276 Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
277
278 To compile this driver as a module, choose M here: the
279 module will be called nomadik-rng.
280
281 If unsure, say Y.
282
283config HW_RANDOM_PSERIES
284 tristate "pSeries HW Random Number Generator support"
285 depends on PPC64 && IBMVIO
286 default HW_RANDOM
287 ---help---
288 This driver provides kernel-side support for the Random Number
289 Generator hardware found on POWER7+ machines and above
290
291 To compile this driver as a module, choose M here: the
292 module will be called pseries-rng.
293
294 If unsure, say Y.
295
296config HW_RANDOM_POWERNV
297 tristate "PowerNV Random Number Generator support"
298 depends on PPC_POWERNV
299 default HW_RANDOM
300 ---help---
301 This is the driver for Random Number Generator hardware found
302 in POWER7+ and above machines for PowerNV platform.
303
304 To compile this driver as a module, choose M here: the
305 module will be called powernv-rng.
306
307 If unsure, say Y.
308
309config HW_RANDOM_TPM
310 tristate "TPM HW Random Number Generator support"
311 depends on TCG_TPM
312 default HW_RANDOM
313 ---help---
314 This driver provides kernel-side support for the Random Number
315 Generator in the Trusted Platform Module
316
317 To compile this driver as a module, choose M here: the
318 module will be called tpm-rng.
319
320 If unsure, say Y.
321
322config HW_RANDOM_HISI
323 tristate "Hisilicon Random Number Generator support"
324 depends on HW_RANDOM && ARCH_HISI
325 default HW_RANDOM
326 ---help---
327 This driver provides kernel-side support for the Random Number
328 Generator hardware found on Hisilicon Hip04 and Hip05 SoC.
329
330 To compile this driver as a module, choose M here: the
331 module will be called hisi-rng.
332
333 If unsure, say Y.
334
335config HW_RANDOM_MSM
336 tristate "Qualcomm SoCs Random Number Generator support"
337 depends on HW_RANDOM && ARCH_QCOM
338 default HW_RANDOM
339 ---help---
340 This driver provides kernel-side support for the Random Number
341 Generator hardware found on Qualcomm SoCs.
342
343 To compile this driver as a module, choose M here. the
344 module will be called msm-rng.
345
346 If unsure, say Y.
347
348config HW_RANDOM_ST
349 tristate "ST Microelectronics HW Random Number Generator support"
350 depends on HW_RANDOM && ARCH_STI
351 ---help---
352 This driver provides kernel-side support for the Random Number
353 Generator hardware found on STi series of SoCs.
354
355 To compile this driver as a module, choose M here: the
356 module will be called st-rng.
357
358config HW_RANDOM_XGENE
359 tristate "APM X-Gene True Random Number Generator (TRNG) support"
360 depends on HW_RANDOM && ARCH_XGENE
361 default HW_RANDOM
362 ---help---
363 This driver provides kernel-side support for the Random Number
364 Generator hardware found on APM X-Gene SoC.
365
366 To compile this driver as a module, choose M here: the
367 module will be called xgene_rng.
368
369 If unsure, say Y.
370
371config HW_RANDOM_STM32
372 tristate "STMicroelectronics STM32 random number generator"
373 depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
374 depends on HAS_IOMEM
375 help
376 This driver provides kernel-side support for the Random Number
377 Generator hardware found on STM32 microcontrollers.
378
379 To compile this driver as a module, choose M here: the
380 module will be called stm32-rng.
381
382 If unsure, say N.
383
384config HW_RANDOM_PIC32
385 tristate "Microchip PIC32 Random Number Generator support"
386 depends on HW_RANDOM && MACH_PIC32
387 default y
388 ---help---
389 This driver provides kernel-side support for the Random Number
390 Generator hardware found on a PIC32.
391
392 To compile this driver as a module, choose M here. the
393 module will be called pic32-rng.
394
395 If unsure, say Y.
396
397config HW_RANDOM_MESON
398 tristate "Amlogic Meson Random Number Generator support"
399 depends on HW_RANDOM
400 depends on ARCH_MESON || COMPILE_TEST
401 default y
402 ---help---
403 This driver provides kernel-side support for the Random Number
404 Generator hardware found on Amlogic Meson SoCs.
405
406 To compile this driver as a module, choose M here. the
407 module will be called meson-rng.
408
409 If unsure, say Y.
410
411config HW_RANDOM_CAVIUM
412 tristate "Cavium ThunderX Random Number Generator support"
413 depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT))
414 default HW_RANDOM
415 ---help---
416 This driver provides kernel-side support for the Random Number
417 Generator hardware found on Cavium SoCs.
418
419 To compile this driver as a module, choose M here: the
420 module will be called cavium_rng.
421
422 If unsure, say Y.
423
424config HW_RANDOM_MTK
425 tristate "Mediatek Random Number Generator support"
426 depends on HW_RANDOM
427 depends on ARCH_MEDIATEK || COMPILE_TEST
428 default y
429 ---help---
430 This driver provides kernel-side support for the Random Number
431 Generator hardware found on Mediatek SoCs.
432
433 To compile this driver as a module, choose M here. the
434 module will be called mtk-rng.
435
436 If unsure, say Y.
437
438config HW_RANDOM_S390
439 tristate "S390 True Random Number Generator support"
440 depends on S390
441 default HW_RANDOM
442 ---help---
443 This driver provides kernel-side support for the True
444 Random Number Generator available as CPACF extension
445 on modern s390 hardware platforms.
446
447 To compile this driver as a module, choose M here: the
448 module will be called s390-trng.
449
450 If unsure, say Y.
451
452endif # HW_RANDOM
453
454config UML_RANDOM
455 depends on UML
456 tristate "Hardware random number generator"
457 help
458 This option enables UML's "hardware" random number generator. It
459 attaches itself to the host's /dev/random, supplying as much entropy
460 as the host has, rather than the small amount the UML gets from its
461 own drivers. It registers itself as a standard hardware random number
462 generator, major 10, minor 183, and the canonical device name is
463 /dev/hwrng.
464 The way to make use of this is to install the rng-tools package
465 (check your distro, or download from
466 http://sourceforge.net/projects/gkernel/). rngd periodically reads
467 /dev/hwrng and injects the entropy into /dev/random.