This document provides an overview of device emulation in bhyve, including virtio devices.
It discusses how devices are emulated in userspace using bhyve and implemented using virtio frameworks. Virtio provides a common way to virtualize I/O using devices like network, block storage, and entropy via transports like PCI and MMIO.
An example virtio random number generator device is provided, showing how it is implemented as a basic PCI device and how it generates random numbers by requesting them from the host /dev/random driver.