From mboxrd@z Thu Jan 1 00:00:00 1970 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.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,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 4F9D1C433B4 for ; Fri, 7 May 2021 10:23:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2FE936145D for ; Fri, 7 May 2021 10:23:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236427AbhEGKYY (ORCPT ); Fri, 7 May 2021 06:24:24 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:18344 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234369AbhEGKXk (ORCPT ); Fri, 7 May 2021 06:23:40 -0400 Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4Fc5zk2XKnzCqmK; Fri, 7 May 2021 18:20:02 +0800 (CST) Received: from DESKTOP-5IS4806.china.huawei.com (10.174.187.224) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Fri, 7 May 2021 18:22:30 +0800 From: Keqian Zhu To: , , , Robin Murphy , "Will Deacon" , Joerg Roedel , "Jean-Philippe Brucker" , Lu Baolu , "Yi Sun" , Tian Kevin CC: Alex Williamson , Kirti Wankhede , Cornelia Huck , Jonathan Cameron , , , , Subject: [RFC PATCH v4 00/13] iommu/smmuv3: Implement hardware dirty log tracking Date: Fri, 7 May 2021 18:21:58 +0800 Message-ID: <20210507102211.8836-1-zhukeqian1@huawei.com> X-Mailer: git-send-email 2.8.4.windows.1 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.187.224] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Robin, Will and everyone, I think this series is relative mature now, please give your valuable suggestions, thanks! This patch series is split from the series[1] that containes both IOMMU part and VFIO part. The VFIO part will be sent out in another series. [1] https://lore.kernel.org/linux-iommu/20210310090614.26668-1-zhukeqian1@huawei.com/ changelog: v4: - Modify the framework as suggested by Baolu, thanks! - Add trace for iommu ops. - Extract io-pgtable part. v3: - Merge start_dirty_log and stop_dirty_log into switch_dirty_log. (Yi Sun) - Maintain the dirty log status in iommu_domain. - Update commit message to make patch easier to review. v2: - Address all comments of RFC version, thanks for all of you ;-) - Add a bugfix that start dirty log for newly added dma ranges and domain. Hi everyone, This patch series introduces a framework of iommu dirty log tracking, and smmuv3 realizes this framework. This new feature can be used by VFIO dma dirty tracking. Intention: Some types of IOMMU are capable of tracking DMA dirty log, such as ARM SMMU with HTTU or Intel IOMMU with SLADE. This introduces the dirty log tracking framework in the IOMMU base layer. Three new essential interfaces are added, and we maintaince the status of dirty log tracking in iommu_domain. 1. iommu_switch_dirty_log: Perform actions to start|stop dirty log tracking 2. iommu_sync_dirty_log: Sync dirty log from IOMMU into a dirty bitmap 3. iommu_clear_dirty_log: Clear dirty log of IOMMU by a mask bitmap About SMMU HTTU: HTTU (Hardware Translation Table Update) is a feature of ARM SMMUv3, it can update access flag or/and dirty state of the TTD (Translation Table Descriptor) by hardware. With HTTU, stage1 TTD is classified into 3 types: DBM bit AP[2](readonly bit) 1. writable_clean 1 1 2. writable_dirty 1 0 3. readonly 0 1 If HTTU_HD (manage dirty state) is enabled, smmu can change TTD from writable_clean to writable_dirty. Then software can scan TTD to sync dirty state into dirty bitmap. With this feature, we can track the dirty log of DMA continuously and precisely. About this series: Patch 1-3:Introduce dirty log tracking framework in the IOMMU base layer, and two common interfaces that can be used by many types of iommu. Patch 4-6: Add feature detection for smmu HTTU and enable HTTU for smmu stage1 mapping. And add feature detection for smmu BBML. We need to split block mapping when start dirty log tracking and merge page mapping when stop dirty log tracking, which requires break-before-make procedure. But it might cause problems when the TTD is alive. The I/O streams might not tolerate translation faults. So BBML should be used. Patch 7-12: We implement these interfaces for arm smmuv3. Thanks, Keqian Jean-Philippe Brucker (1): iommu/arm-smmu-v3: Add support for Hardware Translation Table Update Keqian Zhu (1): iommu: Introduce dirty log tracking framework Kunkun Jiang (11): iommu/io-pgtable-arm: Add quirk ARM_HD and ARM_BBMLx iommu/io-pgtable-arm: Add and realize split_block ops iommu/io-pgtable-arm: Add and realize merge_page ops iommu/io-pgtable-arm: Add and realize sync_dirty_log ops iommu/io-pgtable-arm: Add and realize clear_dirty_log ops iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping iommu/arm-smmu-v3: Add feature detection for BBML iommu/arm-smmu-v3: Realize switch_dirty_log iommu ops iommu/arm-smmu-v3: Realize sync_dirty_log iommu ops iommu/arm-smmu-v3: Realize clear_dirty_log iommu ops iommu/arm-smmu-v3: Realize support_dirty_log iommu ops .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 2 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 268 +++++++++++- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 14 + drivers/iommu/io-pgtable-arm.c | 389 +++++++++++++++++- drivers/iommu/iommu.c | 206 +++++++++- include/linux/io-pgtable.h | 23 ++ include/linux/iommu.h | 65 +++ include/trace/events/iommu.h | 63 +++ 8 files changed, 1026 insertions(+), 4 deletions(-) -- 2.19.1 From mboxrd@z Thu Jan 1 00:00:00 1970 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.8 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 CA25EC43460 for ; Fri, 7 May 2021 10:22:49 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 4862F613F0 for ; Fri, 7 May 2021 10:22:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4862F613F0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id D02DB843E4; Fri, 7 May 2021 10:22:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O9LfrRtstgzf; Fri, 7 May 2021 10:22:47 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp1.osuosl.org (Postfix) with ESMTP id 8AB93843A0; Fri, 7 May 2021 10:22:47 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 64778C0011; Fri, 7 May 2021 10:22:47 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id B55BDC0001 for ; Fri, 7 May 2021 10:22:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 9547240002 for ; Fri, 7 May 2021 10:22:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hdGgq0X0WB72 for ; Fri, 7 May 2021 10:22:43 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35]) by smtp2.osuosl.org (Postfix) with ESMTPS id E3D0840143 for ; Fri, 7 May 2021 10:22:42 +0000 (UTC) Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4Fc5zk2XKnzCqmK; Fri, 7 May 2021 18:20:02 +0800 (CST) Received: from DESKTOP-5IS4806.china.huawei.com (10.174.187.224) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Fri, 7 May 2021 18:22:30 +0800 From: Keqian Zhu To: , , , Robin Murphy , "Will Deacon" , Joerg Roedel , "Jean-Philippe Brucker" , Lu Baolu , "Yi Sun" , Tian Kevin Subject: [RFC PATCH v4 00/13] iommu/smmuv3: Implement hardware dirty log tracking Date: Fri, 7 May 2021 18:21:58 +0800 Message-ID: <20210507102211.8836-1-zhukeqian1@huawei.com> X-Mailer: git-send-email 2.8.4.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.174.187.224] X-CFilter-Loop: Reflected Cc: jiangkunkun@huawei.com, Cornelia Huck , Kirti Wankhede , lushenming@huawei.com, Alex Williamson , wanghaibin.wang@huawei.com X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" SGkgUm9iaW4sIFdpbGwgYW5kIGV2ZXJ5b25lLAoKSSB0aGluayB0aGlzIHNlcmllcyBpcyByZWxh dGl2ZSBtYXR1cmUgbm93LCBwbGVhc2UgZ2l2ZSB5b3VyIHZhbHVhYmxlIHN1Z2dlc3Rpb25zLAp0 aGFua3MhCgoKVGhpcyBwYXRjaCBzZXJpZXMgaXMgc3BsaXQgZnJvbSB0aGUgc2VyaWVzWzFdIHRo YXQgY29udGFpbmVzIGJvdGggSU9NTVUgcGFydCBhbmQKVkZJTyBwYXJ0LiBUaGUgVkZJTyBwYXJ0 IHdpbGwgYmUgc2VudCBvdXQgaW4gYW5vdGhlciBzZXJpZXMuCgpbMV0gaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvbGludXgtaW9tbXUvMjAyMTAzMTAwOTA2MTQuMjY2NjgtMS16aHVrZXFpYW4xQGh1 YXdlaS5jb20vCgpjaGFuZ2Vsb2c6Cgp2NDoKIC0gTW9kaWZ5IHRoZSBmcmFtZXdvcmsgYXMgc3Vn Z2VzdGVkIGJ5IEJhb2x1LCB0aGFua3MhCiAtIEFkZCB0cmFjZSBmb3IgaW9tbXUgb3BzLgogLSBF eHRyYWN0IGlvLXBndGFibGUgcGFydC4KCnYzOgogLSBNZXJnZSBzdGFydF9kaXJ0eV9sb2cgYW5k IHN0b3BfZGlydHlfbG9nIGludG8gc3dpdGNoX2RpcnR5X2xvZy4gKFlpIFN1bikKIC0gTWFpbnRh aW4gdGhlIGRpcnR5IGxvZyBzdGF0dXMgaW4gaW9tbXVfZG9tYWluLgogLSBVcGRhdGUgY29tbWl0 IG1lc3NhZ2UgdG8gbWFrZSBwYXRjaCBlYXNpZXIgdG8gcmV2aWV3LgoKdjI6CiAtIEFkZHJlc3Mg YWxsIGNvbW1lbnRzIG9mIFJGQyB2ZXJzaW9uLCB0aGFua3MgZm9yIGFsbCBvZiB5b3UgOy0pCiAt IEFkZCBhIGJ1Z2ZpeCB0aGF0IHN0YXJ0IGRpcnR5IGxvZyBmb3IgbmV3bHkgYWRkZWQgZG1hIHJh bmdlcyBhbmQgZG9tYWluLgoKCgpIaSBldmVyeW9uZSwKClRoaXMgcGF0Y2ggc2VyaWVzIGludHJv ZHVjZXMgYSBmcmFtZXdvcmsgb2YgaW9tbXUgZGlydHkgbG9nIHRyYWNraW5nLCBhbmQgc21tdXYz CnJlYWxpemVzIHRoaXMgZnJhbWV3b3JrLiBUaGlzIG5ldyBmZWF0dXJlIGNhbiBiZSB1c2VkIGJ5 IFZGSU8gZG1hIGRpcnR5IHRyYWNraW5nLgoKSW50ZW50aW9u77yaCgpTb21lIHR5cGVzIG9mIElP TU1VIGFyZSBjYXBhYmxlIG9mIHRyYWNraW5nIERNQSBkaXJ0eSBsb2csIHN1Y2ggYXMKQVJNIFNN TVUgd2l0aCBIVFRVIG9yIEludGVsIElPTU1VIHdpdGggU0xBREUuIFRoaXMgaW50cm9kdWNlcyB0 aGUKZGlydHkgbG9nIHRyYWNraW5nIGZyYW1ld29yayBpbiB0aGUgSU9NTVUgYmFzZSBsYXllci4K ClRocmVlIG5ldyBlc3NlbnRpYWwgaW50ZXJmYWNlcyBhcmUgYWRkZWQsIGFuZCB3ZSBtYWludGFp bmNlIHRoZSBzdGF0dXMKb2YgZGlydHkgbG9nIHRyYWNraW5nIGluIGlvbW11X2RvbWFpbi4KMS4g aW9tbXVfc3dpdGNoX2RpcnR5X2xvZzogUGVyZm9ybSBhY3Rpb25zIHRvIHN0YXJ0fHN0b3AgZGly dHkgbG9nIHRyYWNraW5nCjIuIGlvbW11X3N5bmNfZGlydHlfbG9nOiBTeW5jIGRpcnR5IGxvZyBm cm9tIElPTU1VIGludG8gYSBkaXJ0eSBiaXRtYXAKMy4gaW9tbXVfY2xlYXJfZGlydHlfbG9nOiBD bGVhciBkaXJ0eSBsb2cgb2YgSU9NTVUgYnkgYSBtYXNrIGJpdG1hcAoKQWJvdXQgU01NVSBIVFRV OgoKSFRUVSAoSGFyZHdhcmUgVHJhbnNsYXRpb24gVGFibGUgVXBkYXRlKSBpcyBhIGZlYXR1cmUg b2YgQVJNIFNNTVV2MywgaXQgY2FuIHVwZGF0ZQphY2Nlc3MgZmxhZyBvci9hbmQgZGlydHkgc3Rh dGUgb2YgdGhlIFRURCAoVHJhbnNsYXRpb24gVGFibGUgRGVzY3JpcHRvcikgYnkgaGFyZHdhcmUu CldpdGggSFRUVSwgc3RhZ2UxIFRURCBpcyBjbGFzc2lmaWVkIGludG8gMyB0eXBlczoKICAgICAg ICAgICAgICAgICAgICAgICAgREJNIGJpdCAgICAgICAgICAgICBBUFsyXShyZWFkb25seSBiaXQp CjEuIHdyaXRhYmxlX2NsZWFuICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgMQoyLiB3 cml0YWJsZV9kaXJ0eSAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgIDAKMy4gcmVhZG9u bHkgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAxCgpJZiBIVFRVX0hEICht YW5hZ2UgZGlydHkgc3RhdGUpIGlzIGVuYWJsZWQsIHNtbXUgY2FuIGNoYW5nZSBUVEQgZnJvbSB3 cml0YWJsZV9jbGVhbiB0bwp3cml0YWJsZV9kaXJ0eS4gVGhlbiBzb2Z0d2FyZSBjYW4gc2NhbiBU VEQgdG8gc3luYyBkaXJ0eSBzdGF0ZSBpbnRvIGRpcnR5IGJpdG1hcC4gV2l0aAp0aGlzIGZlYXR1 cmUsIHdlIGNhbiB0cmFjayB0aGUgZGlydHkgbG9nIG9mIERNQSBjb250aW51b3VzbHkgYW5kIHBy ZWNpc2VseS4KCkFib3V0IHRoaXMgc2VyaWVzOgoKUGF0Y2ggMS0z77yaSW50cm9kdWNlIGRpcnR5 IGxvZyB0cmFja2luZyBmcmFtZXdvcmsgaW4gdGhlIElPTU1VIGJhc2UgbGF5ZXIsIGFuZCB0d28g Y29tbW9uCiAgICAgICAgICAgaW50ZXJmYWNlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IG1hbnkgdHlw ZXMgb2YgaW9tbXUuCgpQYXRjaCA0LTY6IEFkZCBmZWF0dXJlIGRldGVjdGlvbiBmb3Igc21tdSBI VFRVIGFuZCBlbmFibGUgSFRUVSBmb3Igc21tdSBzdGFnZTEgbWFwcGluZy4KICAgICAgICAgICBB bmQgYWRkIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBzbW11IEJCTUwuIFdlIG5lZWQgdG8gc3BsaXQg YmxvY2sgbWFwcGluZyB3aGVuCiAgICAgICAgICAgc3RhcnQgZGlydHkgbG9nIHRyYWNraW5nIGFu ZCBtZXJnZSBwYWdlIG1hcHBpbmcgd2hlbiBzdG9wIGRpcnR5IGxvZyB0cmFja2luZywKCQkgICB3 aGljaCByZXF1aXJlcyBicmVhay1iZWZvcmUtbWFrZSBwcm9jZWR1cmUuIEJ1dCBpdCBtaWdodCBj YXVzZSBwcm9ibGVtcyB3aGVuIHRoZQoJCSAgIFRURCBpcyBhbGl2ZS4gVGhlIEkvTyBzdHJlYW1z IG1pZ2h0IG5vdCB0b2xlcmF0ZSB0cmFuc2xhdGlvbiBmYXVsdHMuIFNvIEJCTUwKCQkgICBzaG91 bGQgYmUgdXNlZC4KClBhdGNoIDctMTI6IFdlIGltcGxlbWVudCB0aGVzZSBpbnRlcmZhY2VzIGZv ciBhcm0gc21tdXYzLgoKVGhhbmtzLApLZXFpYW4KCkplYW4tUGhpbGlwcGUgQnJ1Y2tlciAoMSk6 CiAgaW9tbXUvYXJtLXNtbXUtdjM6IEFkZCBzdXBwb3J0IGZvciBIYXJkd2FyZSBUcmFuc2xhdGlv biBUYWJsZSBVcGRhdGUKCktlcWlhbiBaaHUgKDEpOgogIGlvbW11OiBJbnRyb2R1Y2UgZGlydHkg bG9nIHRyYWNraW5nIGZyYW1ld29yawoKS3Vua3VuIEppYW5nICgxMSk6CiAgaW9tbXUvaW8tcGd0 YWJsZS1hcm06IEFkZCBxdWlyayBBUk1fSEQgYW5kIEFSTV9CQk1MeAogIGlvbW11L2lvLXBndGFi bGUtYXJtOiBBZGQgYW5kIHJlYWxpemUgc3BsaXRfYmxvY2sgb3BzCiAgaW9tbXUvaW8tcGd0YWJs ZS1hcm06IEFkZCBhbmQgcmVhbGl6ZSBtZXJnZV9wYWdlIG9wcwogIGlvbW11L2lvLXBndGFibGUt YXJtOiBBZGQgYW5kIHJlYWxpemUgc3luY19kaXJ0eV9sb2cgb3BzCiAgaW9tbXUvaW8tcGd0YWJs ZS1hcm06IEFkZCBhbmQgcmVhbGl6ZSBjbGVhcl9kaXJ0eV9sb2cgb3BzCiAgaW9tbXUvYXJtLXNt bXUtdjM6IEVuYWJsZSBIVFRVIGZvciBzdGFnZTEgd2l0aCBpby1wZ3RhYmxlIG1hcHBpbmcKICBp b21tdS9hcm0tc21tdS12MzogQWRkIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBCQk1MCiAgaW9tbXUv YXJtLXNtbXUtdjM6IFJlYWxpemUgc3dpdGNoX2RpcnR5X2xvZyBpb21tdSBvcHMKICBpb21tdS9h cm0tc21tdS12MzogUmVhbGl6ZSBzeW5jX2RpcnR5X2xvZyBpb21tdSBvcHMKICBpb21tdS9hcm0t c21tdS12MzogUmVhbGl6ZSBjbGVhcl9kaXJ0eV9sb2cgaW9tbXUgb3BzCiAgaW9tbXUvYXJtLXNt bXUtdjM6IFJlYWxpemUgc3VwcG9ydF9kaXJ0eV9sb2cgaW9tbXUgb3BzCgogLi4uL2lvbW11L2Fy bS9hcm0tc21tdS12My9hcm0tc21tdS12My1zdmEuYyAgIHwgICAyICsKIGRyaXZlcnMvaW9tbXUv YXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMgICB8IDI2OCArKysrKysrKysrKy0KIGRyaXZl cnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmggICB8ICAxNCArCiBkcml2ZXJz L2lvbW11L2lvLXBndGFibGUtYXJtLmMgICAgICAgICAgICAgICAgfCAzODkgKysrKysrKysrKysr KysrKystCiBkcml2ZXJzL2lvbW11L2lvbW11LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAy MDYgKysrKysrKysrLQogaW5jbHVkZS9saW51eC9pby1wZ3RhYmxlLmggICAgICAgICAgICAgICAg ICAgIHwgIDIzICsrCiBpbmNsdWRlL2xpbnV4L2lvbW11LmggICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNjUgKysrCiBpbmNsdWRlL3RyYWNlL2V2ZW50cy9pb21tdS5oICAgICAgICAgICAgICAg ICAgfCAgNjMgKysrCiA4IGZpbGVzIGNoYW5nZWQsIDEwMjYgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCi0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlvbW11IG1haWxpbmcgbGlzdAppb21tdUBsaXN0cy5saW51eC1mb3VuZGF0 aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5m by9pb21tdQ== From mboxrd@z Thu Jan 1 00:00:00 1970 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=-12.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 5ABC5C433B4 for ; Fri, 7 May 2021 10:24:43 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 D36C06145D for ; Fri, 7 May 2021 10:24:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D36C06145D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=XP4gcPwE7p6Uq5Y5lt+9diTebFPGS74DNwTKjswzsLw=; b=p0e8K9mew8dTLFZS2eLpMr9Y3k Y1Z/8RlXHBL4rmHVuHJ+rS1kJoMGAlWFA0z7SnfQno5MSRCyPjLakEHVu8DoGw2CRpJnMZ3PmPbsU 7dCewfFvcJPEmLP/IlfX1LJiVCgHGG7HUZ7eYysVnVUaSLaOWh1FveUfU84h/apEmZoHwDWTDH0Ru qNltvUnQr1lDxfQlP1AzaChv23rvGEduUL+kYXFTlKj+kWnImH7gV6S6w2h27vDtlV/FLxZMWQBRk aD+oF/ydwGkKOMh+gzeMHnXVUh7IabkXx9LNk8hcQBv8l2aRBMKB9EG6JcXHNoXDkGrptI9c05ves E/YjfcBQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lexdm-006nVV-74; Fri, 07 May 2021 10:23:26 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lexdD-006nNi-83 for linux-arm-kernel@desiato.infradead.org; Fri, 07 May 2021 10:22:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From:Sender:Reply-To: Content-ID:Content-Description:In-Reply-To:References; bh=fenJM5XgwpuHLMv4nMjYRPT8gCiLxEgzKhOHfrdozrU=; b=4ZPyqO/SNgaV0ilElpMRL1O1mT NNP5q+B/OeDGtHEsJZuuDbpviMsLGyNTcnRvm4CR0zDbaPaan3AnSNNY/WH4NAmw5y32uAlLv0y0H LyscYltMreAwdaTZQMPwxmj2l7iaiZ0u9CdtmkwfZbFW+vyWbkFsIX0dR3VNb4Q5FunTlK6PUmpBp KlO+XS6h3Arp+meU9ZHMeWS/0zbF5Gqb7u297LqZwNlwgC7APVzLUUJlRKK5/8N3+C2K//f/WyDQi 2RMDi1B1smPATSTS9nD69QWfIttHMaRMcUF/WLutCPYR4WcxKIJ46+c+k3HfO/aVUhGHkhFCu9la0 mTzUhy2A==; Received: from szxga07-in.huawei.com ([45.249.212.35]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lexd8-006m7P-Bf for linux-arm-kernel@lists.infradead.org; Fri, 07 May 2021 10:22:50 +0000 Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4Fc5zk2XKnzCqmK; Fri, 7 May 2021 18:20:02 +0800 (CST) Received: from DESKTOP-5IS4806.china.huawei.com (10.174.187.224) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Fri, 7 May 2021 18:22:30 +0800 From: Keqian Zhu To: , , , Robin Murphy , "Will Deacon" , Joerg Roedel , "Jean-Philippe Brucker" , Lu Baolu , "Yi Sun" , Tian Kevin CC: Alex Williamson , Kirti Wankhede , Cornelia Huck , Jonathan Cameron , , , , Subject: [RFC PATCH v4 00/13] iommu/smmuv3: Implement hardware dirty log tracking Date: Fri, 7 May 2021 18:21:58 +0800 Message-ID: <20210507102211.8836-1-zhukeqian1@huawei.com> X-Mailer: git-send-email 2.8.4.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.174.187.224] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_032246_760712_FAEA3C2B X-CRM114-Status: GOOD ( 13.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgUm9iaW4sIFdpbGwgYW5kIGV2ZXJ5b25lLAoKSSB0aGluayB0aGlzIHNlcmllcyBpcyByZWxh dGl2ZSBtYXR1cmUgbm93LCBwbGVhc2UgZ2l2ZSB5b3VyIHZhbHVhYmxlIHN1Z2dlc3Rpb25zLAp0 aGFua3MhCgoKVGhpcyBwYXRjaCBzZXJpZXMgaXMgc3BsaXQgZnJvbSB0aGUgc2VyaWVzWzFdIHRo YXQgY29udGFpbmVzIGJvdGggSU9NTVUgcGFydCBhbmQKVkZJTyBwYXJ0LiBUaGUgVkZJTyBwYXJ0 IHdpbGwgYmUgc2VudCBvdXQgaW4gYW5vdGhlciBzZXJpZXMuCgpbMV0gaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvbGludXgtaW9tbXUvMjAyMTAzMTAwOTA2MTQuMjY2NjgtMS16aHVrZXFpYW4xQGh1 YXdlaS5jb20vCgpjaGFuZ2Vsb2c6Cgp2NDoKIC0gTW9kaWZ5IHRoZSBmcmFtZXdvcmsgYXMgc3Vn Z2VzdGVkIGJ5IEJhb2x1LCB0aGFua3MhCiAtIEFkZCB0cmFjZSBmb3IgaW9tbXUgb3BzLgogLSBF eHRyYWN0IGlvLXBndGFibGUgcGFydC4KCnYzOgogLSBNZXJnZSBzdGFydF9kaXJ0eV9sb2cgYW5k IHN0b3BfZGlydHlfbG9nIGludG8gc3dpdGNoX2RpcnR5X2xvZy4gKFlpIFN1bikKIC0gTWFpbnRh aW4gdGhlIGRpcnR5IGxvZyBzdGF0dXMgaW4gaW9tbXVfZG9tYWluLgogLSBVcGRhdGUgY29tbWl0 IG1lc3NhZ2UgdG8gbWFrZSBwYXRjaCBlYXNpZXIgdG8gcmV2aWV3LgoKdjI6CiAtIEFkZHJlc3Mg YWxsIGNvbW1lbnRzIG9mIFJGQyB2ZXJzaW9uLCB0aGFua3MgZm9yIGFsbCBvZiB5b3UgOy0pCiAt IEFkZCBhIGJ1Z2ZpeCB0aGF0IHN0YXJ0IGRpcnR5IGxvZyBmb3IgbmV3bHkgYWRkZWQgZG1hIHJh bmdlcyBhbmQgZG9tYWluLgoKCgpIaSBldmVyeW9uZSwKClRoaXMgcGF0Y2ggc2VyaWVzIGludHJv ZHVjZXMgYSBmcmFtZXdvcmsgb2YgaW9tbXUgZGlydHkgbG9nIHRyYWNraW5nLCBhbmQgc21tdXYz CnJlYWxpemVzIHRoaXMgZnJhbWV3b3JrLiBUaGlzIG5ldyBmZWF0dXJlIGNhbiBiZSB1c2VkIGJ5 IFZGSU8gZG1hIGRpcnR5IHRyYWNraW5nLgoKSW50ZW50aW9u77yaCgpTb21lIHR5cGVzIG9mIElP TU1VIGFyZSBjYXBhYmxlIG9mIHRyYWNraW5nIERNQSBkaXJ0eSBsb2csIHN1Y2ggYXMKQVJNIFNN TVUgd2l0aCBIVFRVIG9yIEludGVsIElPTU1VIHdpdGggU0xBREUuIFRoaXMgaW50cm9kdWNlcyB0 aGUKZGlydHkgbG9nIHRyYWNraW5nIGZyYW1ld29yayBpbiB0aGUgSU9NTVUgYmFzZSBsYXllci4K ClRocmVlIG5ldyBlc3NlbnRpYWwgaW50ZXJmYWNlcyBhcmUgYWRkZWQsIGFuZCB3ZSBtYWludGFp bmNlIHRoZSBzdGF0dXMKb2YgZGlydHkgbG9nIHRyYWNraW5nIGluIGlvbW11X2RvbWFpbi4KMS4g aW9tbXVfc3dpdGNoX2RpcnR5X2xvZzogUGVyZm9ybSBhY3Rpb25zIHRvIHN0YXJ0fHN0b3AgZGly dHkgbG9nIHRyYWNraW5nCjIuIGlvbW11X3N5bmNfZGlydHlfbG9nOiBTeW5jIGRpcnR5IGxvZyBm cm9tIElPTU1VIGludG8gYSBkaXJ0eSBiaXRtYXAKMy4gaW9tbXVfY2xlYXJfZGlydHlfbG9nOiBD bGVhciBkaXJ0eSBsb2cgb2YgSU9NTVUgYnkgYSBtYXNrIGJpdG1hcAoKQWJvdXQgU01NVSBIVFRV OgoKSFRUVSAoSGFyZHdhcmUgVHJhbnNsYXRpb24gVGFibGUgVXBkYXRlKSBpcyBhIGZlYXR1cmUg b2YgQVJNIFNNTVV2MywgaXQgY2FuIHVwZGF0ZQphY2Nlc3MgZmxhZyBvci9hbmQgZGlydHkgc3Rh dGUgb2YgdGhlIFRURCAoVHJhbnNsYXRpb24gVGFibGUgRGVzY3JpcHRvcikgYnkgaGFyZHdhcmUu CldpdGggSFRUVSwgc3RhZ2UxIFRURCBpcyBjbGFzc2lmaWVkIGludG8gMyB0eXBlczoKICAgICAg ICAgICAgICAgICAgICAgICAgREJNIGJpdCAgICAgICAgICAgICBBUFsyXShyZWFkb25seSBiaXQp CjEuIHdyaXRhYmxlX2NsZWFuICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgMQoyLiB3 cml0YWJsZV9kaXJ0eSAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgIDAKMy4gcmVhZG9u bHkgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAxCgpJZiBIVFRVX0hEICht YW5hZ2UgZGlydHkgc3RhdGUpIGlzIGVuYWJsZWQsIHNtbXUgY2FuIGNoYW5nZSBUVEQgZnJvbSB3 cml0YWJsZV9jbGVhbiB0bwp3cml0YWJsZV9kaXJ0eS4gVGhlbiBzb2Z0d2FyZSBjYW4gc2NhbiBU VEQgdG8gc3luYyBkaXJ0eSBzdGF0ZSBpbnRvIGRpcnR5IGJpdG1hcC4gV2l0aAp0aGlzIGZlYXR1 cmUsIHdlIGNhbiB0cmFjayB0aGUgZGlydHkgbG9nIG9mIERNQSBjb250aW51b3VzbHkgYW5kIHBy ZWNpc2VseS4KCkFib3V0IHRoaXMgc2VyaWVzOgoKUGF0Y2ggMS0z77yaSW50cm9kdWNlIGRpcnR5 IGxvZyB0cmFja2luZyBmcmFtZXdvcmsgaW4gdGhlIElPTU1VIGJhc2UgbGF5ZXIsIGFuZCB0d28g Y29tbW9uCiAgICAgICAgICAgaW50ZXJmYWNlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IG1hbnkgdHlw ZXMgb2YgaW9tbXUuCgpQYXRjaCA0LTY6IEFkZCBmZWF0dXJlIGRldGVjdGlvbiBmb3Igc21tdSBI VFRVIGFuZCBlbmFibGUgSFRUVSBmb3Igc21tdSBzdGFnZTEgbWFwcGluZy4KICAgICAgICAgICBB bmQgYWRkIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBzbW11IEJCTUwuIFdlIG5lZWQgdG8gc3BsaXQg YmxvY2sgbWFwcGluZyB3aGVuCiAgICAgICAgICAgc3RhcnQgZGlydHkgbG9nIHRyYWNraW5nIGFu ZCBtZXJnZSBwYWdlIG1hcHBpbmcgd2hlbiBzdG9wIGRpcnR5IGxvZyB0cmFja2luZywKCQkgICB3 aGljaCByZXF1aXJlcyBicmVhay1iZWZvcmUtbWFrZSBwcm9jZWR1cmUuIEJ1dCBpdCBtaWdodCBj YXVzZSBwcm9ibGVtcyB3aGVuIHRoZQoJCSAgIFRURCBpcyBhbGl2ZS4gVGhlIEkvTyBzdHJlYW1z IG1pZ2h0IG5vdCB0b2xlcmF0ZSB0cmFuc2xhdGlvbiBmYXVsdHMuIFNvIEJCTUwKCQkgICBzaG91 bGQgYmUgdXNlZC4KClBhdGNoIDctMTI6IFdlIGltcGxlbWVudCB0aGVzZSBpbnRlcmZhY2VzIGZv ciBhcm0gc21tdXYzLgoKVGhhbmtzLApLZXFpYW4KCkplYW4tUGhpbGlwcGUgQnJ1Y2tlciAoMSk6 CiAgaW9tbXUvYXJtLXNtbXUtdjM6IEFkZCBzdXBwb3J0IGZvciBIYXJkd2FyZSBUcmFuc2xhdGlv biBUYWJsZSBVcGRhdGUKCktlcWlhbiBaaHUgKDEpOgogIGlvbW11OiBJbnRyb2R1Y2UgZGlydHkg bG9nIHRyYWNraW5nIGZyYW1ld29yawoKS3Vua3VuIEppYW5nICgxMSk6CiAgaW9tbXUvaW8tcGd0 YWJsZS1hcm06IEFkZCBxdWlyayBBUk1fSEQgYW5kIEFSTV9CQk1MeAogIGlvbW11L2lvLXBndGFi bGUtYXJtOiBBZGQgYW5kIHJlYWxpemUgc3BsaXRfYmxvY2sgb3BzCiAgaW9tbXUvaW8tcGd0YWJs ZS1hcm06IEFkZCBhbmQgcmVhbGl6ZSBtZXJnZV9wYWdlIG9wcwogIGlvbW11L2lvLXBndGFibGUt YXJtOiBBZGQgYW5kIHJlYWxpemUgc3luY19kaXJ0eV9sb2cgb3BzCiAgaW9tbXUvaW8tcGd0YWJs ZS1hcm06IEFkZCBhbmQgcmVhbGl6ZSBjbGVhcl9kaXJ0eV9sb2cgb3BzCiAgaW9tbXUvYXJtLXNt bXUtdjM6IEVuYWJsZSBIVFRVIGZvciBzdGFnZTEgd2l0aCBpby1wZ3RhYmxlIG1hcHBpbmcKICBp b21tdS9hcm0tc21tdS12MzogQWRkIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBCQk1MCiAgaW9tbXUv YXJtLXNtbXUtdjM6IFJlYWxpemUgc3dpdGNoX2RpcnR5X2xvZyBpb21tdSBvcHMKICBpb21tdS9h cm0tc21tdS12MzogUmVhbGl6ZSBzeW5jX2RpcnR5X2xvZyBpb21tdSBvcHMKICBpb21tdS9hcm0t c21tdS12MzogUmVhbGl6ZSBjbGVhcl9kaXJ0eV9sb2cgaW9tbXUgb3BzCiAgaW9tbXUvYXJtLXNt bXUtdjM6IFJlYWxpemUgc3VwcG9ydF9kaXJ0eV9sb2cgaW9tbXUgb3BzCgogLi4uL2lvbW11L2Fy bS9hcm0tc21tdS12My9hcm0tc21tdS12My1zdmEuYyAgIHwgICAyICsKIGRyaXZlcnMvaW9tbXUv YXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMgICB8IDI2OCArKysrKysrKysrKy0KIGRyaXZl cnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmggICB8ICAxNCArCiBkcml2ZXJz L2lvbW11L2lvLXBndGFibGUtYXJtLmMgICAgICAgICAgICAgICAgfCAzODkgKysrKysrKysrKysr KysrKystCiBkcml2ZXJzL2lvbW11L2lvbW11LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAy MDYgKysrKysrKysrLQogaW5jbHVkZS9saW51eC9pby1wZ3RhYmxlLmggICAgICAgICAgICAgICAg ICAgIHwgIDIzICsrCiBpbmNsdWRlL2xpbnV4L2lvbW11LmggICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNjUgKysrCiBpbmNsdWRlL3RyYWNlL2V2ZW50cy9pb21tdS5oICAgICAgICAgICAgICAg ICAgfCAgNjMgKysrCiA4IGZpbGVzIGNoYW5nZWQsIDEwMjYgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCi0tIAoyLjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==