Re: [PATCH kvmtool 00/24] Virtio v1 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 09, 2022 at 01:39:48PM +0100, Will Deacon wrote:
> On Tue, Jun 07, 2022 at 06:02:15PM +0100, Jean-Philippe Brucker wrote:
> > Add support for version 1 of the virtio transport to kvmtool. Based on a
> > RFC by Sasha Levin [1], I've been trying to complete it here and there.
> > It's long overdue and is quite painful to rebase, so let's get it
> > merged.
> >
> > Several reasons why the legacy transport needs to be replaced:
> >
> > * Only 32 feature bits are supported. Most importantly
> >   VIRTIO_F_ACCESS_PLATFORM, which forces a Linux guest to use the DMA
> >   API, cannot be enabled. So we can't support private guests that
> >   decrypt or share only their DMA memory with the host.
> 
> Woohoo!
> 
> > * Legacy virtqueue address is a 32-bit pfn, aligned on 4kB. Since Linux
> >   guests bypass the DMA API they can't support large GPAs.
> >
> > * New devices types (iommu, crypto, memory, etc) and new features cannot
> >   be supported.
> >
> > * New guests won't implement the legacy transport. Existing guests will
> >   eventually drop legacy support.
> >
> > Support for modern transport becomes the default and legacy is enabled
> > with --virtio-legacy.
> >
> > I only tested what I could: vsock, scsi and vhost-net are currently
> > broken and can be fixed later (they have issues with mem regions and
> > feature mask, among other things). I also haven't tested big-endian.
> 
> If these are broken, then shall we default to legacy mode and have the
> modern transport be opt-in? Otherwise we're regressing people in a
> confusing way.

What I meant was that even without these patches, I wasn't able to use any
of the vhost devices, they already had several bugs. But now that I spent
a little more time trying to fix them, it looks like the modern transport
does add one regression (vhost ioeventfd is set on I/O port but modern
transport uses MMIO).

I'll sort this out and resend. Thanks for picking up the base patches!

Thanks,
Jean



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux