On Tue, 28 Jul 2020 12:31:51 +0200 Cornelia Huck <[email protected]> wrote:
> On Fri, 17 Jul 2020 11:29:27 +0200 > Marc Hartmayer <[email protected]> wrote: > > > From: Halil Pasic <[email protected]> > > > > Wire up the CCW device for vhost-user-fs. > > > > Signed-off-by: Halil Pasic <[email protected]> > > --- > > hw/s390x/Makefile.objs | 1 + > > hw/s390x/vhost-user-fs-ccw.c | 73 ++++++++++++++++++++++++++++++++++++ > > 2 files changed, 74 insertions(+) > > create mode 100644 hw/s390x/vhost-user-fs-ccw.c > > > > (...) > > > diff --git a/hw/s390x/vhost-user-fs-ccw.c b/hw/s390x/vhost-user-fs-ccw.c > > new file mode 100644 > > index 000000000000..88a7a11a34b4 > > --- /dev/null > > +++ b/hw/s390x/vhost-user-fs-ccw.c > > @@ -0,0 +1,73 @@ > > +/* > > + * Ccw transport wiring for vhost-user-fs > > "virtio ccw vhost-user-fs implementation" ? > Nod. > > + * > > + * Copyright 2020 IBM Corp. > > + * > > + * This work is licensed under the terms of the GNU GPL, version 2 or (at > > + * your option) any later version. See the COPYING file in the top-level > > + * directory. > > + */ > > +#include "qemu/osdep.h" > > +#include "hw/qdev-properties.h" > > +#include "qapi/error.h" > > +#include "hw/virtio/vhost-user-fs.h" > > +#include "virtio-ccw.h" > > + > > +typedef struct VHostUserFSCcw { > > + VirtioCcwDevice parent_obj; > > + VHostUserFS vdev; > > +} VHostUserFSCcw; > > + > > +#define TYPE_VHOST_USER_FS_CCW "vhost-user-fs-ccw" > > +#define VHOST_USER_FS_CCW(obj) \ > > + OBJECT_CHECK(VHostUserFSCcw, (obj), TYPE_VHOST_USER_FS_CCW) > > + > > + > > +static Property vhost_user_fs_ccw_properties[] = { > > + DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags, > > + VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true), > > + DEFINE_PROP_UINT32("max_revision", VirtioCcwDevice, max_rev, > > + VIRTIO_CCW_MAX_REV), > > + DEFINE_PROP_END_OF_LIST(), > > +}; > > + > > +static void vhost_user_fs_ccw_realize(VirtioCcwDevice *ccw_dev, Error > > **errp) > > +{ > > + VHostUserFSCcw *dev = VHOST_USER_FS_CCW(ccw_dev); > > + DeviceState *vdev = DEVICE(&dev->vdev); > > + > > + qdev_realize(vdev, BUS(&ccw_dev->bus), errp); > > +} > > + > > +static void vhost_user_fs_ccw_instance_init(Object *obj) > > +{ > > + VHostUserFSCcw *dev = VHOST_USER_FS_CCW(obj); > > + > > This needs > > ccw_dev->force_revision_1 = true; > I'm OK with that as well. Just out of curiosity, why do we need it? Is there a virtio-ccw revision 1 feature this device inherently needs? Regards, Halil [..]
