Re: [PATCH RFC v5 10/19] s390x/virtio-ccw: add virtio set-revision call

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

 



On Thu, 4 Dec 2014 18:20:05 +0200
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:

> On Tue, Dec 02, 2014 at 02:00:18PM +0100, Cornelia Huck wrote:
> > From: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
> > 
> > Handle the virtio-ccw revision according to what the guest sets.
> > When revision 1 is selected, we have a virtio-1 standard device
> > with byteswapping for the virtio rings.
> > 
> > When a channel gets disabled, we have to revert to the legacy behavior
> > in case the next user of the device does not negotiate the revision 1
> > anymore (e.g. the boot firmware uses revision 1, but the operating
> > system only uses the legacy mode).
> > 
> > Note that revisions > 0 are still disabled.
> > 
> > Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> > ---
> >  hw/s390x/virtio-ccw.c |   52 +++++++++++++++++++++++++++++++++++++++++++++++++
> >  hw/s390x/virtio-ccw.h |    5 +++++
> >  2 files changed, 57 insertions(+)

> > @@ -747,6 +797,8 @@ static int virtio_ccw_device_init(VirtioCcwDevice *dev, VirtIODevice *vdev)
> >      sch->id.cu_type = VIRTIO_CCW_CU_TYPE;
> >      sch->id.cu_model = vdev->device_id;
> >  
> > +    dev->revision = -1;
> > +
> >      /* Set default feature bits that are offered by the host. */
> >      dev->host_features = 0;
> >      virtio_add_feature(&dev->host_features, VIRTIO_F_NOTIFY_ON_EMPTY);
> 
> You should also clear it on device reset.

Nope, revision survives reset and can only be cleared by disabling and
reenabling the device.

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux