Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | # |
| 2 | # Hardware Random Number Generator (RNG) configuration |
| 3 | # |
| 4 | |
| 5 | menuconfig 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 not feed directly |
| 17 | into the kernel's random number generator. That is usually |
| 18 | handled by the "rngd" daemon. Documentation/hw_random.txt |
| 19 | has more information. |
| 20 | |
| 21 | If unsure, say Y. |
| 22 | |
| 23 | if HW_RANDOM |
| 24 | |
| 25 | config HW_RANDOM_TIMERIOMEM |
| 26 | tristate "Timer IOMEM HW Random Number Generator support" |
| 27 | depends on HAS_IOMEM |
| 28 | ---help--- |
| 29 | This driver provides kernel-side support for a generic Random |
| 30 | Number Generator used by reading a 'dumb' iomem address that |
| 31 | is to be read no faster than, for example, once a second; |
| 32 | the default FPGA bitstream on the TS-7800 has such functionality. |
| 33 | |
| 34 | To compile this driver as a module, choose M here: the |
| 35 | module will be called timeriomem-rng. |
| 36 | |
| 37 | If unsure, say Y. |
| 38 | |
| 39 | config HW_RANDOM_INTEL |
| 40 | tristate "Intel HW Random Number Generator support" |
| 41 | depends on (X86 || IA64) && PCI |
| 42 | default HW_RANDOM |
| 43 | ---help--- |
| 44 | This driver provides kernel-side support for the Random Number |
| 45 | Generator hardware found on Intel i8xx-based motherboards. |
| 46 | |
| 47 | To compile this driver as a module, choose M here: the |
| 48 | module will be called intel-rng. |
| 49 | |
| 50 | If unsure, say Y. |
| 51 | |
| 52 | config HW_RANDOM_AMD |
| 53 | tristate "AMD HW Random Number Generator support" |
| 54 | depends on (X86 || PPC_MAPLE) && PCI |
| 55 | default HW_RANDOM |
| 56 | ---help--- |
| 57 | This driver provides kernel-side support for the Random Number |
| 58 | Generator hardware found on AMD 76x-based motherboards. |
| 59 | |
| 60 | To compile this driver as a module, choose M here: the |
| 61 | module will be called amd-rng. |
| 62 | |
| 63 | If unsure, say Y. |
| 64 | |
| 65 | config HW_RANDOM_ATMEL |
| 66 | tristate "Atmel Random Number Generator support" |
| 67 | depends on ARCH_AT91 && HAVE_CLK && OF |
| 68 | default HW_RANDOM |
| 69 | ---help--- |
| 70 | This driver provides kernel-side support for the Random Number |
| 71 | Generator hardware found on Atmel AT91 devices. |
| 72 | |
| 73 | To compile this driver as a module, choose M here: the |
| 74 | module will be called atmel-rng. |
| 75 | |
| 76 | If unsure, say Y. |
| 77 | |
| 78 | config HW_RANDOM_BCM63XX |
| 79 | tristate "Broadcom BCM63xx Random Number Generator support" |
| 80 | depends on BCM63XX |
| 81 | default HW_RANDOM |
| 82 | ---help--- |
| 83 | This driver provides kernel-side support for the Random Number |
| 84 | Generator hardware found on the Broadcom BCM63xx SoCs. |
| 85 | |
| 86 | To compile this driver as a module, choose M here: the |
| 87 | module will be called bcm63xx-rng |
| 88 | |
| 89 | If unusure, say Y. |
| 90 | |
| 91 | config HW_RANDOM_BCM2835 |
| 92 | tristate "Broadcom BCM2835 Random Number Generator support" |
| 93 | depends on ARCH_BCM2835 |
| 94 | default HW_RANDOM |
| 95 | ---help--- |
| 96 | This driver provides kernel-side support for the Random Number |
| 97 | Generator hardware found on the Broadcom BCM2835 SoCs. |
| 98 | |
| 99 | To compile this driver as a module, choose M here: the |
| 100 | module will be called bcm2835-rng |
| 101 | |
| 102 | If unsure, say Y. |
| 103 | |
| 104 | config HW_RANDOM_IPROC_RNG200 |
| 105 | tristate "Broadcom iProc RNG200 support" |
| 106 | depends on ARCH_BCM_IPROC |
| 107 | default HW_RANDOM |
| 108 | ---help--- |
| 109 | This driver provides kernel-side support for the RNG200 |
| 110 | hardware found on the Broadcom iProc SoCs. |
| 111 | |
| 112 | To compile this driver as a module, choose M here: the |
| 113 | module will be called iproc-rng200 |
| 114 | |
| 115 | If unsure, say Y. |
| 116 | |
| 117 | config HW_RANDOM_GEODE |
| 118 | tristate "AMD Geode HW Random Number Generator support" |
| 119 | depends on X86_32 && PCI |
| 120 | default HW_RANDOM |
| 121 | ---help--- |
| 122 | This driver provides kernel-side support for the Random Number |
| 123 | Generator hardware found on the AMD Geode LX. |
| 124 | |
| 125 | To compile this driver as a module, choose M here: the |
| 126 | module will be called geode-rng. |
| 127 | |
| 128 | If unsure, say Y. |
| 129 | |
| 130 | config HW_RANDOM_N2RNG |
| 131 | tristate "Niagara2 Random Number Generator support" |
| 132 | depends on SPARC64 |
| 133 | default HW_RANDOM |
| 134 | ---help--- |
| 135 | This driver provides kernel-side support for the Random Number |
| 136 | Generator hardware found on Niagara2 cpus. |
| 137 | |
| 138 | To compile this driver as a module, choose M here: the |
| 139 | module will be called n2-rng. |
| 140 | |
| 141 | If unsure, say Y. |
| 142 | |
| 143 | config HW_RANDOM_VIA |
| 144 | tristate "VIA HW Random Number Generator support" |
| 145 | depends on X86 |
| 146 | default HW_RANDOM |
| 147 | ---help--- |
| 148 | This driver provides kernel-side support for the Random Number |
| 149 | Generator hardware found on VIA based motherboards. |
| 150 | |
| 151 | To compile this driver as a module, choose M here: the |
| 152 | module will be called via-rng. |
| 153 | |
| 154 | If unsure, say Y. |
| 155 | |
| 156 | config HW_RANDOM_IXP4XX |
| 157 | tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" |
| 158 | depends on ARCH_IXP4XX |
| 159 | default HW_RANDOM |
| 160 | ---help--- |
| 161 | This driver provides kernel-side support for the Pseudo-Random |
| 162 | Number Generator hardware found on the Intel IXP45x/46x NPU. |
| 163 | |
| 164 | To compile this driver as a module, choose M here: the |
| 165 | module will be called ixp4xx-rng. |
| 166 | |
| 167 | If unsure, say Y. |
| 168 | |
| 169 | config HW_RANDOM_OMAP |
| 170 | tristate "OMAP Random Number Generator support" |
| 171 | depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS |
| 172 | default HW_RANDOM |
| 173 | ---help--- |
| 174 | This driver provides kernel-side support for the Random Number |
| 175 | Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx |
| 176 | multimedia processors. |
| 177 | |
| 178 | To compile this driver as a module, choose M here: the |
| 179 | module will be called omap-rng. |
| 180 | |
| 181 | If unsure, say Y. |
| 182 | |
| 183 | config HW_RANDOM_OMAP3_ROM |
| 184 | tristate "OMAP3 ROM Random Number Generator support" |
| 185 | depends on ARCH_OMAP3 |
| 186 | default HW_RANDOM |
| 187 | ---help--- |
| 188 | This driver provides kernel-side support for the Random Number |
| 189 | Generator hardware found on OMAP34xx processors. |
| 190 | |
| 191 | To compile this driver as a module, choose M here: the |
| 192 | module will be called omap3-rom-rng. |
| 193 | |
| 194 | If unsure, say Y. |
| 195 | |
| 196 | config HW_RANDOM_OCTEON |
| 197 | tristate "Octeon Random Number Generator support" |
| 198 | depends on CAVIUM_OCTEON_SOC |
| 199 | default HW_RANDOM |
| 200 | ---help--- |
| 201 | This driver provides kernel-side support for the Random Number |
| 202 | Generator hardware found on Octeon processors. |
| 203 | |
| 204 | To compile this driver as a module, choose M here: the |
| 205 | module will be called octeon-rng. |
| 206 | |
| 207 | If unsure, say Y. |
| 208 | |
| 209 | config HW_RANDOM_PASEMI |
| 210 | tristate "PA Semi HW Random Number Generator support" |
| 211 | depends on PPC_PASEMI |
| 212 | default HW_RANDOM |
| 213 | ---help--- |
| 214 | This driver provides kernel-side support for the Random Number |
| 215 | Generator hardware found on PA Semi PWRficient SoCs. |
| 216 | |
| 217 | To compile this driver as a module, choose M here: the |
| 218 | module will be called pasemi-rng. |
| 219 | |
| 220 | If unsure, say Y. |
| 221 | |
| 222 | config HW_RANDOM_VIRTIO |
| 223 | tristate "VirtIO Random Number Generator support" |
| 224 | depends on VIRTIO |
| 225 | ---help--- |
| 226 | This driver provides kernel-side support for the virtual Random Number |
| 227 | Generator hardware. |
| 228 | |
| 229 | To compile this driver as a module, choose M here: the |
| 230 | module will be called virtio-rng. If unsure, say N. |
| 231 | |
| 232 | config HW_RANDOM_TX4939 |
| 233 | tristate "TX4939 Random Number Generator support" |
| 234 | depends on SOC_TX4939 |
| 235 | default HW_RANDOM |
| 236 | ---help--- |
| 237 | This driver provides kernel-side support for the Random Number |
| 238 | Generator hardware found on TX4939 SoC. |
| 239 | |
| 240 | To compile this driver as a module, choose M here: the |
| 241 | module will be called tx4939-rng. |
| 242 | |
| 243 | If unsure, say Y. |
| 244 | |
| 245 | config HW_RANDOM_MXC_RNGA |
| 246 | tristate "Freescale i.MX RNGA Random Number Generator" |
| 247 | depends on ARCH_HAS_RNGA |
| 248 | default HW_RANDOM |
| 249 | ---help--- |
| 250 | This driver provides kernel-side support for the Random Number |
| 251 | Generator hardware found on Freescale i.MX processors. |
| 252 | |
| 253 | To compile this driver as a module, choose M here: the |
| 254 | module will be called mxc-rnga. |
| 255 | |
| 256 | If unsure, say Y. |
| 257 | |
| 258 | config HW_RANDOM_NOMADIK |
| 259 | tristate "ST-Ericsson Nomadik Random Number Generator support" |
| 260 | depends on ARCH_NOMADIK |
| 261 | default HW_RANDOM |
| 262 | ---help--- |
| 263 | This driver provides kernel-side support for the Random Number |
| 264 | Generator hardware found on ST-Ericsson SoCs (8815 and 8500). |
| 265 | |
| 266 | To compile this driver as a module, choose M here: the |
| 267 | module will be called nomadik-rng. |
| 268 | |
| 269 | If unsure, say Y. |
| 270 | |
| 271 | config HW_RANDOM_PPC4XX |
| 272 | tristate "PowerPC 4xx generic true random number generator support" |
| 273 | depends on PPC && 4xx |
| 274 | default HW_RANDOM |
| 275 | ---help--- |
| 276 | This driver provides the kernel-side support for the TRNG hardware |
| 277 | found in the security function of some PowerPC 4xx SoCs. |
| 278 | |
| 279 | To compile this driver as a module, choose M here: the |
| 280 | module will be called ppc4xx-rng. |
| 281 | |
| 282 | If unsure, say N. |
| 283 | |
| 284 | config HW_RANDOM_PSERIES |
| 285 | tristate "pSeries HW Random Number Generator support" |
| 286 | depends on PPC64 && IBMVIO |
| 287 | default HW_RANDOM |
| 288 | ---help--- |
| 289 | This driver provides kernel-side support for the Random Number |
| 290 | Generator hardware found on POWER7+ machines and above |
| 291 | |
| 292 | To compile this driver as a module, choose M here: the |
| 293 | module will be called pseries-rng. |
| 294 | |
| 295 | If unsure, say Y. |
| 296 | |
| 297 | config HW_RANDOM_POWERNV |
| 298 | tristate "PowerNV Random Number Generator support" |
| 299 | depends on PPC_POWERNV |
| 300 | default HW_RANDOM |
| 301 | ---help--- |
| 302 | This is the driver for Random Number Generator hardware found |
| 303 | in POWER7+ and above machines for PowerNV platform. |
| 304 | |
| 305 | To compile this driver as a module, choose M here: the |
| 306 | module will be called powernv-rng. |
| 307 | |
| 308 | If unsure, say Y. |
| 309 | |
| 310 | config HW_RANDOM_EXYNOS |
| 311 | tristate "EXYNOS HW random number generator support" |
| 312 | depends on ARCH_EXYNOS |
| 313 | default HW_RANDOM |
| 314 | ---help--- |
| 315 | This driver provides kernel-side support for the Random Number |
| 316 | Generator hardware found on EXYNOS SOCs. |
| 317 | |
| 318 | To compile this driver as a module, choose M here: the |
| 319 | module will be called exynos-rng. |
| 320 | |
| 321 | If unsure, say Y. |
| 322 | |
| 323 | config HW_RANDOM_TPM |
| 324 | tristate "TPM HW Random Number Generator support" |
| 325 | depends on TCG_TPM |
| 326 | default HW_RANDOM |
| 327 | ---help--- |
| 328 | This driver provides kernel-side support for the Random Number |
| 329 | Generator in the Trusted Platform Module |
| 330 | |
| 331 | To compile this driver as a module, choose M here: the |
| 332 | module will be called tpm-rng. |
| 333 | |
| 334 | If unsure, say Y. |
| 335 | |
| 336 | config HW_RANDOM_MSM |
| 337 | tristate "Qualcomm SoCs Random Number Generator support" |
| 338 | depends on HW_RANDOM && ARCH_QCOM |
| 339 | default HW_RANDOM |
| 340 | ---help--- |
| 341 | This driver provides kernel-side support for the Random Number |
| 342 | Generator hardware found on Qualcomm SoCs. |
| 343 | |
| 344 | To compile this driver as a module, choose M here. the |
| 345 | module will be called msm-rng. |
| 346 | |
| 347 | If unsure, say Y. |
| 348 | |
| 349 | config HW_RANDOM_ST |
| 350 | tristate "ST Microelectronics HW Random Number Generator support" |
| 351 | depends on HW_RANDOM && ARCH_STI |
| 352 | ---help--- |
| 353 | This driver provides kernel-side support for the Random Number |
| 354 | Generator hardware found on STi series of SoCs. |
| 355 | |
| 356 | To compile this driver as a module, choose M here: the |
| 357 | module will be called st-rng. |
| 358 | |
| 359 | config HW_RANDOM_XGENE |
| 360 | tristate "APM X-Gene True Random Number Generator (TRNG) support" |
| 361 | depends on HW_RANDOM && ARCH_XGENE |
| 362 | default HW_RANDOM |
| 363 | ---help--- |
| 364 | This driver provides kernel-side support for the Random Number |
| 365 | Generator hardware found on APM X-Gene SoC. |
| 366 | |
| 367 | To compile this driver as a module, choose M here: the |
| 368 | module will be called xgene_rng. |
| 369 | |
| 370 | If unsure, say Y. |
| 371 | |
| 372 | config HW_RANDOM_STM32 |
| 373 | tristate "STMicroelectronics STM32 random number generator" |
| 374 | depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST) |
| 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 | |
| 384 | endif # HW_RANDOM |
| 385 | |
| 386 | config UML_RANDOM |
| 387 | depends on UML |
| 388 | tristate "Hardware random number generator" |
| 389 | help |
| 390 | This option enables UML's "hardware" random number generator. It |
| 391 | attaches itself to the host's /dev/random, supplying as much entropy |
| 392 | as the host has, rather than the small amount the UML gets from its |
| 393 | own drivers. It registers itself as a standard hardware random number |
| 394 | generator, major 10, minor 183, and the canonical device name is |
| 395 | /dev/hwrng. |
| 396 | The way to make use of this is to install the rng-tools package |
| 397 | (check your distro, or download from |
| 398 | http://sourceforge.net/projects/gkernel/). rngd periodically reads |
| 399 | /dev/hwrng and injects the entropy into /dev/random. |