[RFC PATCH v1 0/5] ARM virtio-pci initial support

Sergiy Kibrik posted 5 patches 5 months ago
Only 4 patches received!
docs/man/xl.cfg.5.pod.in          |  18 +-
tools/libs/light/libxl_arm.c      | 351 ++++++++++++++++++++++++++++--
tools/libs/light/libxl_create.c   |  18 +-
tools/libs/light/libxl_dm.c       |  98 ++++++++-
tools/libs/light/libxl_internal.h |   5 +
tools/libs/light/libxl_types.idl  |  41 +++-
tools/libs/light/libxl_virtio.c   | 119 ++++++++--
tools/xl/xl_parse.c               |  39 ++++
xen/include/public/arch-arm.h     |  26 +++
9 files changed, 656 insertions(+), 59 deletions(-)
[RFC PATCH v1 0/5] ARM virtio-pci initial support
Posted by Sergiy Kibrik 5 months ago
Hi,
The next iteration of RFC series introducing support of PCI devices emulated by Virtio 
on ARM platform.

A guest system is presented with Virtio Host bridge device, through
which a number of emulated PCI devices (e.g. disk, network, graphic, audio etc)
can work with corresponding guests' subsystems.

For that purpose we add a new "pci" virtio transport mechanism in xl
configuration, in addition to present "mmio" mechanism.

Suitable MMIO and IRQ ranges are reverved and guest's DT extended with PCI
(#INTA..#INTD) interrupt mappings.

For now only supported combination of backends is when both PCI Host bridge
and all PCI devices behind it are emulated by the same single instance (i.e. Qemu).

The code was tested with QEMU backends, yet it aims to be extendable to support
stand-alone backends.

Initial series:

https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg157743.html

Changes in v1:
  - one virtio-pci bus instead of two, hence cut reserved memory regions' size by 2
  - drop the code to trap & forward MMIO access to IOREQ server, since we can
    do without it in this series
  - better describe reserver resources' limits both in code & commit description

 -Sergiy


Oleksandr Tyshchenko (5):
  libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well
  xen/public: arch-arm: reserve resources for virtio-pci
  libxl/arm: Add basic virtio-pci support
  libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices
  libxl: Add "backend_type" property for the Virtio devices

 docs/man/xl.cfg.5.pod.in          |  18 +-
 tools/libs/light/libxl_arm.c      | 351 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_create.c   |  18 +-
 tools/libs/light/libxl_dm.c       |  98 ++++++++-
 tools/libs/light/libxl_internal.h |   5 +
 tools/libs/light/libxl_types.idl  |  41 +++-
 tools/libs/light/libxl_virtio.c   | 119 ++++++++--
 tools/xl/xl_parse.c               |  39 ++++
 xen/include/public/arch-arm.h     |  26 +++
 9 files changed, 656 insertions(+), 59 deletions(-)

-- 
2.25.1