2006-06-26 15:24:59 +08:00
|
|
|
#
|
|
|
|
# Hardware Random Number Generator (RNG) configuration
|
|
|
|
#
|
|
|
|
|
2014-04-08 20:33:04 +08:00
|
|
|
menuconfig HW_RANDOM
|
2006-12-07 12:38:20 +08:00
|
|
|
tristate "Hardware Random Number Generator Core support"
|
|
|
|
default m
|
2006-06-26 15:24:59 +08:00
|
|
|
---help---
|
|
|
|
Hardware Random Number Generator Core infrastructure.
|
|
|
|
|
2006-12-07 12:38:20 +08:00
|
|
|
To compile this driver as a module, choose M here: the
|
2008-03-25 03:29:51 +08:00
|
|
|
module will be called rng-core. This provides a device
|
|
|
|
that's usually called /dev/hw_random, and which exposes one
|
|
|
|
of possibly several hardware random number generators.
|
|
|
|
|
|
|
|
These hardware random number generators do not feed directly
|
|
|
|
into the kernel's random number generator. That is usually
|
|
|
|
handled by the "rngd" daemon. Documentation/hw_random.txt
|
|
|
|
has more information.
|
2006-12-07 12:38:20 +08:00
|
|
|
|
2006-06-26 15:24:59 +08:00
|
|
|
If unsure, say Y.
|
2006-06-26 15:24:59 +08:00
|
|
|
|
2014-04-08 20:33:04 +08:00
|
|
|
if HW_RANDOM
|
|
|
|
|
hwrng: timeriomem - New driver
Some hardware platforms, the TS-7800[1] is one for example, can
supply the kernel with an entropy source, albeit a slow one for
TS-7800 users, by just reading a particular IO address. This
source must not be read above a certain rate otherwise the quality
suffers.
The driver is then hooked into by calling
platform_device_(register|add|del) passing a structure similar to:
------
static struct timeriomem_rng_data ts78xx_ts_rng_data = {
.address = (u32 *__iomem) TS_RNG,
.period = 1000000, /* one second */
};
static struct platform_device ts78xx_ts_rng_device = {
.name = "timeriomem_rng",
.id = -1,
.dev = {
.platform_data = &ts78xx_ts_rng_data,
},
.num_resources = 0,
};
------
[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800
Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-02-22 12:03:56 +08:00
|
|
|
config HW_RANDOM_TIMERIOMEM
|
|
|
|
tristate "Timer IOMEM HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on HAS_IOMEM
|
hwrng: timeriomem - New driver
Some hardware platforms, the TS-7800[1] is one for example, can
supply the kernel with an entropy source, albeit a slow one for
TS-7800 users, by just reading a particular IO address. This
source must not be read above a certain rate otherwise the quality
suffers.
The driver is then hooked into by calling
platform_device_(register|add|del) passing a structure similar to:
------
static struct timeriomem_rng_data ts78xx_ts_rng_data = {
.address = (u32 *__iomem) TS_RNG,
.period = 1000000, /* one second */
};
static struct platform_device ts78xx_ts_rng_device = {
.name = "timeriomem_rng",
.id = -1,
.dev = {
.platform_data = &ts78xx_ts_rng_data,
},
.num_resources = 0,
};
------
[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800
Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-02-22 12:03:56 +08:00
|
|
|
---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.
|
|
|
|
|
2006-06-26 15:24:59 +08:00
|
|
|
config HW_RANDOM_INTEL
|
|
|
|
tristate "Intel HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on (X86 || IA64) && PCI
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:24:59 +08:00
|
|
|
---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.
|
2006-06-26 15:25:00 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_AMD
|
|
|
|
tristate "AMD HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on (X86 || PPC_MAPLE) && PCI
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:25:00 +08:00
|
|
|
---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.
|
2006-06-26 15:25:01 +08:00
|
|
|
|
2011-10-07 01:56:30 +08:00
|
|
|
config HW_RANDOM_ATMEL
|
|
|
|
tristate "Atmel Random Number Generator support"
|
2014-11-20 17:43:23 +08:00
|
|
|
depends on ARCH_AT91 && HAVE_CLK && OF
|
2014-04-08 20:36:37 +08:00
|
|
|
default HW_RANDOM
|
2011-10-07 01:56:30 +08:00
|
|
|
---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.
|
|
|
|
|
2012-07-24 22:33:11 +08:00
|
|
|
config HW_RANDOM_BCM63XX
|
|
|
|
tristate "Broadcom BCM63xx Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on BCM63XX
|
2012-07-24 22:33:11 +08:00
|
|
|
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.
|
|
|
|
|
2013-03-28 14:19:38 +08:00
|
|
|
config HW_RANDOM_BCM2835
|
|
|
|
tristate "Broadcom BCM2835 Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_BCM2835
|
2013-03-28 14:19:38 +08:00
|
|
|
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.
|
2012-07-24 22:33:11 +08:00
|
|
|
|
2015-03-05 04:42:14 +08:00
|
|
|
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.
|
|
|
|
|
2006-06-26 15:25:01 +08:00
|
|
|
config HW_RANDOM_GEODE
|
|
|
|
tristate "AMD Geode HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on X86_32 && PCI
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:25:01 +08:00
|
|
|
---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.
|
2006-06-26 15:25:02 +08:00
|
|
|
|
2008-06-04 06:56:11 +08:00
|
|
|
config HW_RANDOM_N2RNG
|
|
|
|
tristate "Niagara2 Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on SPARC64
|
2008-06-04 06:56:11 +08:00
|
|
|
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.
|
|
|
|
|
2006-06-26 15:25:02 +08:00
|
|
|
config HW_RANDOM_VIA
|
|
|
|
tristate "VIA HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on X86
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:25:02 +08:00
|
|
|
---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.
|
2006-06-26 15:25:02 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_IXP4XX
|
2010-03-24 03:22:13 +08:00
|
|
|
tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_IXP4XX
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:25:02 +08:00
|
|
|
---help---
|
2010-03-24 03:22:13 +08:00
|
|
|
This driver provides kernel-side support for the Pseudo-Random
|
|
|
|
Number Generator hardware found on the Intel IXP45x/46x NPU.
|
2006-06-26 15:25:02 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called ixp4xx-rng.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
2006-06-26 15:25:03 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_OMAP
|
|
|
|
tristate "OMAP Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
|
2006-12-07 12:38:20 +08:00
|
|
|
default HW_RANDOM
|
2006-06-26 15:25:03 +08:00
|
|
|
---help---
|
|
|
|
This driver provides kernel-side support for the Random Number
|
2013-08-05 22:47:23 +08:00
|
|
|
Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx
|
|
|
|
multimedia processors.
|
2006-06-26 15:25:03 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called omap-rng.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
2007-05-09 17:33:35 +08:00
|
|
|
|
2013-09-20 21:25:06 +08:00
|
|
|
config HW_RANDOM_OMAP3_ROM
|
|
|
|
tristate "OMAP3 ROM Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_OMAP3
|
2013-09-20 21:25:06 +08:00
|
|
|
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.
|
|
|
|
|
2009-08-21 05:10:23 +08:00
|
|
|
config HW_RANDOM_OCTEON
|
|
|
|
tristate "Octeon Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on CAVIUM_OCTEON_SOC
|
2009-08-21 05:10:23 +08:00
|
|
|
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.
|
|
|
|
|
2007-05-09 17:33:35 +08:00
|
|
|
config HW_RANDOM_PASEMI
|
|
|
|
tristate "PA Semi HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on PPC_PASEMI
|
2007-05-09 17:33:35 +08:00
|
|
|
default HW_RANDOM
|
|
|
|
---help---
|
|
|
|
This driver provides kernel-side support for the Random Number
|
2007-11-05 10:57:45 +08:00
|
|
|
Generator hardware found on PA Semi PWRficient SoCs.
|
2007-05-09 17:33:35 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called pasemi-rng.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
2008-05-31 04:09:44 +08:00
|
|
|
config HW_RANDOM_VIRTIO
|
|
|
|
tristate "VirtIO Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on VIRTIO
|
2008-05-31 04:09:44 +08:00
|
|
|
---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.
|
2009-04-02 23:38:41 +08:00
|
|
|
|
2009-06-02 22:54:21 +08:00
|
|
|
config HW_RANDOM_TX4939
|
|
|
|
tristate "TX4939 Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on SOC_TX4939
|
2009-06-02 22:54:21 +08:00
|
|
|
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.
|
|
|
|
|
2009-04-02 23:38:41 +08:00
|
|
|
config HW_RANDOM_MXC_RNGA
|
|
|
|
tristate "Freescale i.MX RNGA Random Number Generator"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_HAS_RNGA
|
2014-04-08 20:36:37 +08:00
|
|
|
default HW_RANDOM
|
2009-04-02 23:38:41 +08:00
|
|
|
---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.
|
2009-12-19 19:45:43 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_NOMADIK
|
|
|
|
tristate "ST-Ericsson Nomadik Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on ARCH_NOMADIK
|
2014-04-08 20:36:37 +08:00
|
|
|
default HW_RANDOM
|
2009-12-19 19:45:43 +08:00
|
|
|
---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.
|
2011-01-23 15:58:29 +08:00
|
|
|
|
2011-06-27 15:34:54 +08:00
|
|
|
config HW_RANDOM_PPC4XX
|
|
|
|
tristate "PowerPC 4xx generic true random number generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on PPC && 4xx
|
2014-04-08 20:36:37 +08:00
|
|
|
default HW_RANDOM
|
2011-06-27 15:34:54 +08:00
|
|
|
---help---
|
|
|
|
This driver provides the kernel-side support for the TRNG hardware
|
|
|
|
found in the security function of some PowerPC 4xx SoCs.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called ppc4xx-rng.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2011-08-19 03:13:00 +08:00
|
|
|
|
2012-04-12 13:08:53 +08:00
|
|
|
config HW_RANDOM_PSERIES
|
|
|
|
tristate "pSeries HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on PPC64 && IBMVIO
|
2012-04-12 13:08:53 +08:00
|
|
|
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.
|
2012-06-29 08:43:26 +08:00
|
|
|
|
2013-10-11 11:07:58 +08:00
|
|
|
config HW_RANDOM_POWERNV
|
|
|
|
tristate "PowerNV Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on PPC_POWERNV
|
2013-10-11 11:07:58 +08:00
|
|
|
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.
|
|
|
|
|
2012-06-29 08:43:26 +08:00
|
|
|
config HW_RANDOM_EXYNOS
|
|
|
|
tristate "EXYNOS HW random number generator support"
|
2014-04-08 20:36:37 +08:00
|
|
|
depends on ARCH_EXYNOS
|
|
|
|
default HW_RANDOM
|
2012-06-29 08:43:26 +08:00
|
|
|
---help---
|
|
|
|
This driver provides kernel-side support for the Random Number
|
|
|
|
Generator hardware found on EXYNOS SOCs.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called exynos-rng.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
2012-08-09 03:18:57 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_TPM
|
|
|
|
tristate "TPM HW Random Number Generator support"
|
2014-04-08 20:33:04 +08:00
|
|
|
depends on TCG_TPM
|
2012-08-09 03:18:57 +08:00
|
|
|
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.
|
2013-10-15 22:11:18 +08:00
|
|
|
|
|
|
|
config HW_RANDOM_MSM
|
2014-01-31 04:43:49 +08:00
|
|
|
tristate "Qualcomm SoCs Random Number Generator support"
|
|
|
|
depends on HW_RANDOM && ARCH_QCOM
|
2014-04-08 20:36:37 +08:00
|
|
|
default HW_RANDOM
|
2013-10-15 22:11:18 +08:00
|
|
|
---help---
|
|
|
|
This driver provides kernel-side support for the Random Number
|
2014-01-31 04:43:49 +08:00
|
|
|
Generator hardware found on Qualcomm SoCs.
|
2013-10-15 22:11:18 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here. the
|
|
|
|
module will be called msm-rng.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
2014-04-08 20:27:31 +08:00
|
|
|
|
2014-08-23 07:26:38 +08:00
|
|
|
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.
|
|
|
|
|
2014-04-08 20:33:04 +08:00
|
|
|
endif # HW_RANDOM
|
|
|
|
|
2014-04-08 20:27:31 +08:00
|
|
|
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.
|