Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  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/hwrng, 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_IPROC_RNG200
  81. tristate "Broadcom iProc RNG200 support"
  82. depends on ARCH_BCM_IPROC
  83. default HW_RANDOM
  84. ---help---
  85. This driver provides kernel-side support for the RNG200
  86. hardware found on the Broadcom iProc SoCs.
  87. To compile this driver as a module, choose M here: the
  88. module will be called iproc-rng200
  89. If unsure, say Y.
  90. config HW_RANDOM_GEODE
  91. tristate "AMD Geode HW Random Number Generator support"
  92. depends on X86_32 && PCI
  93. default HW_RANDOM
  94. ---help---
  95. This driver provides kernel-side support for the Random Number
  96. Generator hardware found on the AMD Geode LX.
  97. To compile this driver as a module, choose M here: the
  98. module will be called geode-rng.
  99. If unsure, say Y.
  100. config HW_RANDOM_N2RNG
  101. tristate "Niagara2 Random Number Generator support"
  102. depends on SPARC64
  103. default HW_RANDOM
  104. ---help---
  105. This driver provides kernel-side support for the Random Number
  106. Generator hardware found on Niagara2 cpus.
  107. To compile this driver as a module, choose M here: the
  108. module will be called n2-rng.
  109. If unsure, say Y.
  110. config HW_RANDOM_VIA
  111. tristate "VIA HW Random Number Generator support"
  112. depends on X86
  113. default HW_RANDOM
  114. ---help---
  115. This driver provides kernel-side support for the Random Number
  116. Generator hardware found on VIA based motherboards.
  117. To compile this driver as a module, choose M here: the
  118. module will be called via-rng.
  119. If unsure, say Y.
  120. config HW_RANDOM_IXP4XX
  121. tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
  122. depends on ARCH_IXP4XX
  123. default HW_RANDOM
  124. ---help---
  125. This driver provides kernel-side support for the Pseudo-Random
  126. Number Generator hardware found on the Intel IXP45x/46x NPU.
  127. To compile this driver as a module, choose M here: the
  128. module will be called ixp4xx-rng.
  129. If unsure, say Y.
  130. config HW_RANDOM_OMAP
  131. tristate "OMAP Random Number Generator support"
  132. depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
  133. default HW_RANDOM
  134. ---help---
  135. This driver provides kernel-side support for the Random Number
  136. Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx
  137. multimedia processors.
  138. To compile this driver as a module, choose M here: the
  139. module will be called omap-rng.
  140. If unsure, say Y.
  141. config HW_RANDOM_OMAP3_ROM
  142. tristate "OMAP3 ROM Random Number Generator support"
  143. depends on ARCH_OMAP3
  144. default HW_RANDOM
  145. ---help---
  146. This driver provides kernel-side support for the Random Number
  147. Generator hardware found on OMAP34xx processors.
  148. To compile this driver as a module, choose M here: the
  149. module will be called omap3-rom-rng.
  150. If unsure, say Y.
  151. config HW_RANDOM_OCTEON
  152. tristate "Octeon Random Number Generator support"
  153. depends on CAVIUM_OCTEON_SOC
  154. default HW_RANDOM
  155. ---help---
  156. This driver provides kernel-side support for the Random Number
  157. Generator hardware found on Octeon processors.
  158. To compile this driver as a module, choose M here: the
  159. module will be called octeon-rng.
  160. If unsure, say Y.
  161. config HW_RANDOM_PASEMI
  162. tristate "PA Semi HW Random Number Generator support"
  163. depends on PPC_PASEMI
  164. default HW_RANDOM
  165. ---help---
  166. This driver provides kernel-side support for the Random Number
  167. Generator hardware found on PA Semi PWRficient SoCs.
  168. To compile this driver as a module, choose M here: the
  169. module will be called pasemi-rng.
  170. If unsure, say Y.
  171. config HW_RANDOM_VIRTIO
  172. tristate "VirtIO Random Number Generator support"
  173. depends on VIRTIO
  174. ---help---
  175. This driver provides kernel-side support for the virtual Random Number
  176. Generator hardware.
  177. To compile this driver as a module, choose M here: the
  178. module will be called virtio-rng. If unsure, say N.
  179. config HW_RANDOM_TX4939
  180. tristate "TX4939 Random Number Generator support"
  181. depends on SOC_TX4939
  182. default HW_RANDOM
  183. ---help---
  184. This driver provides kernel-side support for the Random Number
  185. Generator hardware found on TX4939 SoC.
  186. To compile this driver as a module, choose M here: the
  187. module will be called tx4939-rng.
  188. If unsure, say Y.
  189. config HW_RANDOM_MXC_RNGA
  190. tristate "Freescale i.MX RNGA Random Number Generator"
  191. depends on ARCH_HAS_RNGA
  192. default HW_RANDOM
  193. ---help---
  194. This driver provides kernel-side support for the Random Number
  195. Generator hardware found on Freescale i.MX processors.
  196. To compile this driver as a module, choose M here: the
  197. module will be called mxc-rnga.
  198. If unsure, say Y.
  199. config HW_RANDOM_NOMADIK
  200. tristate "ST-Ericsson Nomadik Random Number Generator support"
  201. depends on ARCH_NOMADIK
  202. default HW_RANDOM
  203. ---help---
  204. This driver provides kernel-side support for the Random Number
  205. Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
  206. To compile this driver as a module, choose M here: the
  207. module will be called nomadik-rng.
  208. If unsure, say Y.
  209. config HW_RANDOM_PPC4XX
  210. tristate "PowerPC 4xx generic true random number generator support"
  211. depends on PPC && 4xx
  212. default HW_RANDOM
  213. ---help---
  214. This driver provides the kernel-side support for the TRNG hardware
  215. found in the security function of some PowerPC 4xx SoCs.
  216. To compile this driver as a module, choose M here: the
  217. module will be called ppc4xx-rng.
  218. If unsure, say N.
  219. config HW_RANDOM_PSERIES
  220. tristate "pSeries HW Random Number Generator support"
  221. depends on PPC64 && IBMVIO
  222. default HW_RANDOM
  223. ---help---
  224. This driver provides kernel-side support for the Random Number
  225. Generator hardware found on POWER7+ machines and above
  226. To compile this driver as a module, choose M here: the
  227. module will be called pseries-rng.
  228. If unsure, say Y.
  229. config HW_RANDOM_POWERNV
  230. tristate "PowerNV Random Number Generator support"
  231. depends on PPC_POWERNV
  232. default HW_RANDOM
  233. ---help---
  234. This is the driver for Random Number Generator hardware found
  235. in POWER7+ and above machines for PowerNV platform.
  236. To compile this driver as a module, choose M here: the
  237. module will be called powernv-rng.
  238. If unsure, say Y.
  239. config HW_RANDOM_EXYNOS
  240. tristate "EXYNOS HW random number generator support"
  241. depends on ARCH_EXYNOS
  242. default HW_RANDOM
  243. ---help---
  244. This driver provides kernel-side support for the Random Number
  245. Generator hardware found on EXYNOS SOCs.
  246. To compile this driver as a module, choose M here: the
  247. module will be called exynos-rng.
  248. If unsure, say Y.
  249. config HW_RANDOM_TPM
  250. tristate "TPM HW Random Number Generator support"
  251. depends on TCG_TPM
  252. default HW_RANDOM
  253. ---help---
  254. This driver provides kernel-side support for the Random Number
  255. Generator in the Trusted Platform Module
  256. To compile this driver as a module, choose M here: the
  257. module will be called tpm-rng.
  258. If unsure, say Y.
  259. config HW_RANDOM_MSM
  260. tristate "Qualcomm SoCs Random Number Generator support"
  261. depends on HW_RANDOM && ARCH_QCOM
  262. default HW_RANDOM
  263. ---help---
  264. This driver provides kernel-side support for the Random Number
  265. Generator hardware found on Qualcomm SoCs.
  266. To compile this driver as a module, choose M here. the
  267. module will be called msm-rng.
  268. If unsure, say Y.
  269. config HW_RANDOM_ST
  270. tristate "ST Microelectronics HW Random Number Generator support"
  271. depends on HW_RANDOM && ARCH_STI
  272. ---help---
  273. This driver provides kernel-side support for the Random Number
  274. Generator hardware found on STi series of SoCs.
  275. To compile this driver as a module, choose M here: the
  276. module will be called st-rng.
  277. config HW_RANDOM_XGENE
  278. tristate "APM X-Gene True Random Number Generator (TRNG) support"
  279. depends on HW_RANDOM && ARCH_XGENE
  280. default HW_RANDOM
  281. ---help---
  282. This driver provides kernel-side support for the Random Number
  283. Generator hardware found on APM X-Gene SoC.
  284. To compile this driver as a module, choose M here: the
  285. module will be called xgene_rng.
  286. If unsure, say Y.
  287. config HW_RANDOM_STM32
  288. tristate "STMicroelectronics STM32 random number generator"
  289. depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
  290. help
  291. This driver provides kernel-side support for the Random Number
  292. Generator hardware found on STM32 microcontrollers.
  293. To compile this driver as a module, choose M here: the
  294. module will be called stm32-rng.
  295. If unsure, say N.
  296. endif # HW_RANDOM
  297. config UML_RANDOM
  298. depends on UML
  299. tristate "Hardware random number generator"
  300. help
  301. This option enables UML's "hardware" random number generator. It
  302. attaches itself to the host's /dev/random, supplying as much entropy
  303. as the host has, rather than the small amount the UML gets from its
  304. own drivers. It registers itself as a standard hardware random number
  305. generator, major 10, minor 183, and the canonical device name is
  306. /dev/hwrng.
  307. The way to make use of this is to install the rng-tools package
  308. (check your distro, or download from
  309. http://sourceforge.net/projects/gkernel/). rngd periodically reads
  310. /dev/hwrng and injects the entropy into /dev/random.