qemu-devel
[Top][All Lists]
Advanced

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

Re: virtio "transitional devices"?


From: Daniel P . Berrangé
Subject: Re: virtio "transitional devices"?
Date: Mon, 6 Sep 2021 09:59:27 +0100
User-agent: Mutt/2.0.7 (2021-05-04)

On Sun, Sep 05, 2021 at 01:47:48PM +0000, Alexander von Gluck IV wrote:
> Could someone explain to me what virtio "transitional devices" are?
> 
> https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-1020002
> 
> Are "Transitional devices" pre-1.0 specification?

virtio devices can be exposed in upto three ways

 - Legacy - follows virtio 0.9 specification. always uses PCI
            ID range 0x1000-0x103F
 - Transitional - follows virtio 0.9 specification by default, but
                  can auto-negotiate with guest for 1.0 spce. Always
                  uses PCI ID range 0x1000-0x103F
 - Modern - follows virtio 1.0 specification. always uses PCI
            ID range 0x1040-0x107F

With QEMU, historically devices placed on a PCI bus will always default
to being in transitional mode, while devices placed on a PCI-E bus will
always dfault to being in modern mode.

The params disable_legacy=on|off and disable_modern=on|off can be used
to fine tune things. 

> Haiku's virtio driver (PCI) is looking for PCIID Devices 0x1000-0x103F

Makes sense if you're expecting legacy or transitional devices, only
in 0.9 spec mode. 

> I've noticed qemu-6.1.0 has begun to offer PCI DeviceID  0x1040-0x107F to
> the operating system breaking our virtio drivers.
> 
> Expanding our search range to 0x1040+ seems to solve the issues and gives
> us a working virtio driver, but I feel like we should be checking for
> other differences.

Only use 0x1040-0x107F range if you support virtio 1.0.

> Has something changed in recent qemu's around virtio?  I don't see anything
> documented in the release notes.

There shouldn't be changes in this regard afaik. Are you confident that
you have had no changes in the QEMU command line you are testing with
since previous working versions of QEMU were tested ?


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 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]