From 41ef243e310697dd93a842a80ee055f5d776f865 Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Thu, 14 Mar 2019 13:44:03 -0700 Subject: [PATCH] qemuriscv: Add the virtio-rng device to pass entropy to the guest Signed-off-by: Alistair Francis --- conf/machine/include/qemuriscv.inc | 2 ++ conf/machine/qemuriscv32.conf | 2 +- conf/machine/qemuriscv64.conf | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/machine/include/qemuriscv.inc b/conf/machine/include/qemuriscv.inc index 181dded..246e515 100644 --- a/conf/machine/include/qemuriscv.inc +++ b/conf/machine/include/qemuriscv.inc @@ -29,6 +29,8 @@ QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0" BAD_RECOMMENDATIONS += "\ libcxx-dev \ diff --git a/conf/machine/qemuriscv32.conf b/conf/machine/qemuriscv32.conf index 6de176a..196ea81 100644 --- a/conf/machine/qemuriscv32.conf +++ b/conf/machine/qemuriscv32.conf @@ -6,7 +6,7 @@ require conf/machine/include/qemuriscv.inc DEFAULTTUNE = "riscv32" -QB_OPT_APPEND = "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80400000" +QB_OPT_APPEND += "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80400000" # u-boot doesn't compile, error: "can't link hard-float modules with soft-float modules" # EXTRA_IMAGEDEPENDS += "u-boot" diff --git a/conf/machine/qemuriscv64.conf b/conf/machine/qemuriscv64.conf index 3612a9a..029619b 100644 --- a/conf/machine/qemuriscv64.conf +++ b/conf/machine/qemuriscv64.conf @@ -4,7 +4,7 @@ require conf/machine/include/qemuriscv.inc -QB_OPT_APPEND = "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80200000" +QB_OPT_APPEND += "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80200000" EXTRA_IMAGEDEPENDS += "u-boot" UBOOT_MACHINE = "qemu-riscv64_defconfig"