On Wed, Sep 23, 2020 at 6:25 PM Khem Raj <[email protected]> wrote: > > RNG passthru has been enabled on all qemu machines but its being added > to each one of them, with this patch its turned into QB variables which > defaults to host passthru, yet it can be overridden if needed via > machine or config metadata if needed. > > Signed-off-by: Khem Raj <[email protected]>
Good idea! Reviewed-by: Alistair Francis <[email protected]> Alistair > --- > meta/classes/qemuboot.bbclass | 4 ++++ > meta/conf/machine/include/qemuboot-mips.inc | 2 -- > meta/conf/machine/include/qemuboot-x86.inc | 2 -- > meta/conf/machine/include/riscv/qemuriscv.inc | 3 --- > meta/conf/machine/qemuarm.conf | 2 -- > meta/conf/machine/qemuarm64.conf | 2 -- > meta/conf/machine/qemuarmv5.conf | 2 -- > meta/conf/machine/qemuppc.conf | 2 -- > scripts/runqemu | 2 +- > 9 files changed, 5 insertions(+), 16 deletions(-) > > diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass > index d8f62ef6ea..824676216e 100644 > --- a/meta/classes/qemuboot.bbclass > +++ b/meta/classes/qemuboot.bbclass > @@ -29,6 +29,9 @@ > # QB_AUDIO_OPT: qemu audio option, e.g., "-soundhw ac97,es1370", used > # when QB_AUDIO_DRV is set. > # > +# QB_RNG: Pass-through for host random number generator, it can speedup boot > +# in system mode, where system is experiencing entropy starvation > +# > # QB_KERNEL_ROOT: kernel's root, e.g., /dev/vda > # > # QB_NETWORK_DEVICE: network device, e.g., "-device > virtio-net-pci,netdev=net0,mac=@MAC@", > @@ -77,6 +80,7 @@ QB_MEM ?= "-m 256" > QB_SERIAL_OPT ?= "-serial mon:stdio -serial null" > QB_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}" > QB_DEFAULT_FSTYPE ?= "ext4" > +QB_RNG ?= "-object rng-random,filename=/dev/urandom,id=rng0 -device > virtio-rng-pci,rng=rng0" > QB_OPT_APPEND ?= "" > QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@" > QB_CMDLINE_IP_SLIRP ?= "ip=dhcp" > diff --git a/meta/conf/machine/include/qemuboot-mips.inc > b/meta/conf/machine/include/qemuboot-mips.inc > index e99bade2e3..230f032c53 100644 > --- a/meta/conf/machine/include/qemuboot-mips.inc > +++ b/meta/conf/machine/include/qemuboot-mips.inc > @@ -3,8 +3,6 @@ IMAGE_CLASSES += "qemuboot" > QB_MACHINE = "-machine malta" > QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" > QB_OPT_APPEND = "-usb -device usb-tablet" > -# 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-pci,rng=rng0" > > # For graphics to work we need to define the VGA device as well as the > necessary USB devices > QB_OPT_APPEND += "-vga std" > diff --git a/meta/conf/machine/include/qemuboot-x86.inc > b/meta/conf/machine/include/qemuboot-x86.inc > index ccc6dcd3bf..2a4760c717 100644 > --- a/meta/conf/machine/include/qemuboot-x86.inc > +++ b/meta/conf/machine/include/qemuboot-x86.inc > @@ -10,6 +10,4 @@ QB_AUDIO_DRV = "alsa" > QB_AUDIO_OPT = "-soundhw ac97,es1370" > QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1" > QB_OPT_APPEND = "-usb -device usb-tablet" > -# 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-pci,rng=rng0" > > diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc > b/meta/conf/machine/include/riscv/qemuriscv.inc > index 759c8a196e..0e88c91aa6 100644 > --- a/meta/conf/machine/include/riscv/qemuriscv.inc > +++ b/meta/conf/machine/include/riscv/qemuriscv.inc > @@ -33,6 +33,3 @@ 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" > - > diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf > index 3364dcf042..702b850cbb 100644 > --- a/meta/conf/machine/qemuarm.conf > +++ b/meta/conf/machine/qemuarm.conf > @@ -21,8 +21,6 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0" > # For graphics to work we need to define the VGA device as well as the > necessary USB devices > QB_OPT_APPEND = "-device VGA,edid=on" > QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" > -# Add the virtio RNG > -QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device > virtio-rng-pci,rng=rng0" > # Virtio Networking support > QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" > QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" > diff --git a/meta/conf/machine/qemuarm64.conf > b/meta/conf/machine/qemuarm64.conf > index fdd464d708..2f61eb0aed 100644 > --- a/meta/conf/machine/qemuarm64.conf > +++ b/meta/conf/machine/qemuarm64.conf > @@ -22,8 +22,6 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0" > # For graphics to work we need to define the VGA device as well as the > necessary USB devices > QB_OPT_APPEND = "-device VGA,edid=on" > QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" > -# 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-pci,rng=rng0" > # Virtio Networking support > QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" > QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" > diff --git a/meta/conf/machine/qemuarmv5.conf > b/meta/conf/machine/qemuarmv5.conf > index 48e83f13e1..7e8c9e1fa6 100644 > --- a/meta/conf/machine/qemuarmv5.conf > +++ b/meta/conf/machine/qemuarmv5.conf > @@ -14,8 +14,6 @@ QB_SYSTEM_NAME = "qemu-system-arm" > QB_MACHINE = "-machine versatilepb" > QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty" > QB_OPT_APPEND = "-usb -device usb-tablet" > -# 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-pci,rng=rng0" > PREFERRED_VERSION_linux-yocto ??= "5.8%" > QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', > '4.7', '', 'zImage-versatile-pb.dtb', d)}" > > diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf > index 9733b5e85b..a84594f335 100644 > --- a/meta/conf/machine/qemuppc.conf > +++ b/meta/conf/machine/qemuppc.conf > @@ -17,6 +17,4 @@ QB_MACHINE = "-machine mac99" > QB_CPU = "-cpu G4" > QB_KERNEL_CMDLINE_APPEND = "console=tty console=ttyS0" > QB_OPT_APPEND = "-usb -device usb-tablet" > -# 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-pci,rng=rng0" > QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" > diff --git a/scripts/runqemu b/scripts/runqemu > index e62d869c20..e5e66f3453 100755 > --- a/scripts/runqemu > +++ b/scripts/runqemu > @@ -1336,7 +1336,7 @@ class BaseConfig(object): > if not os.access(qemu_bin, os.X_OK): > raise OEPathError("No QEMU binary '%s' could be found" % > qemu_bin) > > - self.qemu_opt = "%s %s %s %s" % (qemu_bin, self.get('NETWORK_CMD'), > self.get('ROOTFS_OPTIONS'), self.get('QB_OPT_APPEND')) > + self.qemu_opt = "%s %s %s %s %s" % (qemu_bin, > self.get('NETWORK_CMD'), self.get('QB_RNG'), self.get('ROOTFS_OPTIONS'), > self.get('QB_OPT_APPEND')) > > for ovmf in self.ovmf_bios: > format = ovmf.rsplit('.', 1)[-1] > -- > 2.28.0 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#142757): https://lists.openembedded.org/g/openembedded-core/message/142757 Mute This Topic: https://lists.openembedded.org/mt/77048943/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
