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

[PATCH 0/2] Add support for MSI injection on Arm


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • Date: Sun, 14 Jan 2024 10:01:48 +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=sRVOy0vPlI2Ik0MoBGOJBYPBn3f+l8ozQjhm7KSEaDI=; b=Epjav0g1plWyr49zFaq0D2KOJWDF9sRAgvf8KKsNuMdQZVlVQ7rNbBaSOHU8O4nB8Su0TPOXYI0Co73Hg2VAUctyQF12WFIRWzBTKb7TqO8YMdx2C7WYXmQJZsKkWFfL0r9MKN7lLWCWEohXIfEQuF4+/gpBUzTu+ccIXkGubP3iD8szv/thNS7iatyHF7Ik4RdSS8wzGaCDfdPqEeJFwIO0lPFs0lfqSCmTBjwCHcNQnGcy165rrsLDMqNi4fTQiLaUWzfVGNZDEx1pRaab4gdsnzNlLirdqBUnXUgurJfw3M6Yk6HudO47shbqgLeZPzmzV/2a4UQo+5+ds6BCGA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U3gQolu3Be+Uev/qghi1VnDCEZGuvXHPG7OgQlt41O8du5DGkApg9RDE0Gfy4m1iA4e35BBHvC29xl3Uke6EFeg+WOY5MRQBU+zrQTlDCTdYOMO61ACqmgPaw9haTfW0kMWPNBto723UBGk82ALfNP6yOK9XQCGUB/bG/3P0rPSkXFA79+6XqRUropzRwDTWjmq3Ivn6zpbloBxuZhpkT4EK6HOmkERLPLs+gb9IeUjh/Wte0KV2gY0Uigh2lyGhX47EotwhEbaB0Sh+foee/E9MbLYhg00VK3hlFSnN9MJkprKsn58qWfP4ll1kdvnSnzdVkWmsb+xe5jQEtiMTnA==
  • Cc: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Sun, 14 Jan 2024 10:02:23 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHaRtCwUl38pp01cEa3npHNYwCgZw==
  • Thread-topic: [PATCH 0/2] Add support for MSI injection on Arm

This series adds the base support for MSI injection on Arm. This is
needed to streamline virtio-pci interrupt triggering.

With this patches, MSIs can be triggered in guests by issuing the new
DM op, inject_msi2. This op is similar to inject_msi, but it allows
to specify the source id of the MSI.

We chose the approach of adding a new DM op instead of using the pad
field of inject_msi because we have no clear way of distinguishing
between set and unset pad fields. New implementations also adds flags
field to clearly specify if the SBDF is set.

Patches were tested on QEMU with QEMU virtio-pci backends, with 
virtio-pci patches and patches for ITS support for DomUs applied.

Virtio-pci patches:
https://github.com/xen-troops/xen/tree/xen-4.18-xt0.2

ITS patches:
https://github.com/stewdk/xen/commits/pcie-passthrough-arm-vpci-v11

Mykyta Poturai (2):
  arm: vgic: Add the ability to trigger MSIs from the Hypervisor
  xen/dm: arm: Introduce inject_msi2 DM op

 tools/include/xendevicemodel.h               | 14 ++++++++
 tools/libs/devicemodel/core.c                | 22 ++++++++++++
 tools/libs/devicemodel/libxendevicemodel.map |  5 +++
 xen/arch/arm/dm.c                            | 15 +++++++++
 xen/arch/arm/include/asm/vgic.h              | 11 ++++++
 xen/arch/arm/vgic-v3-its.c                   | 35 ++++++++++++++++++++
 xen/arch/x86/hvm/dm.c                        | 13 ++++++++
 xen/include/public/hvm/dm_op.h               | 12 +++++++
 8 files changed, 127 insertions(+)

-- 
2.34.1



 


Rackspace

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