Hello Anthony

[sorry for the possible format issues]

On Thu, Jun 23, 2022 at 1:24 PM Anthony PERARD <anthony.per...@citrix.com>
wrote:

> On Fri, Jun 17, 2022 at 07:14:31PM +0300, Oleksandr Tyshchenko wrote:
> > From: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>
> >
> > This patch adds basic support for configuring and assisting virtio-mmio
> > based virtio-disk backend (emulator) which is intended to run out of
> > Qemu and could be run in any domain.
> > Although the Virtio block device is quite different from traditional
> > Xen PV block device (vbd) from the toolstack's point of view:
> >  - as the frontend is virtio-blk which is not a Xenbus driver, nothing
> >    written to Xenstore are fetched by the frontend currently ("vdev"
> >    is not passed to the frontend). But this might need to be revised
> >    in future, so frontend data might be written to Xenstore in order to
> >    support hotplugging virtio devices or passing the backend domain id
> >    on arch where the device-tree is not available.
> >  - the ring-ref/event-channel are not used for the backend<->frontend
> >    communication, the proposed IPC for Virtio is IOREQ/DM
> > it is still a "block device" and ought to be integrated in existing
> > "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
> > logic to deal with Virtio devices as well.
> >
> > For the immediate purpose and an ability to extend that support for
> > other use-cases in future (Qemu, virtio-pci, etc) perform the following
> > actions:
> > - Add new disk backend type (LIBXL_DISK_BACKEND_OTHER) and reflect
> >   that in the configuration
> > - Introduce new disk "specification" and "transport" fields to struct
> >   libxl_device_disk. Both are written to the Xenstore. The transport
> >   field is only used for the specification "virtio" and it assumes
> >   only "mmio" value for now.
> > - Introduce new "specification" option with "xen" communication
> >   protocol being default value.
> > - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
> >   one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
> >
> > An example of domain configuration for Virtio disk:
> > disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=other,
> specification=virtio']
> >
> > Nothing has changed for default Xen disk configuration.
> >
> > Please note, this patch is not enough for virtio-disk to work
> > on Xen (Arm), as for every Virtio device (including disk) we need
> > to allocate Virtio MMIO params (IRQ and memory region) and pass
> > them to the backend, also update Guest device-tree. The subsequent
> > patch will add these missing bits. For the current patch,
> > the default "irq" and "base" are just written to the Xenstore.
> > This is not an ideal splitting, but this way we avoid breaking
> > the bisectability.
> >
> > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>
> > ---
> > Changes V10 -> V10.1:
> >    - fix small coding style issue in libxl__device_disk_get_path()
> >    - drop specification check in main_blockattach() and add
> >      required check in libxl__device_disk_setdefault()
> >    - update specification check in main_blockdetach()
>
> For this v10.1: Reviewed-by: Anthony PERARD <anthony.per...@citrix.com>
>


perfect, thanks!


>
> BTW, the subject of this updated patch still state "v10" instead of
> "v10.1", hopefully committers can pick the right version.
>


Oh, sorry, I was thinking to use "v10.1", but I wasn't sure that commit
with updated subject would properly appear in the current thread if being
sent using git send-email --in-reply-to))


>
> Cheers,
>
> --
> Anthony PERARD
>


-- 
Regards,

Oleksandr Tyshchenko

Reply via email to