diff options
| author | Marcin Chojnacki <marcinch7@gmail.com> | 2017-02-28 12:08:13 +0000 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-02-28 12:08:13 +0000 |
| commit | 54a5ba13a9ffe7d25fc649b0fa9f8314734c8ccc (patch) | |
| tree | 969296f64bcd11de22f0971ec334d75ca067c6a5 /include/hw/arm/bcm2835_peripherals.h | |
| parent | 6181478f6395cdd9d6ffd99623d0c9f39ea53606 (diff) | |
| download | focaccia-qemu-54a5ba13a9ffe7d25fc649b0fa9f8314734c8ccc.tar.gz focaccia-qemu-54a5ba13a9ffe7d25fc649b0fa9f8314734c8ccc.zip | |
target-arm: Implement BCM2835 hardware RNG
Recent vanilla Raspberry Pi kernels started to make use of the hardware random number generator in BCM2835 SoC. As a result, those kernels wouldn't work anymore under QEMU but rather just freeze during the boot process. This patch implements a trivial BCM2835 compatible RNG, and adds it as a peripheral to BCM2835 platform, which allows to boot a vanilla Raspberry Pi kernel under Qemu. Changes since v1: * Prevented guest from writing [31..20] bits in rng_status * Removed redundant minimum_version_id_old * Added field entries for the state * Changed realize function to reset Signed-off-by: Marcin Chojnacki <marcinch7@gmail.com> Message-id: 20170210210857.47893-1-marcinch7@gmail.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/hw/arm/bcm2835_peripherals.h')
| -rw-r--r-- | include/hw/arm/bcm2835_peripherals.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/arm/bcm2835_peripherals.h b/include/hw/arm/bcm2835_peripherals.h index e12ae3721a..31241c799d 100644 --- a/include/hw/arm/bcm2835_peripherals.h +++ b/include/hw/arm/bcm2835_peripherals.h @@ -19,6 +19,7 @@ #include "hw/dma/bcm2835_dma.h" #include "hw/intc/bcm2835_ic.h" #include "hw/misc/bcm2835_property.h" +#include "hw/misc/bcm2835_rng.h" #include "hw/misc/bcm2835_mbox.h" #include "hw/sd/sdhci.h" @@ -41,6 +42,7 @@ typedef struct BCM2835PeripheralState { BCM2835DMAState dma; BCM2835ICState ic; BCM2835PropertyState property; + BCM2835RngState rng; BCM2835MboxState mboxes; SDHCIState sdhci; } BCM2835PeripheralState; |