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

[PATCH v5 1/5] xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
  • Date: Thu, 2 Nov 2023 15:59:29 -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 (0)
  • 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=DLtVJgg2CaFtIR8gaoR2mC1Q7M054B9aA+rGVYOSc/0=; b=G92DrPTk6Dg1D1HvrZiRfGw+qXp7WYednTQrYHPJ5I2hKv37JFYOVHXIvCtClDTlUATvRQzwEE8ktBsA/3Twrxxq7JWou63it0UeZM4drrJzT1vNGRrLwGDjrBDYaefSiSPE2dJ2dWFTIcpAP+lZCIyCkVpjqr1f8ATYDqR0xRh+4nrXSQpQVG15uAMu3x7/FRAi3Y7Rwh5kIbUIUN5soXNY1BORwchaoCDCaRdelirH0SHIRv56E8miyA8Lq/UOtvYZFOeo6hnBeG4ZqGbA92IhT3WYa/892W3YPUtnA868fjZ9MckZ6vDLanSS1j6LvWFtCHYgkb6iruUmMpFxIA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DgfxmImPfVTiJMNB0Wpk/VEPP/UHFDr/DJkSEpBHsQ2hBSm+RqBVAqSJE2Rxq3XZU/jV6IY4szhYHJaVHXnTx+5qlAIX7lzo9XFKzTF3g4Vl7dlLv9Gszhv8rEm8hBKxfvzujDgtln8P85b9qDZjyz3pM8tm5Pk2GsIHcivPtPwUEzCywf/Ipy/VEcY9ig2r4a3gcY0DEDNyXIu/fpj2otYwhsnKhDEmczl3cFzXEgJJP9FfjICaSZviDeJbko9RbZNeVmeaJbWG3KkXaFP+LXYK3SOLVf1bI4Da9enRPjy9CnYoX694CE357FBeQw9T2HsgROxWaVM1CU/wJVPFpQ==
  • Cc: Rahul Singh <rahul.singh@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxx>, Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, Julien Grall <jgrall@xxxxxxxxxx>
  • Delivery-date: Thu, 02 Nov 2023 20:00:47 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

From: Rahul Singh <rahul.singh@xxxxxxx>

Setting CONFIG_PCI_PASSTHROUGH=y will enable PCI passthrough on ARM, even though
the feature is not yet complete in the current upstream codebase. The purpose of
this is to make it easier to enable the necessary configs (HAS_PCI, HAS_VPCI) 
for
testing and development of PCI passthrough on ARM.

Since PCI passthrough on ARM is still work in progress at this time, make it
depend on EXPERT.

Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
---
(cherry picked from commit 9a08f1f7ce28ec619640ba9ce11018bf443e9a0e from the
 downstream branch [1])

v4->v5:
* no change

v3->v4:
* no change

v2->v3:
* add Julien's A-b

v1->v2:
* drop "ARM" naming since it is already in an ARM category
* depend on EXPERT instead of UNSUPPORTED

Changes from downstream to v1:
* depends on ARM_64 (Stefano)
* Don't select HAS_VPCI_GUEST_SUPPORT since this config option is not currently
  used in the upstream codebase. This will want to be re-added here once the
  vpci series [2] is merged.
* Don't select ARM_SMMU_V3 since this option can already be selected
  independently. While PCI passthrough on ARM depends on an SMMU, it does not
  depend on a particular version or variant of an SMMU.
* Don't select HAS_ITS since this option can already be selected independently.
  HAS_ITS may want to be added here once the MSI series [1] is merged.
* Don't select LATE_HWDOM since this option is unrelated to PCI passthrough.

[1] 
https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commits/poc/pci-passthrough
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
---
 xen/arch/arm/Kconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..5ff68e5d5979 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -190,6 +190,15 @@ config STATIC_SHM
        help
          This option enables statically shared memory on a dom0less system.
 
+config PCI_PASSTHROUGH
+       bool "PCI passthrough" if EXPERT
+       depends on ARM_64
+       select HAS_PCI
+       select HAS_VPCI
+       default n
+       help
+         This option enables PCI device passthrough
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
-- 
2.42.0




 


Rackspace

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