Message ID | 20220719122334.136290-1-Jason@zx2c4.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/microblaze: pass random seed to fdt | expand |
On Tue, Jul 19, 2022 at 2:23 PM Jason A. Donenfeld <Jason@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 FDT node is part of the DT specification. > Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > > Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > --- > hw/microblaze/boot.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c > index 8b92a9801a..25ad54754e 100644 > --- a/hw/microblaze/boot.c > +++ b/hw/microblaze/boot.c > @@ -30,6 +30,7 @@ > #include "qemu/option.h" > #include "qemu/config-file.h" > #include "qemu/error-report.h" > +#include "qemu/guest-random.h" > #include "sysemu/device_tree.h" > #include "sysemu/reset.h" > #include "hw/boards.h" > @@ -75,6 +76,7 @@ static int microblaze_load_dtb(hwaddr addr, > int fdt_size; > void *fdt = NULL; > int r; > + uint8_t rng_seed[32]; > > if (dtb_filename) { > fdt = load_device_tree(dtb_filename, &fdt_size); > @@ -83,6 +85,9 @@ static int microblaze_load_dtb(hwaddr addr, > return 0; > } > > + qemu_guest_getrandom_nofail(rng_seed, sizeof(rng_seed)); > + qemu_fdt_setprop(fdt, "/chosen", "rng-seed", rng_seed, > sizeof(rng_seed)); > + > if (kernel_cmdline) { > r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", > kernel_cmdline); > -- > 2.35.1 > >
Hey Edgar, On Wed, Jul 20, 2022 at 9:13 AM Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > > > On Tue, Jul 19, 2022 at 2:23 PM Jason A. Donenfeld <Jason@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 FDT node is part of the DT specification. > > > Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> Thanks for looking at this. Paolo (CC'd) just sent a few similar changes for different archs in a pull, but not this one, on the supposition that you'd roll this into your next pull. If this isn't the case, please pipe up so Paolo can take it instead later. Jason
On Thu, Jul 21, 2022, 6:44 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote: > Hey Edgar, > > On Wed, Jul 20, 2022 at 9:13 AM Edgar E. Iglesias > <edgar.iglesias@gmail.com> wrote: > > > > > > On Tue, Jul 19, 2022 at 2:23 PM Jason A. Donenfeld <Jason@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 FDT node is part of the DT specification. > > > > > > Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > > Thanks for looking at this. Paolo (CC'd) just sent a few similar > changes for different archs in a pull, but not this one, on the > supposition that you'd roll this into your next pull. If this isn't > the case, please pipe up so Paolo can take it instead later. > > Jason > Ah OK, Paolo, it would be great if you would take this via your tree! Thanks, Edgar >
Hi Edgar,
On Thu, Jul 21, 2022 at 8:43 PM Edgar E. Iglesias
<edgar.iglesias@gmail.com> wrote:
> Ah OK, Paolo, it would be great if you would take this via your tree!
It looks like Paolo never did this. So you might want to queue this
somewhere, or bug him to take it, or something. I don't know how this
works with 7.1-rc0 just being tagged, but I assume this means this has
to wait until 7.2
Jason
On 7/26/22 18:49, Jason A. Donenfeld wrote: > Hi Edgar, > > On Thu, Jul 21, 2022 at 8:43 PM Edgar E. Iglesias > <edgar.iglesias@gmail.com> wrote: >> Ah OK, Paolo, it would be great if you would take this via your tree! > > It looks like Paolo never did this. So you might want to queue this > somewhere, or bug him to take it, or something. I don't know how this > works with 7.1-rc0 just being tagged, but I assume this means this has > to wait until 7.2 Yes, it has missed the window by over a week now: soft freeze. You really should have kept all of these in one thread. r~
Hi Richard, On Tue, Jul 26, 2022 at 08:13:09PM -0700, Richard Henderson wrote: > On 7/26/22 18:49, Jason A. Donenfeld wrote: > > Hi Edgar, > > > > On Thu, Jul 21, 2022 at 8:43 PM Edgar E. Iglesias > > <edgar.iglesias@gmail.com> wrote: > >> Ah OK, Paolo, it would be great if you would take this via your tree! > > > > It looks like Paolo never did this. So you might want to queue this > > somewhere, or bug him to take it, or something. I don't know how this > > works with 7.1-rc0 just being tagged, but I assume this means this has > > to wait until 7.2 > > Yes, it has missed the window by over a week now: soft freeze. > You really should have kept all of these in one thread. Shoulda woulda coulda. It doesn't really matter to me much when the microblaze one goes in, just that it can exist in some maintainer tree. I'd like to be able to remove this from my "pending patch list" that I have to monitor lest things be forgotten. Jason
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index 8b92a9801a..25ad54754e 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -30,6 +30,7 @@ #include "qemu/option.h" #include "qemu/config-file.h" #include "qemu/error-report.h" +#include "qemu/guest-random.h" #include "sysemu/device_tree.h" #include "sysemu/reset.h" #include "hw/boards.h" @@ -75,6 +76,7 @@ static int microblaze_load_dtb(hwaddr addr, int fdt_size; void *fdt = NULL; int r; + uint8_t rng_seed[32]; if (dtb_filename) { fdt = load_device_tree(dtb_filename, &fdt_size); @@ -83,6 +85,9 @@ static int microblaze_load_dtb(hwaddr addr, return 0; } + qemu_guest_getrandom_nofail(rng_seed, sizeof(rng_seed)); + qemu_fdt_setprop(fdt, "/chosen", "rng-seed", rng_seed, sizeof(rng_seed)); + if (kernel_cmdline) { r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", kernel_cmdline);
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 FDT node is part of the DT specification. Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> --- hw/microblaze/boot.c | 5 +++++ 1 file changed, 5 insertions(+)