[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 6/9] hw/mips: boston: pass random seed to fdt
From: |
Paolo Bonzini |
Subject: |
[PULL 6/9] hw/mips: boston: pass random seed to fdt |
Date: |
Thu, 21 Jul 2022 18:36:18 +0200 |
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
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.
I'd do the same for other MIPS platforms but boston is the only one that
seems to use FDT.
Cc: Paul Burton <paulburton@kernel.org>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-Id: <20220719120843.134392-1-Jason@zx2c4.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/mips/boston.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 1debca18ec..d2ab9da1a0 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -34,6 +34,7 @@
#include "hw/qdev-properties.h"
#include "qapi/error.h"
#include "qemu/error-report.h"
+#include "qemu/guest-random.h"
#include "qemu/log.h"
#include "chardev/char.h"
#include "sysemu/device_tree.h"
@@ -363,6 +364,7 @@ static const void *boston_fdt_filter(void *opaque, const
void *fdt_orig,
size_t ram_low_sz, ram_high_sz;
size_t fdt_sz = fdt_totalsize(fdt_orig) * 2;
g_autofree void *fdt = g_malloc0(fdt_sz);
+ uint8_t rng_seed[32];
err = fdt_open_into(fdt_orig, fdt, fdt_sz);
if (err) {
@@ -370,6 +372,9 @@ static const void *boston_fdt_filter(void *opaque, const
void *fdt_orig,
return NULL;
}
+ qemu_guest_getrandom_nofail(rng_seed, sizeof(rng_seed));
+ qemu_fdt_setprop(fdt, "/chosen", "rng-seed", rng_seed, sizeof(rng_seed));
+
cmdline = (machine->kernel_cmdline && machine->kernel_cmdline[0])
? machine->kernel_cmdline : " ";
err = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", cmdline);
--
2.36.1
- [PULL 0/9] More fixes + random seed patches for QEMU 7.1, Paolo Bonzini, 2022/07/21
- [PULL 2/9] accel/kvm: Avoid Coverity warning in query_stats(), Paolo Bonzini, 2022/07/21
- [PULL 3/9] oss-fuzz: remove binaries from qemu-bundle tree, Paolo Bonzini, 2022/07/21
- [PULL 1/9] docs: Add caveats for Windows as the build platform, Paolo Bonzini, 2022/07/21
- [PULL 6/9] hw/mips: boston: pass random seed to fdt,
Paolo Bonzini <=
- [PULL 7/9] hw/guest-loader: pass random seed to fdt, Paolo Bonzini, 2022/07/21
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Alex Bennée, 2022/07/21
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Jason A. Donenfeld, 2022/07/21
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Alex Bennée, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Jason A. Donenfeld, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Alex Bennée, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Paolo Bonzini, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Jason A. Donenfeld, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Paolo Bonzini, 2022/07/22
- Re: [PULL 7/9] hw/guest-loader: pass random seed to fdt, Jason A. Donenfeld, 2022/07/22