[PATCH V11 0/3] Virtio support for toolstack on Arm (Was "IOREQ feature (+ virtio-mmio) on Arm")

Oleksandr Tyshchenko posted 3 patches 1 year, 9 months ago
Failed in applying to current master (apply log)
docs/man/xl-disk-configuration.5.pod.in   |  38 +-
tools/golang/xenlight/helpers.gen.go      |   8 +
tools/golang/xenlight/types.gen.go        |  18 +
tools/include/libxl.h                     |   7 +
tools/libs/light/libxl_arm.c              | 164 +++-
tools/libs/light/libxl_device.c           |  62 +-
tools/libs/light/libxl_disk.c             | 146 +++-
tools/libs/light/libxl_internal.h         |   2 +
tools/libs/light/libxl_types.idl          |  18 +
tools/libs/light/libxl_types_internal.idl |   1 +
tools/libs/light/libxl_utils.c            |   2 +
tools/libs/util/libxlu_disk_l.c           | 959 +++++++++++-----------
tools/libs/util/libxlu_disk_l.h           |   2 +-
tools/libs/util/libxlu_disk_l.l           |   9 +
tools/xl/xl_block.c                       |   6 +
xen/include/public/arch-arm.h             |   7 +
xen/include/public/device_tree_defs.h     |   3 +-
17 files changed, 969 insertions(+), 483 deletions(-)
[PATCH V11 0/3] Virtio support for toolstack on Arm (Was "IOREQ feature (+ virtio-mmio) on Arm")
Posted by Oleksandr Tyshchenko 1 year, 9 months ago
From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Hello all.

The purpose of this patch series is to add missing virtio-mmio bits to Xen toolstack on Arm.
The Virtio support for toolstack [1] was postponed as the main target was to upstream IOREQ/DM
support on Arm in the first place. Now, we already have IOREQ support in, so we can resume Virtio
enabling work. You can find previous discussions at [2].

Patch series [3] is based on recent "staging" branch
(bf2f989531ad3851685a1847cbc1e28901ed80a2 public/io: xs_wire: Document that new errors should be added at the end)
and tested on Renesas Salvator-X board + H3 ES3.0 SoC (Arm64) with virtio-mmio based virtio-disk backend [4]
running in Dom0 (or Driver domain) and unmodified Linux Guest running on existing virtio-blk driver (frontend).
No issues were observed. Guest domain 'reboot/destroy' use-cases work properly.

!!! All patches except "libxl: Add support for Virtio disk configuration" have Stefano's and Anthony's R-b tags.
Anthony already gave his R-b and George already gave his A-b (golang changes) for
"libxl: Add support for Virtio disk configuration", but I dropped them due to the changes(s/other/standalone
for the backendtype).

Any feedback/help would be highly appreciated.

[1]
https://lore.kernel.org/xen-devel/1610488352-18494-24-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1610488352-18494-25-git-send-email-olekstysh@gmail.com/
[2]
https://lists.xenproject.org/archives/html/xen-devel/2021-01/msg02403.html
https://lists.xenproject.org/archives/html/xen-devel/2021-01/msg02536.html
https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1638982784-14390-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1649442065-8332-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1651598763-12162-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1654106261-28044-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1653944813-17970-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1654197833-25362-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1655143522-14356-1-git-send-email-olekstysh@gmail.com/

[3] https://github.com/otyshchenko1/xen/commits/libxl_virtio_next4
[4] https://github.com/otyshchenko1/virtio-disk/commits/virtio_grant

Julien Grall (1):
  libxl: Introduce basic virtio-mmio support on Arm

Oleksandr Tyshchenko (2):
  libxl: Add support for Virtio disk configuration
  libxl/arm: Create specific IOMMU node to be referred by virtio-mmio
    device

 docs/man/xl-disk-configuration.5.pod.in   |  38 +-
 tools/golang/xenlight/helpers.gen.go      |   8 +
 tools/golang/xenlight/types.gen.go        |  18 +
 tools/include/libxl.h                     |   7 +
 tools/libs/light/libxl_arm.c              | 164 +++-
 tools/libs/light/libxl_device.c           |  62 +-
 tools/libs/light/libxl_disk.c             | 146 +++-
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  18 +
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_utils.c            |   2 +
 tools/libs/util/libxlu_disk_l.c           | 959 +++++++++++-----------
 tools/libs/util/libxlu_disk_l.h           |   2 +-
 tools/libs/util/libxlu_disk_l.l           |   9 +
 tools/xl/xl_block.c                       |   6 +
 xen/include/public/arch-arm.h             |   7 +
 xen/include/public/device_tree_defs.h     |   3 +-
 17 files changed, 969 insertions(+), 483 deletions(-)

-- 
2.25.1