From patchwork Thu Nov 26 17:01:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Singh X-Patchwork-Id: 11934395 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C4D6C56202 for ; Thu, 26 Nov 2020 17:02:58 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F17442158C for ; Thu, 26 Nov 2020 17:02:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F17442158C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.38859.71587 (Exim 4.92) (envelope-from ) id 1kiKfB-0004Ks-Sg; Thu, 26 Nov 2020 17:02:33 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 38859.71587; Thu, 26 Nov 2020 17:02:33 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kiKfB-0004Kl-PJ; Thu, 26 Nov 2020 17:02:33 +0000 Received: by outflank-mailman (input) for mailman id 38859; Thu, 26 Nov 2020 17:02:31 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kiKf9-0004Kg-TM for xen-devel@lists.xenproject.org; Thu, 26 Nov 2020 17:02:31 +0000 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 98e166d4-ff61-475d-bf55-3d1799060e48; Thu, 26 Nov 2020 17:02:30 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EDB1C31B; Thu, 26 Nov 2020 09:02:29 -0800 (PST) Received: from scm-wfh-server-rahsin01.stack04.eu02.mi.arm.com (unknown [10.58.246.76]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6B6973F23F; Thu, 26 Nov 2020 09:02:28 -0800 (PST) Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kiKf9-0004Kg-TM for xen-devel@lists.xenproject.org; Thu, 26 Nov 2020 17:02:31 +0000 X-Inumbo-ID: 98e166d4-ff61-475d-bf55-3d1799060e48 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 98e166d4-ff61-475d-bf55-3d1799060e48; Thu, 26 Nov 2020 17:02:30 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EDB1C31B; Thu, 26 Nov 2020 09:02:29 -0800 (PST) Received: from scm-wfh-server-rahsin01.stack04.eu02.mi.arm.com (unknown [10.58.246.76]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6B6973F23F; Thu, 26 Nov 2020 09:02:28 -0800 (PST) From: Rahul Singh To: xen-devel@lists.xenproject.org Cc: bertrand.marquis@arm.com, rahul.singh@arm.com, Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Wei Liu , Paul Durrant Subject: [PATCH v2 0/8] xen/arm: Add support for SMMUv3 driver Date: Thu, 26 Nov 2020 17:01:59 +0000 Message-Id: X-Mailer: git-send-email 2.17.1 This patch series is v2 of the work to add support for the SMMUv3 driver. Approach taken is to first merge the Linux copy of the SMMUv3 driver (tag v5.9.8) and then modify the driver to build on XEN. Linux SMMUv3 code implements the commands-queue insertion based on atomic operations implemented in Linux. Atomic functions used by the commands-queue insertion is not implemented in XEN therefore we decided to revert the code that implemented the commands-queue insertion based on atomic operations. Once the proper atomic operations will be available in XEN the driver can be updated to include the patch. Remove the support for MSI and PCI ATS functionality as there is no support available in XEN on ARM to test the functionality. As of now only Stage-2 translation support has been tested. Stage-1 translation support is removed. Once Stage-1 translation support is tested code can be added. Code specific to Linux is removed from the driver to avoid dead code. Rahul Singh (8): xen/arm: Import the SMMUv3 driver from Linux xen/arm: revert atomic operation related command-queue insertion patch xen/arm: revert patch related to XArray xen/arm: Remove support for MSI on SMMUv3 xen/arm: Remove support for PCI ATS on SMMUv3 xen/arm: Remove support for Stage-1 translation on SMMUv3. xen/arm: Remove Linux specific code that is not usable in XEN xen/arm: Add support for SMMUv3 driver MAINTAINERS | 6 + SUPPORT.md | 1 + xen/drivers/passthrough/Kconfig | 10 + xen/drivers/passthrough/arm/Makefile | 1 + xen/drivers/passthrough/arm/smmu-v3.c | 2954 +++++++++++++++++++++++++ 5 files changed, 2972 insertions(+) create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c