[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XEN PATCH 0/4] arm: Add GICv3 support to the New VGIC


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • Date: Wed, 25 Oct 2023 10:12:57 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Hr0rMAO4qbwLSU58X19M+biIMWvRcuWcrbTqZFk1N7A=; b=IaU2xDk2bx+KO9PQPingGPbSQRsNbmXft5JRwva7rj4fW9LTfWngmQUT6rphnZRWXChk1TYz2QN0yibIJVPbYzpWsLR23JPNpq4e6wXilR+wEqXWW7+glI4U5NccP9Vg/7TBUMiXhcZDL47jYnKXjRACgfW+bjv7q0MnoIxuo194hjDUe1EWkICswO5dH+7cgTbpfSeug3x/eoiJKXrMdNZjcM7qZQCTtbx6NCDe+zEdtuKBgIYmalMxjFeJsYlm0IDz9lFJBNrvPWrF8Ujb347px4Cg0AoEqGYkH38Dw16j7uye4Q5ZWrYO7ymBrEV/YOkgsE6wOOsQIgEByYvRXQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DrZ6p7qHNL4NiJKNJ5/HCCnxFYkBJ0MOMja801BxMy2sjejqRmk272xomF+4lJ/PyZUs+iGYRYVW7NzrnUTswWIBhJCNElR++DruqUswE2RuOq2ycvNEJse9YvDJWubDdUkn9HTw1BNJDJIPnCczEGGJ7Pc0ye0vdFVhzM3Km5W0dea1T1eAYCN1vCRjl1Tb048AyYmTn0LxQ/xIIAFK7IYoaEkihT+F1a/7MnC7aG+75n1LSNOwkOcVqbTRf8FeMYDjIsrTVjKn8lQ46gF6a/8qM7F/V+gmXc9JViTuFzxfgkEc14TYK6FfbKinY2TbF7w7CL+iDjvl6/TMUwYdFg==
  • Cc: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 25 Oct 2023 10:13:21 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHaByvTuljbytuX4USmsHR+sMhC6g==
  • Thread-topic: [XEN PATCH 0/4] arm: Add GICv3 support to the New VGIC

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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.