[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 0/3] AMD/Xilinx Versal TRNG support
From: |
Tong Ho |
Subject: |
[PATCH v4 0/3] AMD/Xilinx Versal TRNG support |
Date: |
Tue, 17 Oct 2023 12:32:14 -0700 |
This series adds support for the True Random Number Generator
(TRNG) in the AMD/Xilinx Versal family of devices.
The series starts by introducing a non-cryptographic grade model
of the TRNG controller in the Versal family of devices, followed
by instantiating the model in Xilinx Versal machine.
The series ends with a q-test for sanity check of the TRNG model
in the Xilinx Versal machine.
V3 => V4
1) Patch #1
a) Simplify the data given to g_rand_set_seed_array() as an
array of guint32.
b) Use qemu_guest_getrandom_nofail() as the entropy source
when the device is configured in TRNG (mode 3).
c) Allow 0 and (2^32-1) as valid output of the generator
d) Add output-related context to VMSTATE.
2) Patch #3
Remove test's assumption of PRNG output != TRNG output.
V2 => V3
1) Patch #1 Use DEFINE_PROP to define a property with custom action on set
2) Patch #1 Remove duplicated version-check on writing to CTRL4 register
3) Patch #2 Defer adding TRNG to machine's device-tree to a future patch
4) Patch #3 Code style fix: group all local vars definitions together
V1 => V2
1) Change patch #1 only
2) Use g_rand_*() PRNG from glib to replace V1's custom PRNG.
3) Implement ResettableClass for device-reset.
4) Add device-mode description to commit-message.
Best regards,
Tong Ho
Tong Ho (3):
hw/misc: Introduce AMD/Xilix Versal TRNG device
hw/arm: xlnx-versal-virt: Add AMD/Xilinx TRNG device
tests/qtest: Introduce tests for AMD/Xilinx Versal TRNG device
hw/arm/Kconfig | 1 +
hw/arm/xlnx-versal.c | 16 +
hw/misc/Kconfig | 3 +
hw/misc/meson.build | 3 +
hw/misc/xlnx-versal-trng.c | 727 ++++++++++++++++++++++++++++
include/hw/arm/xlnx-versal.h | 5 +
include/hw/misc/xlnx-versal-trng.h | 58 +++
tests/qtest/meson.build | 2 +-
tests/qtest/xlnx-versal-trng-test.c | 486 +++++++++++++++++++
9 files changed, 1300 insertions(+), 1 deletion(-)
create mode 100644 hw/misc/xlnx-versal-trng.c
create mode 100644 include/hw/misc/xlnx-versal-trng.h
create mode 100644 tests/qtest/xlnx-versal-trng-test.c
--
2.25.1