Kconfig 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  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 || BMIPS_GENERIC
  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 || ARCH_BCM_NSP || ARCH_BCM_5301X
  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 SOC_IMX31
  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_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 || COMPILE_TEST
  232. depends on HAS_IOMEM
  233. default HW_RANDOM
  234. ---help---
  235. This driver provides kernel-side support for the Random Number
  236. Generator hardware found on EXYNOS SOCs.
  237. To compile this driver as a module, choose M here: the
  238. module will be called exynos-rng.
  239. If unsure, say Y.
  240. config HW_RANDOM_TPM
  241. tristate "TPM HW Random Number Generator support"
  242. depends on TCG_TPM
  243. default HW_RANDOM
  244. ---help---
  245. This driver provides kernel-side support for the Random Number
  246. Generator in the Trusted Platform Module
  247. To compile this driver as a module, choose M here: the
  248. module will be called tpm-rng.
  249. If unsure, say Y.
  250. config HW_RANDOM_HISI
  251. tristate "Hisilicon Random Number Generator support"
  252. depends on HW_RANDOM && ARCH_HISI
  253. default HW_RANDOM
  254. ---help---
  255. This driver provides kernel-side support for the Random Number
  256. Generator hardware found on Hisilicon Hip04 and Hip05 SoC.
  257. To compile this driver as a module, choose M here: the
  258. module will be called hisi-rng.
  259. If unsure, say Y.
  260. config HW_RANDOM_MSM
  261. tristate "Qualcomm SoCs Random Number Generator support"
  262. depends on HW_RANDOM && ARCH_QCOM
  263. default HW_RANDOM
  264. ---help---
  265. This driver provides kernel-side support for the Random Number
  266. Generator hardware found on Qualcomm SoCs.
  267. To compile this driver as a module, choose M here. the
  268. module will be called msm-rng.
  269. If unsure, say Y.
  270. config HW_RANDOM_ST
  271. tristate "ST Microelectronics HW Random Number Generator support"
  272. depends on HW_RANDOM && ARCH_STI
  273. ---help---
  274. This driver provides kernel-side support for the Random Number
  275. Generator hardware found on STi series of SoCs.
  276. To compile this driver as a module, choose M here: the
  277. module will be called st-rng.
  278. config HW_RANDOM_XGENE
  279. tristate "APM X-Gene True Random Number Generator (TRNG) support"
  280. depends on HW_RANDOM && ARCH_XGENE
  281. default HW_RANDOM
  282. ---help---
  283. This driver provides kernel-side support for the Random Number
  284. Generator hardware found on APM X-Gene SoC.
  285. To compile this driver as a module, choose M here: the
  286. module will be called xgene_rng.
  287. If unsure, say Y.
  288. config HW_RANDOM_STM32
  289. tristate "STMicroelectronics STM32 random number generator"
  290. depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
  291. depends on HAS_IOMEM
  292. help
  293. This driver provides kernel-side support for the Random Number
  294. Generator hardware found on STM32 microcontrollers.
  295. To compile this driver as a module, choose M here: the
  296. module will be called stm32-rng.
  297. If unsure, say N.
  298. config HW_RANDOM_PIC32
  299. tristate "Microchip PIC32 Random Number Generator support"
  300. depends on HW_RANDOM && MACH_PIC32
  301. default y
  302. ---help---
  303. This driver provides kernel-side support for the Random Number
  304. Generator hardware found on a PIC32.
  305. To compile this driver as a module, choose M here. the
  306. module will be called pic32-rng.
  307. If unsure, say Y.
  308. config HW_RANDOM_MESON
  309. tristate "Amlogic Meson Random Number Generator support"
  310. depends on HW_RANDOM
  311. depends on ARCH_MESON || COMPILE_TEST
  312. default y
  313. ---help---
  314. This driver provides kernel-side support for the Random Number
  315. Generator hardware found on Amlogic Meson SoCs.
  316. To compile this driver as a module, choose M here. the
  317. module will be called meson-rng.
  318. If unsure, say Y.
  319. config HW_RANDOM_CAVIUM
  320. tristate "Cavium ThunderX Random Number Generator support"
  321. depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT))
  322. default HW_RANDOM
  323. ---help---
  324. This driver provides kernel-side support for the Random Number
  325. Generator hardware found on Cavium SoCs.
  326. To compile this driver as a module, choose M here: the
  327. module will be called cavium_rng.
  328. If unsure, say Y.
  329. endif # HW_RANDOM
  330. config UML_RANDOM
  331. depends on UML
  332. tristate "Hardware random number generator"
  333. help
  334. This option enables UML's "hardware" random number generator. It
  335. attaches itself to the host's /dev/random, supplying as much entropy
  336. as the host has, rather than the small amount the UML gets from its
  337. own drivers. It registers itself as a standard hardware random number
  338. generator, major 10, minor 183, and the canonical device name is
  339. /dev/hwrng.
  340. The way to make use of this is to install the rng-tools package
  341. (check your distro, or download from
  342. http://sourceforge.net/projects/gkernel/). rngd periodically reads
  343. /dev/hwrng and injects the entropy into /dev/random.