diff options
author | obrien <obrien@FreeBSD.org> | 2013-07-29 20:26:27 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2013-07-29 20:26:27 +0000 |
commit | 721ce839c7c49ecca90b66a4523be0e6e29c057e (patch) | |
tree | 7321ee5c53e41f64a4e3a37d1e501321672bb5af /sys/arm/conf | |
parent | f6b004c36a12554e599bc79d3f4efc2047574d1b (diff) | |
download | FreeBSD-src-721ce839c7c49ecca90b66a4523be0e6e29c057e.zip FreeBSD-src-721ce839c7c49ecca90b66a4523be0e6e29c057e.tar.gz |
Decouple yarrow from random(4) device.
* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option.
The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.
* random(4) device doesn't really depend on rijndael-*. Yarrow, however, does.
* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
random_adaptor is basically an adapter that plugs in to random(4).
random_adaptor can only be plugged in to random(4) very early in bootup.
Unplugging random_adaptor from random(4) is not supported, and is probably a
bad idea anyway, due to potential loss of entropy pools.
We currently have 3 random_adaptors:
+ yarrow
+ rdrand (ivy.c)
+ nehemeiah
* Remove platform dependent logic from probe.c, and move it into
corresponding registration routines of each random_adaptor provider.
probe.c doesn't do anything other than picking a specific random_adaptor
from a list of registered ones.
* If the kernel doesn't have any random_adaptor adapters present then the
creation of /dev/random is postponed until next random_adaptor is kldload'ed.
* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
system wide one.
Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: obrien
Diffstat (limited to 'sys/arm/conf')
39 files changed, 39 insertions, 4 deletions
diff --git a/sys/arm/conf/AC100 b/sys/arm/conf/AC100 index d368bdf..a3c6826 100644 --- a/sys/arm/conf/AC100 +++ b/sys/arm/conf/AC100 @@ -61,6 +61,7 @@ options MUTEX_DEBUG # Pseudo devices device random +options YARROW_RNG # Yarrow software RNG device pty device loop device md diff --git a/sys/arm/conf/ARMADAXP b/sys/arm/conf/ARMADAXP index 54aa635..f7be570 100644 --- a/sys/arm/conf/ARMADAXP +++ b/sys/arm/conf/ARMADAXP @@ -61,6 +61,7 @@ options KDB_TRACE # Pseudo devices device random +options YARROW_RNG # Yarrow software RNG device pty device loop device md diff --git a/sys/arm/conf/ARNDALE b/sys/arm/conf/ARNDALE index 1864f33..3bd8a2f 100644 --- a/sys/arm/conf/ARNDALE +++ b/sys/arm/conf/ARNDALE @@ -88,6 +88,7 @@ options ROOTDEVNAME=\"ufs:/dev/da0\" device loop device random +options YARROW_RNG # Yarrow software RNG device pty device md device gpio diff --git a/sys/arm/conf/ATMEL b/sys/arm/conf/ATMEL index eb3dd7d..6aa6a3e 100644 --- a/sys/arm/conf/ATMEL +++ b/sys/arm/conf/ATMEL @@ -134,6 +134,7 @@ device geom_map # GEOM partition mapping # Pseudo devices. device loop # Network loopback device random # Entropy device +options YARROW_RNG # Yarrow software RNG device ether # Ethernet support device vlan # 802.1Q VLAN support device tun # Packet tunnel. diff --git a/sys/arm/conf/AVILA b/sys/arm/conf/AVILA index 4246462..9397f39 100644 --- a/sys/arm/conf/AVILA +++ b/sys/arm/conf/AVILA @@ -107,6 +107,7 @@ device if_bridge device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # Wireless NIC cards device wlan # 802.11 support diff --git a/sys/arm/conf/BEAGLEBONE b/sys/arm/conf/BEAGLEBONE index 997a62f..b8f54c7 100644 --- a/sys/arm/conf/BEAGLEBONE +++ b/sys/arm/conf/BEAGLEBONE @@ -90,6 +90,7 @@ device pty device snp device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # I2C support device iicbus diff --git a/sys/arm/conf/BWCT b/sys/arm/conf/BWCT index 4c6a1f1..9df78e4 100644 --- a/sys/arm/conf/BWCT +++ b/sys/arm/conf/BWCT @@ -68,6 +68,7 @@ options NO_FFS_SNAPSHOT options NO_SWAPPING device loop device random +options YARROW_RNG # Yarrow software RNG device ether device vlan device uart diff --git a/sys/arm/conf/CAMBRIA b/sys/arm/conf/CAMBRIA index 377f45d..43fde27 100644 --- a/sys/arm/conf/CAMBRIA +++ b/sys/arm/conf/CAMBRIA @@ -110,6 +110,7 @@ device if_bridge device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # Wireless NIC cards device wlan # 802.11 support diff --git a/sys/arm/conf/CNS11XXNAS b/sys/arm/conf/CNS11XXNAS index e66e2bb..cb4c210 100644 --- a/sys/arm/conf/CNS11XXNAS +++ b/sys/arm/conf/CNS11XXNAS @@ -102,6 +102,7 @@ device loop device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG #options ARM_USE_SMALL_ALLOC diff --git a/sys/arm/conf/CRB b/sys/arm/conf/CRB index d9b0a4e..25ed432 100644 --- a/sys/arm/conf/CRB +++ b/sys/arm/conf/CRB @@ -105,6 +105,7 @@ options DDB #Enable the kernel debugger options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG device iopwdog options ARM_USE_SMALL_ALLOC diff --git a/sys/arm/conf/CUBIEBOARD b/sys/arm/conf/CUBIEBOARD index 179b383..f514244 100644 --- a/sys/arm/conf/CUBIEBOARD +++ b/sys/arm/conf/CUBIEBOARD @@ -92,6 +92,7 @@ device pty device snp device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # I2C support #device iicbus @@ -130,4 +131,3 @@ device miibus options FDT options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=cubieboard.dts - diff --git a/sys/arm/conf/DB-78XXX b/sys/arm/conf/DB-78XXX index f3e62f5..afe71af 100644 --- a/sys/arm/conf/DB-78XXX +++ b/sys/arm/conf/DB-78XXX @@ -55,6 +55,7 @@ device pci device loop device md device random +options YARROW_RNG # Yarrow software RNG # Serial ports device uart diff --git a/sys/arm/conf/DB-88F5XXX b/sys/arm/conf/DB-88F5XXX index 50ca24e..f113e30 100644 --- a/sys/arm/conf/DB-88F5XXX +++ b/sys/arm/conf/DB-88F5XXX @@ -54,6 +54,7 @@ device pci device md device loop device random +options YARROW_RNG # Yarrow software RNG # Serial ports device uart diff --git a/sys/arm/conf/DB-88F6XXX b/sys/arm/conf/DB-88F6XXX index cf508ad..f32aa59 100644 --- a/sys/arm/conf/DB-88F6XXX +++ b/sys/arm/conf/DB-88F6XXX @@ -55,6 +55,7 @@ device pci device loop device md device random +options YARROW_RNG # Yarrow software RNG # Serial ports device uart diff --git a/sys/arm/conf/DOCKSTAR b/sys/arm/conf/DOCKSTAR index 25c0121..5142b84 100644 --- a/sys/arm/conf/DOCKSTAR +++ b/sys/arm/conf/DOCKSTAR @@ -46,6 +46,7 @@ options KDB # Pseudo devices device md device random +options YARROW_RNG # Yarrow software RNG device loop # Serial ports diff --git a/sys/arm/conf/DREAMPLUG-1001 b/sys/arm/conf/DREAMPLUG-1001 index 442cde0..b39b636 100644 --- a/sys/arm/conf/DREAMPLUG-1001 +++ b/sys/arm/conf/DREAMPLUG-1001 @@ -62,6 +62,7 @@ device loop #Network loopback device md #Memory/malloc disk device pty #BSD-style compatibility pseudo ttys device random #Entropy device +options YARROW_RNG # Yarrow software RNG device tun #Packet tunnel. device ether #Required for all ethernet devices device vlan #802.1Q VLAN support diff --git a/sys/arm/conf/EA3250 b/sys/arm/conf/EA3250 index 89d9fa4..6fb0dfe 100644 --- a/sys/arm/conf/EA3250 +++ b/sys/arm/conf/EA3250 @@ -54,6 +54,7 @@ device loop device md device pty device random +options YARROW_RNG # Yarrow software RNG # Serial ports device uart diff --git a/sys/arm/conf/EB9200 b/sys/arm/conf/EB9200 index 0570699..b3ebc61 100644 --- a/sys/arm/conf/EB9200 +++ b/sys/arm/conf/EB9200 @@ -60,6 +60,7 @@ options SX_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device random +options YARROW_RNG # Yarrow software RNG device loop device ether device uart diff --git a/sys/arm/conf/EFIKA_MX b/sys/arm/conf/EFIKA_MX index 71edb8c..07c0630 100644 --- a/sys/arm/conf/EFIKA_MX +++ b/sys/arm/conf/EFIKA_MX @@ -96,6 +96,7 @@ device bpf # Berkeley packet filter # Pseudo devices. device loop # Network loopback device random # Entropy device +options YARROW_RNG # Yarrow software RNG device ether # Ethernet support #device vlan # 802.1Q VLAN support #device tun # Packet tunnel. diff --git a/sys/arm/conf/EP80219 b/sys/arm/conf/EP80219 index a112fe1..1d6b87d 100644 --- a/sys/arm/conf/EP80219 +++ b/sys/arm/conf/EP80219 @@ -101,6 +101,7 @@ options DDB #Enable the kernel debugger options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG options ARM_USE_SMALL_ALLOC # Floppy drives diff --git a/sys/arm/conf/ETHERNUT5 b/sys/arm/conf/ETHERNUT5 index ef52bc6..8a68249 100644 --- a/sys/arm/conf/ETHERNUT5 +++ b/sys/arm/conf/ETHERNUT5 @@ -126,6 +126,7 @@ device geom_map # GEOM partition mapping # Pseudo devices. device loop # Network loopback device random # Entropy device +options YARROW_RNG # Yarrow software RNG device ether # Ethernet support #device vlan # 802.1Q VLAN support #device tun # Packet tunnel. diff --git a/sys/arm/conf/GUMSTIX b/sys/arm/conf/GUMSTIX index 11fe6a9..b752daa 100644 --- a/sys/arm/conf/GUMSTIX +++ b/sys/arm/conf/GUMSTIX @@ -88,3 +88,4 @@ options DDB #Enable the kernel debugger device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG diff --git a/sys/arm/conf/HL200 b/sys/arm/conf/HL200 index 415cbc9..fb980ef 100644 --- a/sys/arm/conf/HL200 +++ b/sys/arm/conf/HL200 @@ -65,6 +65,7 @@ options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device random +options YARROW_RNG # Yarrow software RNG device loop device ether device uart diff --git a/sys/arm/conf/HL201 b/sys/arm/conf/HL201 index 1294f1a..a2eee41 100644 --- a/sys/arm/conf/HL201 +++ b/sys/arm/conf/HL201 @@ -67,6 +67,7 @@ options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device random +options YARROW_RNG # Yarrow software RNG device loop device ether device uart @@ -129,4 +130,3 @@ device pass # Passthrough device (direct SCSI access) #device wlan_tkip # 802.11 TKIP support #device wlan_amrr # AMRR transmit rate control algorithm options ROOTDEVNAME=\"ufs:da0s1a\" - diff --git a/sys/arm/conf/IQ31244 b/sys/arm/conf/IQ31244 index 1eb4a20..91fbe22 100644 --- a/sys/arm/conf/IQ31244 +++ b/sys/arm/conf/IQ31244 @@ -106,6 +106,7 @@ options DDB #Enable the kernel debugger options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG options ARM_USE_SMALL_ALLOC # Floppy drives diff --git a/sys/arm/conf/KB920X b/sys/arm/conf/KB920X index 7cf56d8..e8639b4 100644 --- a/sys/arm/conf/KB920X +++ b/sys/arm/conf/KB920X @@ -66,6 +66,7 @@ options SX_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device random +options YARROW_RNG # Yarrow software RNG device loop device ether device uart diff --git a/sys/arm/conf/LN2410SBC b/sys/arm/conf/LN2410SBC index 8d2a585..e7ccc6e 100644 --- a/sys/arm/conf/LN2410SBC +++ b/sys/arm/conf/LN2410SBC @@ -62,6 +62,7 @@ options SX_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device random +options YARROW_RNG # Yarrow software RNG device loop device ether @@ -83,4 +84,3 @@ device ohci device umass device scbus # SCSI bus (required for da) device da # Direct Access (disks) - diff --git a/sys/arm/conf/NSLU b/sys/arm/conf/NSLU index 0980e4d..43eee38 100644 --- a/sys/arm/conf/NSLU +++ b/sys/arm/conf/NSLU @@ -105,6 +105,7 @@ device loop device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG #options ARM_USE_SMALL_ALLOC diff --git a/sys/arm/conf/PANDABOARD b/sys/arm/conf/PANDABOARD index 788a0ed..ae3b965 100644 --- a/sys/arm/conf/PANDABOARD +++ b/sys/arm/conf/PANDABOARD @@ -110,6 +110,7 @@ device md #options MD_ROOT_SIZE=7560 device random # Entropy device +options YARROW_RNG # Yarrow software RNG # USB support device usb diff --git a/sys/arm/conf/QILA9G20 b/sys/arm/conf/QILA9G20 index 50d9a37..d0c5793 100644 --- a/sys/arm/conf/QILA9G20 +++ b/sys/arm/conf/QILA9G20 @@ -77,6 +77,7 @@ options NO_SWAPPING #options DIAGNOSTIC device random +options YARROW_RNG # Yarrow software RNG device loop device bpf device ether diff --git a/sys/arm/conf/RPI-B b/sys/arm/conf/RPI-B index 251bf55..f8d53f3 100644 --- a/sys/arm/conf/RPI-B +++ b/sys/arm/conf/RPI-B @@ -86,6 +86,7 @@ options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # USB support device usb diff --git a/sys/arm/conf/SAM9260EK b/sys/arm/conf/SAM9260EK index 08b308d..d48bb55 100644 --- a/sys/arm/conf/SAM9260EK +++ b/sys/arm/conf/SAM9260EK @@ -134,6 +134,7 @@ device mmcsd # MMC/SD memory card # Pseudo devices. device loop # Network loopback device random # Entropy device +options YARROW_RNG # Yarrow software RNG device ether # Ethernet support #device vlan # 802.1Q VLAN support #device tun # Packet tunnel. diff --git a/sys/arm/conf/SAM9G20EK b/sys/arm/conf/SAM9G20EK index e173f01..dce47b6 100644 --- a/sys/arm/conf/SAM9G20EK +++ b/sys/arm/conf/SAM9G20EK @@ -76,6 +76,7 @@ options NO_SWAPPING #options DIAGNOSTIC device random +options YARROW_RNG # Yarrow software RNG device loop device bpf device ether diff --git a/sys/arm/conf/SAM9X25EK b/sys/arm/conf/SAM9X25EK index 6cdeac6..80337a8 100644 --- a/sys/arm/conf/SAM9X25EK +++ b/sys/arm/conf/SAM9X25EK @@ -77,6 +77,7 @@ options NO_SWAPPING #options DIAGNOSTIC device random +options YARROW_RNG # Yarrow software RNG device pty device loop device bpf @@ -150,4 +151,3 @@ device miibus #device wlan_ccmp # 802.11 CCMP support #device wlan_tkip # 802.11 TKIP support #device wlan_amrr # AMRR transmit rate control algorithm - diff --git a/sys/arm/conf/SHEEVAPLUG b/sys/arm/conf/SHEEVAPLUG index c6bd901..12634cc 100644 --- a/sys/arm/conf/SHEEVAPLUG +++ b/sys/arm/conf/SHEEVAPLUG @@ -45,6 +45,7 @@ options KDB # Pseudo devices device random +options YARROW_RNG # Yarrow software RNG device loop # Serial ports diff --git a/sys/arm/conf/SN9G45 b/sys/arm/conf/SN9G45 index 123136b..c826723 100644 --- a/sys/arm/conf/SN9G45 +++ b/sys/arm/conf/SN9G45 @@ -76,6 +76,7 @@ options NO_SWAPPING #options DIAGNOSTIC device random +options YARROW_RNG # Yarrow software RNG device loop device bpf device ether diff --git a/sys/arm/conf/TS7800 b/sys/arm/conf/TS7800 index 79e9dba..dd97791 100644 --- a/sys/arm/conf/TS7800 +++ b/sys/arm/conf/TS7800 @@ -48,6 +48,7 @@ device pci device md device loop device random +options YARROW_RNG # Yarrow software RNG # Serial ports device uart diff --git a/sys/arm/conf/VERSATILEPB b/sys/arm/conf/VERSATILEPB index b12009dc0..f81653a 100644 --- a/sys/arm/conf/VERSATILEPB +++ b/sys/arm/conf/VERSATILEPB @@ -94,6 +94,7 @@ options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required device md device random # Entropy device +options YARROW_RNG # Yarrow software RNG # Flattened Device Tree options FDT diff --git a/sys/arm/conf/ZEDBOARD b/sys/arm/conf/ZEDBOARD index 1008125..2944220 100644 --- a/sys/arm/conf/ZEDBOARD +++ b/sys/arm/conf/ZEDBOARD @@ -66,6 +66,7 @@ options KDB device loop device random +options YARROW_RNG # Yarrow software RNG device ether device if_cgem # Zynq-7000 gig ethernet device device mii |