Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. #
  2. # Hardware Random Number Generator (RNG) configuration
  3. #
  4. menuconfig HW_RANDOM
  5. tristate "Hardware Random Number Generator Core support"
  6. default m
  7. ---help---
  8. Hardware Random Number Generator Core infrastructure.
  9. To compile this driver as a module, choose M here: the
  10. module will be called rng-core. This provides a device
  11. that's usually called /dev/hw_random, and which exposes one
  12. of possibly several hardware random number generators.
  13. These hardware random number generators do not feed directly
  14. into the kernel's random number generator. That is usually
  15. handled by the "rngd" daemon. Documentation/hw_random.txt
  16. has more information.
  17. If unsure, say Y.
  18. if HW_RANDOM
  19. config HW_RANDOM_TIMERIOMEM
  20. tristate "Timer IOMEM HW Random Number Generator support"
  21. depends on HAS_IOMEM
  22. ---help---
  23. This driver provides kernel-side support for a generic Random
  24. Number Generator used by reading a 'dumb' iomem address that
  25. is to be read no faster than, for example, once a second;
  26. the default FPGA bitstream on the TS-7800 has such functionality.
  27. To compile this driver as a module, choose M here: the
  28. module will be called timeriomem-rng.
  29. If unsure, say Y.
  30. config HW_RANDOM_INTEL
  31. tristate "Intel HW Random Number Generator support"
  32. depends on (X86 || IA64) && PCI
  33. default HW_RANDOM
  34. ---help---
  35. This driver provides kernel-side support for the Random Number
  36. Generator hardware found on Intel i8xx-based motherboards.
  37. To compile this driver as a module, choose M here: the
  38. module will be called intel-rng.
  39. If unsure, say Y.
  40. config HW_RANDOM_AMD
  41. tristate "AMD HW Random Number Generator support"
  42. depends on (X86 || PPC_MAPLE) && PCI
  43. default HW_RANDOM
  44. ---help---
  45. This driver provides kernel-side support for the Random Number
  46. Generator hardware found on AMD 76x-based motherboards.
  47. To compile this driver as a module, choose M here: the
  48. module will be called amd-rng.
  49. If unsure, say Y.
  50. config HW_RANDOM_ATMEL
  51. tristate "Atmel Random Number Generator support"
  52. depends on ARCH_AT91 && HAVE_CLK && OF
  53. default HW_RANDOM
  54. ---help---
  55. This driver provides kernel-side support for the Random Number
  56. Generator hardware found on Atmel AT91 devices.
  57. To compile this driver as a module, choose M here: the
  58. module will be called atmel-rng.
  59. If unsure, say Y.
  60. config HW_RANDOM_BCM63XX
  61. tristate "Broadcom BCM63xx Random Number Generator support"
  62. depends on BCM63XX
  63. default HW_RANDOM
  64. ---help---
  65. This driver provides kernel-side support for the Random Number
  66. Generator hardware found on the Broadcom BCM63xx SoCs.
  67. To compile this driver as a module, choose M here: the
  68. module will be called bcm63xx-rng
  69. If unusure, say Y.
  70. config HW_RANDOM_BCM2835
  71. tristate "Broadcom BCM2835 Random Number Generator support"
  72. depends on ARCH_BCM2835
  73. default HW_RANDOM
  74. ---help---
  75. This driver provides kernel-side support for the Random Number
  76. Generator hardware found on the Broadcom BCM2835 SoCs.
  77. To compile this driver as a module, choose M here: the
  78. module will be called bcm2835-rng
  79. If unsure, say Y.
  80. config HW_RANDOM_GEODE
  81. tristate "AMD Geode HW Random Number Generator support"
  82. depends on X86_32 && PCI
  83. default HW_RANDOM
  84. ---help---
  85. This driver provides kernel-side support for the Random Number
  86. Generator hardware found on the AMD Geode LX.
  87. To compile this driver as a module, choose M here: the
  88. module will be called geode-rng.
  89. If unsure, say Y.
  90. config HW_RANDOM_N2RNG
  91. tristate "Niagara2 Random Number Generator support"
  92. depends on SPARC64
  93. default HW_RANDOM
  94. ---help---
  95. This driver provides kernel-side support for the Random Number
  96. Generator hardware found on Niagara2 cpus.
  97. To compile this driver as a module, choose M here: the
  98. module will be called n2-rng.
  99. If unsure, say Y.
  100. config HW_RANDOM_VIA
  101. tristate "VIA HW Random Number Generator support"
  102. depends on X86
  103. default HW_RANDOM
  104. ---help---
  105. This driver provides kernel-side support for the Random Number
  106. Generator hardware found on VIA based motherboards.
  107. To compile this driver as a module, choose M here: the
  108. module will be called via-rng.
  109. If unsure, say Y.
  110. config HW_RANDOM_IXP4XX
  111. tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
  112. depends on ARCH_IXP4XX
  113. default HW_RANDOM
  114. ---help---
  115. This driver provides kernel-side support for the Pseudo-Random
  116. Number Generator hardware found on the Intel IXP45x/46x NPU.
  117. To compile this driver as a module, choose M here: the
  118. module will be called ixp4xx-rng.
  119. If unsure, say Y.
  120. config HW_RANDOM_OMAP
  121. tristate "OMAP Random Number Generator support"
  122. depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
  123. default HW_RANDOM
  124. ---help---
  125. This driver provides kernel-side support for the Random Number
  126. Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx
  127. multimedia processors.
  128. To compile this driver as a module, choose M here: the
  129. module will be called omap-rng.
  130. If unsure, say Y.
  131. config HW_RANDOM_OMAP3_ROM
  132. tristate "OMAP3 ROM Random Number Generator support"
  133. depends on ARCH_OMAP3
  134. default HW_RANDOM
  135. ---help---
  136. This driver provides kernel-side support for the Random Number
  137. Generator hardware found on OMAP34xx processors.
  138. To compile this driver as a module, choose M here: the
  139. module will be called omap3-rom-rng.
  140. If unsure, say Y.
  141. config HW_RANDOM_OCTEON
  142. tristate "Octeon Random Number Generator support"
  143. depends on CAVIUM_OCTEON_SOC
  144. default HW_RANDOM
  145. ---help---
  146. This driver provides kernel-side support for the Random Number
  147. Generator hardware found on Octeon processors.
  148. To compile this driver as a module, choose M here: the
  149. module will be called octeon-rng.
  150. If unsure, say Y.
  151. config HW_RANDOM_PASEMI
  152. tristate "PA Semi HW Random Number Generator support"
  153. depends on PPC_PASEMI
  154. default HW_RANDOM
  155. ---help---
  156. This driver provides kernel-side support for the Random Number
  157. Generator hardware found on PA Semi PWRficient SoCs.
  158. To compile this driver as a module, choose M here: the
  159. module will be called pasemi-rng.
  160. If unsure, say Y.
  161. config HW_RANDOM_VIRTIO
  162. tristate "VirtIO Random Number Generator support"
  163. depends on VIRTIO
  164. ---help---
  165. This driver provides kernel-side support for the virtual Random Number
  166. Generator hardware.
  167. To compile this driver as a module, choose M here: the
  168. module will be called virtio-rng. If unsure, say N.
  169. config HW_RANDOM_TX4939
  170. tristate "TX4939 Random Number Generator support"
  171. depends on SOC_TX4939
  172. default HW_RANDOM
  173. ---help---
  174. This driver provides kernel-side support for the Random Number
  175. Generator hardware found on TX4939 SoC.
  176. To compile this driver as a module, choose M here: the
  177. module will be called tx4939-rng.
  178. If unsure, say Y.
  179. config HW_RANDOM_MXC_RNGA
  180. tristate "Freescale i.MX RNGA Random Number Generator"
  181. depends on ARCH_HAS_RNGA
  182. default HW_RANDOM
  183. ---help---
  184. This driver provides kernel-side support for the Random Number
  185. Generator hardware found on Freescale i.MX processors.
  186. To compile this driver as a module, choose M here: the
  187. module will be called mxc-rnga.
  188. If unsure, say Y.
  189. config HW_RANDOM_NOMADIK
  190. tristate "ST-Ericsson Nomadik Random Number Generator support"
  191. depends on ARCH_NOMADIK
  192. default HW_RANDOM
  193. ---help---
  194. This driver provides kernel-side support for the Random Number
  195. Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
  196. To compile this driver as a module, choose M here: the
  197. module will be called nomadik-rng.
  198. If unsure, say Y.
  199. config HW_RANDOM_PPC4XX
  200. tristate "PowerPC 4xx generic true random number generator support"
  201. depends on PPC && 4xx
  202. default HW_RANDOM
  203. ---help---
  204. This driver provides the kernel-side support for the TRNG hardware
  205. found in the security function of some PowerPC 4xx SoCs.
  206. To compile this driver as a module, choose M here: the
  207. module will be called ppc4xx-rng.
  208. If unsure, say N.
  209. config HW_RANDOM_PSERIES
  210. tristate "pSeries HW Random Number Generator support"
  211. depends on PPC64 && IBMVIO
  212. default HW_RANDOM
  213. ---help---
  214. This driver provides kernel-side support for the Random Number
  215. Generator hardware found on POWER7+ machines and above
  216. To compile this driver as a module, choose M here: the
  217. module will be called pseries-rng.
  218. If unsure, say Y.
  219. config HW_RANDOM_POWERNV
  220. tristate "PowerNV Random Number Generator support"
  221. depends on PPC_POWERNV
  222. default HW_RANDOM
  223. ---help---
  224. This is the driver for Random Number Generator hardware found
  225. in POWER7+ and above machines for PowerNV platform.
  226. To compile this driver as a module, choose M here: the
  227. module will be called powernv-rng.
  228. If unsure, say Y.
  229. config HW_RANDOM_EXYNOS
  230. tristate "EXYNOS HW random number generator support"
  231. depends on ARCH_EXYNOS
  232. default HW_RANDOM
  233. ---help---
  234. This driver provides kernel-side support for the Random Number
  235. Generator hardware found on EXYNOS SOCs.
  236. To compile this driver as a module, choose M here: the
  237. module will be called exynos-rng.
  238. If unsure, say Y.
  239. config HW_RANDOM_TPM
  240. tristate "TPM HW Random Number Generator support"
  241. depends on TCG_TPM
  242. default HW_RANDOM
  243. ---help---
  244. This driver provides kernel-side support for the Random Number
  245. Generator in the Trusted Platform Module
  246. To compile this driver as a module, choose M here: the
  247. module will be called tpm-rng.
  248. If unsure, say Y.
  249. config HW_RANDOM_MSM
  250. tristate "Qualcomm SoCs Random Number Generator support"
  251. depends on HW_RANDOM && ARCH_QCOM
  252. default HW_RANDOM
  253. ---help---
  254. This driver provides kernel-side support for the Random Number
  255. Generator hardware found on Qualcomm SoCs.
  256. To compile this driver as a module, choose M here. the
  257. module will be called msm-rng.
  258. If unsure, say Y.
  259. config HW_RANDOM_XGENE
  260. tristate "APM X-Gene True Random Number Generator (TRNG) support"
  261. depends on HW_RANDOM && ARCH_XGENE
  262. default HW_RANDOM
  263. ---help---
  264. This driver provides kernel-side support for the Random Number
  265. Generator hardware found on APM X-Gene SoC.
  266. To compile this driver as a module, choose M here: the
  267. module will be called xgene_rng.
  268. If unsure, say Y.
  269. endif # HW_RANDOM
  270. config UML_RANDOM
  271. depends on UML
  272. tristate "Hardware random number generator"
  273. help
  274. This option enables UML's "hardware" random number generator. It
  275. attaches itself to the host's /dev/random, supplying as much entropy
  276. as the host has, rather than the small amount the UML gets from its
  277. own drivers. It registers itself as a standard hardware random number
  278. generator, major 10, minor 183, and the canonical device name is
  279. /dev/hwrng.
  280. The way to make use of this is to install the rng-tools package
  281. (check your distro, or download from
  282. http://sourceforge.net/projects/gkernel/). rngd periodically reads
  283. /dev/hwrng and injects the entropy into /dev/random.