From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mykyta Poturai <Mykyta_Poturai@epam.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Julien Grall <julien@xen.org>,
Bertrand Marquis <bertrand.marquis@arm.com>,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 0/4] arm: Add GICv3 support to the New VGIC
Date: Wed, 25 Oct 2023 10:12:57 +0000 [thread overview]
Message-ID: <cover.1698225630.git.mykyta_poturai@epam.com> (raw)
Hi All.
This patch aims to add GICv3 support to the New VGIC. It adds support for
the GICv3 distributor, redistributor, sysreg and ITS interfaces. This will
allow Xen to emulate level-triggered interrupts with GICVb3 and will make
the NEW_VGIC more complete and usable.
The bulk of the code is taken from the Linux Kernel v6.0 and adapted to the
existing Xen codebase.
For the NEW_VGIC config the !GIC_V3 dependency is removed.
For the HAS_ITS config the deprecated flag is removed and NEW_VGIC dependency
is added.
Original non-ported changes are:
- Moving the GICv3 distributor base to fix the new_vgic's intid calculation.
- Moving the get/put irq to a wider scope to properly integrate the ITS.
Mykyta Poturai (4):
arm/gicv3: Move guest dist base
arm/vgic: Move get/put irq to a wider scope
arm/new vgic: Add GICv3 support for NEW VGIC
arm/new vgic: Add ITS support to NEW_VGIC
xen/arch/arm/Kconfig | 5 +-
xen/arch/arm/domain_build.c | 23 +-
xen/arch/arm/gic-v3-its.c | 28 +
xen/arch/arm/gic-v3-lpi.c | 11 +
xen/arch/arm/gic-v3.c | 9 +
xen/arch/arm/include/asm/gic_v3_defs.h | 13 +-
xen/arch/arm/include/asm/gic_v3_its.h | 82 +
xen/arch/arm/include/asm/new_vgic.h | 96 +-
xen/arch/arm/include/asm/vgic.h | 6 +
xen/arch/arm/vgic/Makefile | 3 +
xen/arch/arm/vgic/vgic-init.c | 19 +-
xen/arch/arm/vgic/vgic-its.c | 1945 ++++++++++++++++++++++++
xen/arch/arm/vgic/vgic-mmio-v3.c | 1027 +++++++++++++
xen/arch/arm/vgic/vgic-mmio.c | 24 +
xen/arch/arm/vgic/vgic-mmio.h | 21 +
xen/arch/arm/vgic/vgic-v3.c | 383 +++++
xen/arch/arm/vgic/vgic.c | 60 +-
xen/arch/arm/vgic/vgic.h | 51 +-
xen/include/public/arch-arm.h | 2 +-
19 files changed, 3774 insertions(+), 34 deletions(-)
create mode 100644 xen/arch/arm/vgic/vgic-its.c
create mode 100644 xen/arch/arm/vgic/vgic-mmio-v3.c
create mode 100644 xen/arch/arm/vgic/vgic-v3.c
--
2.34.1
next reply other threads:[~2023-10-25 10:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 10:12 Mykyta Poturai [this message]
2023-10-25 10:13 ` [XEN PATCH 1/4] arm/gicv3: Move guest dist base Mykyta Poturai
2023-10-25 10:39 ` Julien Grall
2023-10-25 10:13 ` [XEN PATCH 2/4] arm/vgic: Move get/put irq to a wider scope Mykyta Poturai
2023-10-26 9:25 ` Wei Chen
2023-10-25 10:13 ` [XEN PATCH 4/4] arm/new vgic: Add ITS support to NEW_VGIC Mykyta Poturai
2023-10-25 10:22 ` Julien Grall
2023-10-26 10:01 ` Mykyta Poturai
2023-10-26 20:23 ` Julien Grall
2023-10-25 10:13 ` [XEN PATCH 3/4] arm/new vgic: Add GICv3 support for NEW VGIC Mykyta Poturai
2023-10-26 9:34 ` Wei Chen
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=cover.1698225630.git.mykyta_poturai@epam.com \
--to=mykyta_poturai@epam.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=bertrand.marquis@arm.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.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.