On Tue, 30 Jun 2020 10:04:51 +0100 Stefan Hajnoczi <stefa...@redhat.com> wrote:
> On Mon, Jun 29, 2020 at 02:07:16PM +0100, Daniel P. Berrangé wrote: > > On Mon, Jun 29, 2020 at 01:53:05PM +0100, Stefan Hajnoczi wrote: > > > On Thu, Jun 25, 2020 at 12:04:26PM +0200, Marc Hartmayer wrote: > > > > This RFC is about enabling virtio-fs on s390x. For that we need > > > > + some shim code (first patch), and we need > > > > + libvhost-user to deal with virtio endiannes as mandated by the spec. > > > > > > > > The second part is trickier, because unlike QEMU we are not certain > > > > about the guest's native endianness, which is needed to handle the > > > > legacy-interface appropriately. In fact, this is the reason why just > > > > RFC. > > > > > > > > One of the open questions is whether to build separate versions, one > > > > for guest little endian and one for guest big endian, or do we want > > > > something like a command line option? (Digression on the libvirt > > > > modeling) > > > > > > > > A third option would be to refuse legacy altogether. > > > > > > I suggest the following: > > > > > > 1. Combinations that worked with libvhost-user in the past must not break. > > > > > > 2. New combinations should only support VIRTIO 1.0 and later. > > > > > > This means continue to allow Legacy mode devices where they already run > > > today but don't add new code for the cases that didn't work. > > > > What I'm missing here is what PCI product ID was being used when the > > current impl is in legacy/transitional mode ? > > > > Normally legacy and transitional mode devices need an explicit PCI ID > > reserved, where as modern-only devices have a PCI ID derived from their > > VirtIO ID + a fixed offset. > > > > Was this mistakenly using a VirtIO ID + fixed offset for the legacy > > mode too ? > > vhost-user-fs-pci does not support Legacy or Transitional mode. See > hw/virtio/vhost-user-fs-pci.c: > > static const VirtioPCIDeviceTypeInfo vhost_user_fs_pci_info = { > .base_name = TYPE_VHOST_USER_FS_PCI, > .non_transitional_name = "vhost-user-fs-pci", > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > .instance_size = sizeof(VHostUserFSPCI), > .instance_init = vhost_user_fs_pci_instance_init, > .class_init = vhost_user_fs_pci_class_init, > }; This makes it very unlikely that someone accidentally configures non-modern, but does not prevent it AFAICS. See <20200630113527.7b27f34f.coh...@redhat.com>, which I just sent. (I may be off, because that is all very confusing...)
pgpcNsRowzw3J.pgp
Description: OpenPGP digital signature