All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 0/6] ARM virtio-pci initial support
Date: Wed, 15 Nov 2023 13:26:05 +0200	[thread overview]
Message-ID: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com> (raw)

Hi,
In this patch series we introduce 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, for guests' PCI accesses are trapped
and forwarded to IOREQ server to be handled outside of Xen. Also 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.

 -Sergiy

Oleksandr Tyshchenko (6):
  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
  xen/arm: Intercept vPCI config accesses and forward them to emulator
  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/arch/arm/Kconfig                  |  10 +
 xen/arch/arm/domain.c                 |   2 +-
 xen/arch/arm/{ => include/asm}/vpci.h |  11 +
 xen/arch/arm/io.c                     |   8 +-
 xen/arch/arm/ioreq.c                  |  19 +-
 xen/arch/arm/vpci.c                   | 106 +++++++-
 xen/include/public/arch-arm.h         |  21 ++
 15 files changed, 797 insertions(+), 69 deletions(-)
 rename xen/arch/arm/{ => include/asm}/vpci.h (75%)

-- 
2.25.1



             reply	other threads:[~2023-11-15 11:26 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-15 11:26 Sergiy Kibrik [this message]
2023-11-15 11:26 ` [RFC PATCH 1/6] libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well Sergiy Kibrik
2023-11-15 11:26 ` [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for virtio-pci Sergiy Kibrik
2023-11-15 12:33   ` Julien Grall
2023-11-15 16:51     ` Oleksandr Tyshchenko
2023-11-15 17:31       ` Julien Grall
2023-11-15 18:14         ` Oleksandr Tyshchenko
2023-11-15 18:33           ` Julien Grall
2023-11-15 19:38             ` Oleksandr Tyshchenko
2023-11-15 19:56               ` Julien Grall
2023-11-17 13:19         ` Sergiy Kibrik
2023-11-17 18:24           ` Julien Grall
2023-11-15 23:28       ` Stefano Stabellini
2023-11-16 15:07         ` Volodymyr Babchuk
2023-11-16 15:12           ` Julien Grall
2023-11-16 15:26             ` Stewart Hildebrand
2023-11-16 15:58               ` Julien Grall
2023-11-16 16:53                 ` Volodymyr Babchuk
2023-11-16 17:27                   ` Julien Grall
2023-11-16 23:04           ` Stefano Stabellini
2023-11-17  0:23             ` Volodymyr Babchuk
2023-11-17  3:31         ` Stewart Hildebrand
2023-11-17  8:11           ` Oleksandr Tyshchenko
2023-11-21 19:12             ` Stewart Hildebrand
2023-11-22  1:14               ` Stefano Stabellini
2023-11-15 11:26 ` [RFC PATCH 3/6] libxl/arm: Add basic virtio-pci support Sergiy Kibrik
2023-11-15 11:26 ` [RFC PATCH 4/6] libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices Sergiy Kibrik
2023-11-15 11:26 ` [RFC PATCH 5/6] xen/arm: Intercept vPCI config accesses and forward them to emulator Sergiy Kibrik
2023-11-15 12:45   ` Julien Grall
2023-11-15 23:30     ` Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231115112611.3865905-1-Sergiy_Kibrik@epam.com \
    --to=sergiy_kibrik@epam.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=anthony.perard@citrix.com \
    --cc=bertrand.marquis@arm.com \
    --cc=jgross@suse.com \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=oleksandr_tyshchenko@epam.com \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.