hw/misc: Add Exynos4210 Pseudo Random Number Generator
authorKrzysztof Kozlowski <krzk@kernel.org>
Tue, 11 Jul 2017 10:21:26 +0000 (11:21 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Jul 2017 10:21:26 +0000 (11:21 +0100)
commit499ca137929418bcc42ce83e2ae06be8242b9cb9
treec894b794f8c010e97068688d2ae46895aba1f6b2
parent3d0bf8dfdfebd7f2ae41b6f220444b8047d6b1ee
hw/misc: Add Exynos4210 Pseudo Random Number Generator

Add emulation for Exynos4210 Pseudo Random Number Generator which could
work on fixed seeds or with seeds provided by True Random Number
Generator block inside the SoC.

Implement only the fixed seeds part of it in polling mode (no
interrupts).

Emulation tested with two independent Linux kernel exynos-rng drivers:
1. New kcapi-rng interface (targeting Linux v4.12),
2. Old hwrng inteface
   # echo "exynos" > /sys/class/misc/hw_random/rng_current
   # dd if=/dev/hwrng of=/dev/null bs=1 count=16

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Message-id: 20170425180609.11004-1-krzk@kernel.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: wrapped a few overlong lines; more efficient implementation
 of exynos4210_rng_seed_ready()]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/exynos4210.c
hw/misc/Makefile.objs
hw/misc/exynos4210_rng.c [new file with mode: 0644]