I haven't tested Windows, but Linux and OpenBSD guests do load the driver correctly, albeit with the PCI device identified incorrectly as the memory ballooning device. I'm using -s 5,virtio-rnd for these VMs.
Before - Linux lspci:
00:05.0 Network and computing encryption device: Red Hat, Inc. Virtio memory balloon
Before - OpenBSD dmesg and pcidump:
virtio1 at pci0 dev 5 function 0 "Qumranet Virtio Memory Balloon" rev 0x00
viornd0 at virtio1
# pcidump
0:5:0: Qumranet Virtio Memory Balloon
With the fix, everything is correctly identified and virtio-rnd still works (at least my Linux VM gets new random data each time I run dd if=/dev/hwrng count=1 | hexdump -C).
After:
# Linux lspci
00:05.0 Network and computing encryption device: Red Hat, Inc. Virtio RNG
# OpenBSD dmesg
virtio1 at pci0 dev 5 function 0 "Qumranet Virtio RNG" rev 0x00
viornd0 at virtio1
# OpenBSD pcidump
0:5:0: Qumranet Virtio RNG
FreeBSD bhyve commit: https://svnweb.freebsd.org/base?view=revision&revision=311702 From that commit message:
The corrected ID also matches the PCI ID Repository.
I haven't tested Windows, but Linux and OpenBSD guests do load the driver correctly, albeit with the PCI device identified incorrectly as the memory ballooning device. I'm using
-s 5,virtio-rnd
for these VMs.Before - Linux lspci:
Before - OpenBSD dmesg and pcidump:
With the fix, everything is correctly identified and virtio-rnd still works (at least my Linux VM gets new random data each time I run
dd if=/dev/hwrng count=1 | hexdump -C
).After: