Skip to content

QEMUのvirtioデバイス

大きく分けて、virtio, vhost, vhost-userの3種類ある。virtioはゲストとホストのカーネルを通過することになるが、vhostでは呼び出しフローが簡略化されている。virtioとvhostの違い は別の記事に書いた。また、vhostはカーネルで実装されるが、vhost-userはユーザープロセスで実装される。

  • virtio
  • vhost
  • vhost-user

virtio対応のデバイスは

  • virtio-net: virtio-net-pci
  • virtio-blk: virtio-blk-pci
  • virtio-scsi: virtio-scsi-pci
  • virtio-gpu: virtio-vga?
  • virtio-serial: virtio-serial-pci
  • virtio-bus: ?
  • virtio-9p: virtio-9p-pci
  • virtio-balloon: virtio-baloon-pci
  • virtio-console (互換性のため残っているけどvirtio-serialと同じ)
  • ?: virtio-rng-pci

virtio-blkが先にあって、virtio-scsiが置き換えとして作られた。 https://www.belbel.or.jp/opensuse-manuals_ja/cha-qemu-host.html

QEMU

-vhost-crypto -vhost-net -vhost-vsock -vhost-scsi -vhost-kernel -vhost-user -vhost-vdpa

see https://github.com/qemu/qemu/blob/f345abe36527a8b575482bb5a0616f43952bf1f4/configure#L1260-L1266