| # |
| # Hardware Random Number Generator (RNG) configuration |
| # |
| |
| menuconfig HW_RANDOM |
| tristate "Hardware Random Number Generator Core support" |
| default m |
| ---help--- |
| Hardware Random Number Generator Core infrastructure. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called rng-core. This provides a device |
| that's usually called /dev/hwrng, and which exposes one |
| of possibly several hardware random number generators. |
| |
| These hardware random number generators do feed into the |
| kernel's random number generator entropy pool. |
| |
| If unsure, say Y. |
| |
| if HW_RANDOM |
| |
| config HW_RANDOM_TIMERIOMEM |
| tristate "Timer IOMEM HW Random Number Generator support" |
| depends on HAS_IOMEM |
| ---help--- |
| This driver provides kernel-side support for a generic Random |
| Number Generator used by reading a 'dumb' iomem address that |
| is to be read no faster than, for example, once a second; |
| the default FPGA bitstream on the TS-7800 has such functionality. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called timeriomem-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_INTEL |
| tristate "Intel HW Random Number Generator support" |
| depends on (X86 || IA64) && PCI |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Intel i8xx-based motherboards. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called intel-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_AMD |
| tristate "AMD HW Random Number Generator support" |
| depends on (X86 || PPC_MAPLE) && PCI |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on AMD 76x-based motherboards. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called amd-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_ATMEL |
| tristate "Atmel Random Number Generator support" |
| depends on ARCH_AT91 && HAVE_CLK && OF |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Atmel AT91 devices. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called atmel-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_BCM63XX |
| tristate "Broadcom BCM63xx Random Number Generator support" |
| depends on BCM63XX || BMIPS_GENERIC |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on the Broadcom BCM63xx SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called bcm63xx-rng |
| |
| If unusure, say Y. |
| |
| config HW_RANDOM_BCM2835 |
| tristate "Broadcom BCM2835 Random Number Generator support" |
| depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on the Broadcom BCM2835 SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called bcm2835-rng |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_IPROC_RNG200 |
| tristate "Broadcom iProc RNG200 support" |
| depends on ARCH_BCM_IPROC |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the RNG200 |
| hardware found on the Broadcom iProc SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called iproc-rng200 |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_GEODE |
| tristate "AMD Geode HW Random Number Generator support" |
| depends on X86_32 && PCI |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on the AMD Geode LX. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called geode-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_N2RNG |
| tristate "Niagara2 Random Number Generator support" |
| depends on SPARC64 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Niagara2 cpus. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called n2-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_VIA |
| tristate "VIA HW Random Number Generator support" |
| depends on X86 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on VIA based motherboards. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called via-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_IXP4XX |
| tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" |
| depends on ARCH_IXP4XX |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Pseudo-Random |
| Number Generator hardware found on the Intel IXP45x/46x NPU. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called ixp4xx-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_OMAP |
| tristate "OMAP Random Number Generator support" |
| depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx |
| multimedia processors, and Marvell Armada 7k/8k SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called omap-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_OMAP3_ROM |
| tristate "OMAP3 ROM Random Number Generator support" |
| depends on ARCH_OMAP3 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on OMAP34xx processors. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called omap3-rom-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_OCTEON |
| tristate "Octeon Random Number Generator support" |
| depends on CAVIUM_OCTEON_SOC |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Octeon processors. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called octeon-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_PASEMI |
| tristate "PA Semi HW Random Number Generator support" |
| depends on PPC_PASEMI |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on PA Semi PWRficient SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called pasemi-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_VIRTIO |
| tristate "VirtIO Random Number Generator support" |
| depends on VIRTIO |
| ---help--- |
| This driver provides kernel-side support for the virtual Random Number |
| Generator hardware. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called virtio-rng. If unsure, say N. |
| |
| config HW_RANDOM_TX4939 |
| tristate "TX4939 Random Number Generator support" |
| depends on SOC_TX4939 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on TX4939 SoC. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called tx4939-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_MXC_RNGA |
| tristate "Freescale i.MX RNGA Random Number Generator" |
| depends on SOC_IMX31 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Freescale i.MX processors. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called mxc-rnga. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_IMX_RNGC |
| tristate "Freescale i.MX RNGC Random Number Generator" |
| depends on ARCH_MXC |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator Version C hardware found on some Freescale i.MX |
| processors. Version B is also supported by this driver. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called imx-rngc. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_NOMADIK |
| tristate "ST-Ericsson Nomadik Random Number Generator support" |
| depends on ARCH_NOMADIK |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on ST-Ericsson SoCs (8815 and 8500). |
| |
| To compile this driver as a module, choose M here: the |
| module will be called nomadik-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_PSERIES |
| tristate "pSeries HW Random Number Generator support" |
| depends on PPC64 && IBMVIO |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on POWER7+ machines and above |
| |
| To compile this driver as a module, choose M here: the |
| module will be called pseries-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_POWERNV |
| tristate "PowerNV Random Number Generator support" |
| depends on PPC_POWERNV |
| default HW_RANDOM |
| ---help--- |
| This is the driver for Random Number Generator hardware found |
| in POWER7+ and above machines for PowerNV platform. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called powernv-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_TPM |
| tristate "TPM HW Random Number Generator support" |
| depends on TCG_TPM |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator in the Trusted Platform Module |
| |
| To compile this driver as a module, choose M here: the |
| module will be called tpm-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_HISI |
| tristate "Hisilicon Random Number Generator support" |
| depends on HW_RANDOM && ARCH_HISI |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Hisilicon Hip04 and Hip05 SoC. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called hisi-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_MSM |
| tristate "Qualcomm SoCs Random Number Generator support" |
| depends on HW_RANDOM && ARCH_QCOM |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Qualcomm SoCs. |
| |
| To compile this driver as a module, choose M here. the |
| module will be called msm-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_ST |
| tristate "ST Microelectronics HW Random Number Generator support" |
| depends on HW_RANDOM && ARCH_STI |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on STi series of SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called st-rng. |
| |
| config HW_RANDOM_XGENE |
| tristate "APM X-Gene True Random Number Generator (TRNG) support" |
| depends on HW_RANDOM && ARCH_XGENE |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on APM X-Gene SoC. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called xgene_rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_STM32 |
| tristate "STMicroelectronics STM32 random number generator" |
| depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST) |
| depends on HAS_IOMEM |
| help |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on STM32 microcontrollers. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called stm32-rng. |
| |
| If unsure, say N. |
| |
| config HW_RANDOM_PIC32 |
| tristate "Microchip PIC32 Random Number Generator support" |
| depends on HW_RANDOM && MACH_PIC32 |
| default y |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on a PIC32. |
| |
| To compile this driver as a module, choose M here. the |
| module will be called pic32-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_MESON |
| tristate "Amlogic Meson Random Number Generator support" |
| depends on HW_RANDOM |
| depends on ARCH_MESON || COMPILE_TEST |
| default y |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Amlogic Meson SoCs. |
| |
| To compile this driver as a module, choose M here. the |
| module will be called meson-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_CAVIUM |
| tristate "Cavium ThunderX Random Number Generator support" |
| depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT)) |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Cavium SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cavium_rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_MTK |
| tristate "Mediatek Random Number Generator support" |
| depends on HW_RANDOM |
| depends on ARCH_MEDIATEK || COMPILE_TEST |
| default y |
| ---help--- |
| This driver provides kernel-side support for the Random Number |
| Generator hardware found on Mediatek SoCs. |
| |
| To compile this driver as a module, choose M here. the |
| module will be called mtk-rng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_S390 |
| tristate "S390 True Random Number Generator support" |
| depends on S390 |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for the True |
| Random Number Generator available as CPACF extension |
| on modern s390 hardware platforms. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called s390-trng. |
| |
| If unsure, say Y. |
| |
| config HW_RANDOM_EXYNOS_SWD |
| tristate "EXYNOS SWD HW random number generator support" |
| depends on ARCH_EXYNOS |
| default HW_RANDOM |
| ---help--- |
| This driver provides kernel-side support for TRNG hardware |
| found in secure world by using smc call |
| |
| To compile this driver as a module, choose M here: the |
| module will be called exynos-rng. |
| |
| If unsure, say Y. |
| |
| config EXYRNG_FIPS_COMPLIANCE |
| bool "Compliant with FIPS 140-2" |
| depends on HW_RANDOM_EXYNOS_SWD |
| |
| choice |
| prompt "Fail Policy" |
| depends on EXYRNG_FIPS_COMPLIANCE |
| default EXYRNG_FAIL_POLICY_DISABLE |
| |
| config EXYRNG_FAIL_POLICY_DISABLE |
| bool "Disable RNG if the tests fail" |
| depends on EXYRNG_FIPS_COMPLIANCE |
| |
| config EXYRNG_FAIL_POLICY_RESET |
| bool "Reset if the tests fail" |
| depends on EXYRNG_FIPS_COMPLIANCE |
| endchoice |
| |
| config EXYRNG_USE_CRYPTOMANAGER |
| tristate "Use CryptoManager" |
| depends on HW_RANDOM_EXYNOS_SWD |
| default n |
| |
| endif # HW_RANDOM |
| |
| config UML_RANDOM |
| depends on UML |
| tristate "Hardware random number generator" |
| help |
| This option enables UML's "hardware" random number generator. It |
| attaches itself to the host's /dev/random, supplying as much entropy |
| as the host has, rather than the small amount the UML gets from its |
| own drivers. It registers itself as a standard hardware random number |
| generator, major 10, minor 183, and the canonical device name is |
| /dev/hwrng. |
| The way to make use of this is to install the rng-tools package |
| (check your distro, or download from |
| http://sourceforge.net/projects/gkernel/). rngd periodically reads |
| /dev/hwrng and injects the entropy into /dev/random. |