qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] virtio-bus: Plug devices after features are neg


From: Maxime Coquelin
Subject: Re: [Qemu-devel] [PATCH] virtio-bus: Plug devices after features are negotiated
Date: Sat, 10 Sep 2016 14:26:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0



On 09/10/2016 11:49 AM, Paolo Bonzini wrote:


On 10/09/2016 10:23, Maxime Coquelin wrote:
Currently, devices are plugged before features are negotiated.
If the backend doesn't support VIRTIO_F_VERSION_1, the transport
need to rewind some settings.

This is the case for CCW, for which a post_plugged callback had
been introduced, where max_rev field is just updated if
VIRTIO_F_VERSION_1 is not supported by the backend.
For PCI, implementing the post_plugged would be much more
complicated, so it needs to know whether the backend supports
VIRTIO_F_VERSION_1 at plug time.

Currently, nothing is done for PCI. Modern capabilitities get
exposed to the guest even if VIRTIO_F_VERSION_1 is not supported
by the backend, which confuses the guest.

This patch proposes to replace existing post_plugged solution
with an approach that fits with both transports.
Features negociation is performed before ->device_plugged() call.
A pre_plugged callback is introduced so that the transports can
set their supported features.

Have you tested virtio-mmio too?

No, not tested.
But virtio-mmio doesn't have the device_plugged callback,
so no impact here.

Thanks,
Maxime



reply via email to

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