opnsense-src/sys/arm
Mark Murray a1acc06f4f Random bit generator (RBG) driver for RPi and RPi2.
Summary:
This driver supports the following methods to trigger gathering random bits from the hardware:
1. interrupt when the FIFO is full (default) fed into the harvest queue
2. callout (when BCM2835_RNG_USE_CALLOUT is defined) every second if hz is less than 100, otherwise hz / 100, feeding the random bits into the harvest queue

If the kernel is booted with verbose enabled, the contents of the registers will be dumped after the RBG is started during the attach routine.

Author: hackagadget_gmail.com (Stephen J. Kiernan)

Test Plan: Built RPI2 kernel and booted on board. Tested the different methods to feed the harvest queue (callout, interrupt) and the interrupt driven approach seems best. However, keeping the other method for people to be able to experiment with.

Reviewed By: adrian, delphij, markm

Differential Revision: https://reviews.freebsd.org/D6888
2016-07-19 18:07:47 +00:00
..
allwinner Add support for Allwinner H3 EMAC. 2016-07-16 18:06:41 +00:00
altera/socfpga Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
amlogic/aml8726 Use OF_prop_free instead of direct call to free(9) 2016-05-18 23:41:58 +00:00
annapurna/alpine Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
arm Update comments for the MD functions managing contexts for new 2016-06-16 12:05:44 +00:00
at91 Use the new(-ish) CP15_SCTLR macro to generate system control reg accesses 2016-05-23 20:07:17 +00:00
broadcom/bcm2835 Random bit generator (RBG) driver for RPi and RPi2. 2016-07-19 18:07:47 +00:00
cavium/cns11xx Spaces->tab in comment. 2016-05-23 20:13:17 +00:00
conf Remove HZ=<various> from all armv6 configs, put HZ=1000 in std.armv6. 2016-07-09 21:14:59 +00:00
freescale Postpone allocation of IRQ resource to the time when interrupt 2016-06-03 11:05:55 +00:00
include Undo r302601, WCHAR_MAX may not be a valid wchar value. 2016-07-12 04:20:44 +00:00
lpc Correct syntax errors that only show up when compiled with INVARIANTS. 2016-07-09 18:43:15 +00:00
mv Use nitems() macro instead of re-inventing it 2016-06-03 18:52:57 +00:00
nvidia TEGRA: Subclass Tegra PCIE driver from ofw_pci base driver. 2016-07-17 14:45:15 +00:00
qemu While gem5 is not qemu, we treat it as "simulators" or "virtual environments". 2016-05-04 16:24:12 +00:00
rockchip Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
samsung/exynos Correct syntax errors that only show up when compiled with INVARIANTS. 2016-07-09 18:43:15 +00:00
ti Fix a random memory overwrite at boot time, simplebus_init() and 2016-07-18 06:35:40 +00:00
versatile Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
xilinx sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
xscale sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00