qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hw/openrisc: pass random seed to fdt
@ 2022-06-12 21:59 Jason A. Donenfeld
  2022-06-13  1:23 ` Stafford Horne
  0 siblings, 1 reply; 6+ messages in thread
From: Jason A. Donenfeld @ 2022-06-12 21:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jason A. Donenfeld, Stafford Horne

If the FDT contains /chosen/rng-seed, then the Linux RNG will use it to
initialize early. Set this using the usual guest random number
generation function. This is confirmed to successfully initialize the
RNG on Linux 5.19-rc2.

Cc: Stafford Horne <shorne@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
 hw/openrisc/openrisc_sim.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index 35adce17ac..41821b5f30 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -20,6 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/error-report.h"
+#include "qemu/guest-random.h"
 #include "qapi/error.h"
 #include "cpu.h"
 #include "hw/irq.h"
@@ -115,6 +116,7 @@ static void openrisc_create_fdt(Or1ksimState *state,
     int cpu;
     char *nodename;
     int pic_ph;
+    uint8_t rng_seed[32];
 
     fdt = state->fdt = create_device_tree(&state->fdt_size);
     if (!fdt) {
@@ -165,6 +167,10 @@ static void openrisc_create_fdt(Or1ksimState *state,
         qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", cmdline);
     }
 
+    /* Pass seed to RNG. */
+    qemu_guest_getrandom_nofail(rng_seed, sizeof(rng_seed));
+    qemu_fdt_setprop(fdt, "/chosen", "rng-seed", rng_seed, sizeof(rng_seed));
+
     /* Create aliases node for use by devices. */
     qemu_fdt_add_subnode(fdt, "/aliases");
 }
-- 
2.35.1



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

end of thread, other threads:[~2022-06-23 20:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-12 21:59 [PATCH] hw/openrisc: pass random seed to fdt Jason A. Donenfeld
2022-06-13  1:23 ` Stafford Horne
2022-06-13 10:58   ` Jason A. Donenfeld
2022-06-13 13:52     ` Philippe Mathieu-Daudé via
2022-06-22 11:45     ` [PATCH v2] hw/openrisc: virt: " Jason A. Donenfeld
2022-06-23 20:53       ` Stafford Horne

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).