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

Daniel P. Berrangé berrange at redhat.com
Wed Jan 16 11:48:50 UTC 2019


On Wed, Jan 16, 2019 at 10:41:59AM +0100, Andrea Bolognani wrote:
> On Tue, 2019-01-15 at 17:02 +0000, Daniel P. Berrangé wrote:
> > On Tue, Jan 15, 2019 at 02:30:14PM +0100, 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.
> > 
> > Yes, the existing devices fail when placed in a PCI-X slot with certain
> > guest OS. The -transitional devices are functionally identical to the
> > existing devices. They serve as a hint to libvirt that it should never
> > place them in a PCI-X slot.
> 
> Not quite: existing devices (virtio-*-pci) will change their
> behavior based on the slot they're plugged into, so they will show
> up as non-transitional when connected to a PCI Express slot and as
> transitional otherwise.

We're only ever going to plug -transitional devices into PCI slots, not
PCI-X slots. So the magic behaviour of the existing devices won't come
into effect in libvirt's usage, when the XML has request a transitional
device.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list