summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/sdvirtio10.c
AgeCommit message (Collapse)Author
2021-07-11virtio: set FeaturesOk flag after feature negotiation, and enable queues ↵cinap_lenrek
before DriverOk flag
2021-07-11virtio: add non-legacy virtio 1.0 drivers for disk and ethernetcinap_lenrek
The new interface uses pci capability structures to locate the registers in a rather fine granular way making it more complicated as they can be located anywhere in any pci bar at any offset. As far as i can see, qemu (6.0.50) never uses i/o bars in non-legacy mode, so only mmio is implemented for now. The previous virtio drivers implemented the legacy interface only which uses i/o ports for all register accesses. This is still the preferred method (and also qemu default) as it is easier to emulate and most likely faster. However, some vps providers like vultr force the legacy interface to disabled with qemu -device option "disable-legacy=on" resulting on a system without a disk and ethernet.