qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] AMD/Xilinx Versal TRNG support
@ 2023-10-17 19:32 Tong Ho
  2023-10-17 19:32 ` [PATCH v4 1/3] hw/misc: Introduce AMD/Xilix Versal TRNG device Tong Ho
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Tong Ho @ 2023-10-17 19:32 UTC (permalink / raw)
  To: qemu-arm
  Cc: qemu-devel, alistair, edgar.iglesias, peter.maydell,
	richard.henderson, frasse.iglesias, tong.ho

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



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-10-30  9:58 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-17 19:32 [PATCH v4 0/3] AMD/Xilinx Versal TRNG support Tong Ho
2023-10-17 19:32 ` [PATCH v4 1/3] hw/misc: Introduce AMD/Xilix Versal TRNG device Tong Ho
2023-10-27 12:54   ` Peter Maydell
2023-10-17 19:32 ` [PATCH v4 2/3] hw/arm: xlnx-versal-virt: Add AMD/Xilinx " Tong Ho
2023-10-27 13:03   ` Peter Maydell
2023-10-17 19:32 ` [PATCH v4 3/3] tests/qtest: Introduce tests for AMD/Xilinx Versal " Tong Ho
2023-10-27 13:03   ` Peter Maydell
2023-10-30  6:25     ` Ho, Tong
2023-10-30  9:57       ` Peter Maydell
2023-10-27 13:15   ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).