On Wed, Jun 15, 2022 at 2:07 PM Bin Meng <bmeng...@gmail.com> wrote: > > On Mon, Jun 13, 2022 at 8:08 PM Jason A. Donenfeld <ja...@zx2c4.com> wrote: > > > > 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: Alistair Francis <alistair.fran...@wdc.com> > > Signed-off-by: Jason A. Donenfeld <ja...@zx2c4.com>
Thanks! Applied to riscv-to-apply.next with the full stop removed Alistair > > --- > > hw/riscv/virt.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c > > index bc424dd2f5..368a723bf6 100644 > > --- a/hw/riscv/virt.c > > +++ b/hw/riscv/virt.c > > @@ -21,6 +21,7 @@ > > #include "qemu/osdep.h" > > #include "qemu/units.h" > > #include "qemu/error-report.h" > > +#include "qemu/guest-random.h" > > #include "qapi/error.h" > > #include "hw/boards.h" > > #include "hw/loader.h" > > @@ -998,6 +999,7 @@ static void create_fdt(RISCVVirtState *s, const > > MemMapEntry *memmap, > > MachineState *mc = MACHINE(s); > > uint32_t phandle = 1, irq_mmio_phandle = 1, msi_pcie_phandle = 1; > > uint32_t irq_pcie_phandle = 1, irq_virtio_phandle = 1; > > + uint8_t rng_seed[32]; > > > > if (mc->dtb) { > > mc->fdt = load_device_tree(mc->dtb, &s->fdt_size); > > @@ -1046,6 +1048,10 @@ update_bootargs: > > if (cmdline && *cmdline) { > > qemu_fdt_setprop_string(mc->fdt, "/chosen", "bootargs", cmdline); > > } > > + > > + /* Pass seed to RNG. */ > > nits: please remove the ending period > > > + qemu_guest_getrandom_nofail(rng_seed, sizeof(rng_seed)); > > + qemu_fdt_setprop(mc->fdt, "/chosen", "rng-seed", rng_seed, > > sizeof(rng_seed)); > > } > > > > static inline DeviceState *gpex_pcie_init(MemoryRegion *sys_mem, > > -- > > Otherwise, > Reviewed-by: Bin Meng <bmeng...@gmail.com> >