[libvirt] [PATCH 0/6] RFC: qemu: virtio-{non-}transitional support

Andrea Bolognani abologna at redhat.com
Tue Jan 15 15:40:45 UTC 2019


On Tue, 2019-01-15 at 10:23 -0500, Cole Robinson wrote:
> On 01/15/2019 08:30 AM, Andrea Bolognani wrote:
[...]
> > Basically VirtIO 0.9 requires IO space to be available, and 1.0 did
> > away with that requirement because PCI Express, unlike conventional
> > PCI, allows devices *not* to have IO space.
> > 
> > So transitional devices, which must work with both 0.9 and 1.0, can
> > depend on IO space being available and as such will only work when
> > plugged into conventional PCI slots, whereas non-transitional
> > devices don't need IO space and can thus be plugged into either
> > conventional PCI and PCI Express slots.
> > 
> > Ultimately, then, transitional (rather than non-transitional)
> > devices are the ones that must be forced into conventional PCI
> > slots.
> 
> Okay thanks for the correction, so that sounds like for NON_TRANSITIONAL
> we should also be forcing pcieFlags.

Not really.

As explained above, non-transitional VirtIO devices work when
plugged into both conventional PCI and PCI Express slots, so
virtioFlags sounds more appropriate: by using pcieFlags you'd limit
non-transitional devices to q35 guests, while they can work just
fine on i440fx too.

> I've made those changes and updated
> the branch here: https://github.com/crobinso/libvirt/tree/virtio

I'm only gonna cherry-pick commit 1/6 from the GitHub branch to
avoid any ambiguity when there's a divergence between what you
posted on the mailing list and what you pushed on GitHub: more
specifically, I'm gonna be reviewing the former.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list