|
@@ -30,6 +30,7 @@
|
|
#include "qemu/option.h"
|
|
#include "qemu/option.h"
|
|
#include "qemu/config-file.h"
|
|
#include "qemu/config-file.h"
|
|
#include "qemu/error-report.h"
|
|
#include "qemu/error-report.h"
|
|
|
|
+#include "qemu/guest-random.h"
|
|
#include "sysemu/device_tree.h"
|
|
#include "sysemu/device_tree.h"
|
|
#include "sysemu/reset.h"
|
|
#include "sysemu/reset.h"
|
|
#include "hw/boards.h"
|
|
#include "hw/boards.h"
|
|
@@ -75,6 +76,7 @@ static int microblaze_load_dtb(hwaddr addr,
|
|
int fdt_size;
|
|
int fdt_size;
|
|
void *fdt = NULL;
|
|
void *fdt = NULL;
|
|
int r;
|
|
int r;
|
|
|
|
+ uint8_t rng_seed[32];
|
|
|
|
|
|
if (dtb_filename) {
|
|
if (dtb_filename) {
|
|
fdt = load_device_tree(dtb_filename, &fdt_size);
|
|
fdt = load_device_tree(dtb_filename, &fdt_size);
|
|
@@ -83,6 +85,9 @@ static int microblaze_load_dtb(hwaddr addr,
|
|
return 0;
|
|
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) {
|
|
if (kernel_cmdline) {
|
|
r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs",
|
|
r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs",
|
|
kernel_cmdline);
|
|
kernel_cmdline);
|