On Fri, Nov 12, 2021 at 03:57:44PM +0100, Halil Pasic wrote: > This is an early RFC for a transport specific early detecton of > modern virtio, which is most relevant for transitional devices on big > endian platforms, when drivers access the config space before > FEATURES_OK is set. > > The most important part that is missing here is fixing all the problems > that arise in the situation described in the previous paragraph, when > the config is managed by a vhost device (and thus outside QEMU. This > series tackles this problem only for virtio_net+vhost as an example. If > this approach is deemed good, we need to do something very similar for > every single affected device. > > This series was only lightly tested. The vhost stuff is entirely > untested, unfortunately I don't have a working setup where this > handling would be needed (because the config space is handled in the > device). DPDK is not supported on s390x so at the moment I can't test > DPDK based setups.
So this looks sane to me. Cornelia requested some name tweaks and we need to add vhost-user things and more devices, but otherwise we are good. > v1 -> v2: > > * add callback > * tweak feature manipulation > * add generic handling for vhost that needs to be called by devices > * add handling for virtio > > Halil Pasic (5): > virtio: introduce virtio_force_modern() > virtio-ccw: use virtio_force_modern() > virtio-pci: use virtio_force_modern() > vhost: push features to backend on force_modern > virtio-net: handle force_modern for vhost > > hw/net/virtio-net.c | 20 ++++++++++++++++++++ > hw/s390x/virtio-ccw.c | 3 +++ > hw/virtio/vhost.c | 17 +++++++++++++++++ > hw/virtio/virtio-pci.c | 1 + > hw/virtio/virtio.c | 13 +++++++++++++ > include/hw/virtio/vhost.h | 2 ++ > include/hw/virtio/virtio.h | 2 ++ > 7 files changed, 58 insertions(+) > > > base-commit: 2c3e83f92d93fbab071b8a96b8ab769b01902475 > -- > 2.25.1