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

[PATCH v3 5/5] [FUTURE] xen/arm: enable vPCI for domUs


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
  • Date: Mon, 9 Oct 2023 15:57:44 -0400
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=3Wqj1m40g3xzBzCIIdI1/Tnlmb7S3hlwdRDoDUE9rvM=; b=noUmLRDL6YMkUym/bT304o3W78Ibf9CGAwzkbM2nYzXRRgxPtgNGb/zX98slCCgxNzQBlBJRffioUoIJ2aSb5rVPjDgQzJlNYyZcinMJnXqYPs0ntDo5UdihqisSIMb37ajlbUAReV6MKH2gYvof0oawBljanf1Lfe5dI7SbCNnUqXrkLzAX9Se8ybLkkMbmildtn9pQ+/yTkxQ/chtI15duXlvzdPP4c6lqopLfizUhhexMimB/tA2uQoLwq1llxU5YVL8Adq5pjaLcxufJyNBJJaFucKLytBpOUgjEMGkTTdiXT/AAXJm7gFOg/ShENz3onpi296FarxvIash0bQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y/anAwwkZngEKRyIF/ZqHr+NR4hGb1WJK3OIlbi47P5FNBT3ulYSRSnhM7/Uue0pFhQfvhTK53Yu5mQGcNOO/zBbjBJ+nvarCTHN0At7SgJtpz23igClfI+P5hSOuL9qr+fJdSqa2ERCiAMxrkGkC1gCKpPLcRagA/BtM967yonuGW3TWiuxVGAlSmyNhUJkQGY8Xg0OEroXjl0zBmA+dk2KkEzh8QBqshqCii67qPD6aVQ5thoxD5gR0qhH5vGVBjNrCbyY2YMjLT1+yVfCZ/dUomSazhgCiykixcpS8anMCKqJEbV9xpqvBWkHW5IxWNsLBTK0Jo9Cj/rQL9YiUw==
  • Cc: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 09 Oct 2023 20:03:25 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Select HAS_VPCI_GUEST_SUPPORT in Kconfig for enabling vPCI in domUs.

Set the pci flags in xen_arch_domainconfig to enable vPCI if a pci device has
been specified in the xl domain config file.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
---
As the tag implies, this patch is not intended to be merged (yet).

Note that CONFIG_HAS_VPCI_GUEST_SUPPORT is not currently used in the upstream
code base. It will be used by the vPCI series [1]. This patch is intended to be
merged as part of the vPCI series. I'll coordinate with Volodymyr to include
this in the vPCI series or resend afterwards. Meanwhile, I'll include it here
until the Kconfig and xen_arch_domainconfig prerequisites have been committed.

v2->v3:
* set pci flags in toolstack

v1->v2:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html
---
 tools/libs/light/libxl_arm.c | 3 +++
 xen/arch/arm/Kconfig         | 1 +
 2 files changed, 4 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 15391917748c..931b2f8852ff 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -222,6 +222,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
     }
 
+    if (d_config->num_pcidevs)
+        config->arch.pci_flags = XEN_DOMCTL_CONFIG_PCI_VPCI;
+
     return 0;
 }
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fcb5a0920c5c..6f33373f9035 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -196,6 +196,7 @@ config PCI_PASSTHROUGH
        depends on ARM_64
        select HAS_PCI
        select HAS_VPCI
+       select HAS_VPCI_GUEST_SUPPORT
        default n
        help
          This option enables PCI device passthrough
-- 
2.42.0




 


Rackspace

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