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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1B57C433F5 for ; Thu, 30 Sep 2021 09:48:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 97F7A61361 for ; Thu, 30 Sep 2021 09:48:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349464AbhI3Jtx (ORCPT ); Thu, 30 Sep 2021 05:49:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:30685 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235763AbhI3Jtx (ORCPT ); Thu, 30 Sep 2021 05:49:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1632995290; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=Pmla94xqPHGpJ7bh8h0WOWM13r+8Dv0DsZoVbn6nTmY75FSHeX8xCLcgSl/u7dM/9xnxG/ 49D3jk16bR9OieZ7chJ+gs+NhrPiuekWigeg7AehgVaKRJe333SDSh28acTT/+doxY3aU4 tw5SSgkwnh+EhoZCX3LgkfY7Bz4o/To= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-440-ThiZfM3tOPCRyhJ0JccJvw-1; Thu, 30 Sep 2021 05:48:02 -0400 X-MC-Unique: ThiZfM3tOPCRyhJ0JccJvw-1 Received: by mail-wm1-f69.google.com with SMTP id n3-20020a7bcbc3000000b0030b68c4de38so1759747wmi.8 for ; Thu, 30 Sep 2021 02:48:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=iKfIpLB6He6ZDyF4a3tP5ejvA7+bMAGJXbLa6PgR6X5ZXZ3M2Uc9XwXbb6F61V30kI rvuMb6SYq0yYvOE6E1WAs04k/ZVNb6sFC0uWcEJtnlSMwuOr103LWWUjxS1kJKYjk7t6 j55p/ZWSL3/q9/NDf3JjI4bCUaHpGPHq13ZNoMAEoGVuRVq7ih6RzGg0/Hn+mX2Wypo5 uznxKfh0HK0xDwzAtJFQu+D7ExJ9LchpNvX8XZcw+7svn4WbXqbtYww4rXv6uPF9d+fc x3I/eS603uQeTVnmJhE5qz8KtZ8pk8DtsTwIIkXEYspPfmEheF1uHfT4RjVJfvmjzeZ0 QjOQ== X-Gm-Message-State: AOAM531nTVF8DyhUfnyDd18w7tQa0U0DQVPGEgl/gT1AHtkOiUPq8QqA lgfM7eOZXZA6W5aSNc9S/Oi2cA+gZoKa4DLaY72ULwOwCthhateKEcLiPqTTEPjAyZzAPXhCUZM +h6j43F6GLWB6cDhvQ8sClg== X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4994016wrs.271.1632995281422; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaDvcFZ2x9w+vQ0EkZIMR3CDNEjtRYvJj08zAq6M2jLFo3lEyLjpSfSP2fGPPBTZ+aX+mPiw== X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4993985wrs.271.1632995281178; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) Received: from ?IPv6:2a01:e0a:59e:9d80:527b:9dff:feef:3874? ([2a01:e0a:59e:9d80:527b:9dff:feef:3874]) by smtp.gmail.com with ESMTPSA id c18sm2430699wmb.27.2021.09.30.02.47.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Sep 2021 02:48:00 -0700 (PDT) Reply-To: eric.auger@redhat.com Subject: Re: [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node To: Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Jean-Philippe Brucker Cc: linuxarm@huawei.com, lorenzo.pieralisi@arm.com, joro@8bytes.org, robin.murphy@arm.com, will@kernel.org, wanghuiqiang@huawei.com, guohanjun@huawei.com, steven.price@arm.com, Sami.Mujawar@arm.com, jon@solid-run.com, yangyicong@huawei.com References: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> From: Eric Auger Message-ID: Date: Thu, 30 Sep 2021 11:47:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Hi Shameer, On 8/5/21 10:07 AM, Shameer Kolothum wrote: > Hi, > > The series adds support to IORT RMR nodes specified in IORT > Revision E.b -ARM DEN 0049E[0]. RMR nodes are used to describe > memory ranges that are used by endpoints and require a unity > mapping in SMMU. I used your series and RMRs to force a guest iommu (vSMMUv3 nested stage use case) to have a flat mapping for IOVAs within [0x8000000, 0x8100000] (matching MSI_IOVA_BASE and MSI_IOVA_LENGTH) used by the host to map MSI physical doorbells. That way when an assigned device protected by a vSMMUv3 implemented upon nested stage issues an MSI transaction, let's say using IOVA=0x8000000, we would get:                     S1 (guest)           S2 (host) 0x8000000            0x8000000            Physical DB This method was suggested by Jean-Philippe (added in CC) and it simplifies the nested stage integration because we don't have to care about nested stage MSI bindings. However if I understand correctly we cannot define a range of SIDs using the same RMR (due to the single mapping bit which must be set, Table 5 flags format). This is a spec restriction and not an issue with your series. As VFIO devices can be hot-plugged we thus need to create as many RMR nodes as potential BDFs, leading to 256 * 6 = 1536 RMR nodes if you have 5 pcie root ports as it is usual in VMs. Then this causes some trouble at qemu level for instance, wrt migration. See [RFC] hw/arm/virt-acpi-build: Add IORT RMR regions to handle MSI nested binding. Do you know if there is a plan to remove the single mapping limitation in the spec? Thanks Eric > > We have faced issues with 3408iMR RAID controller cards which > fail to boot when SMMU is enabled. This is because these > controllers make use of host memory for various caching related > purposes and when SMMU is enabled the iMR firmware fails to > access these memory regions as there is no mapping for them. > IORT RMR provides a way for UEFI to describe and report these > memory regions so that the kernel can make a unity mapping for > these in SMMU. > > Change History: > > v6 --> v7 > > The only change from v6 is the fix pointed out by Steve to > the SMMUv2 SMR bypass install in patch #8. > > Thanks to the Tested-by tags by Laurentiu with SMMUv2 and > Hanjun/Huiqiang with SMMUv3 for v6. I haven't added the tags > yet as the series still needs more review[1]. > > Feedback and tests on this series is very much appreciated. > > v5 --> v6 > - Addressed comments from Robin & Lorenzo. > : Moved iort_parse_rmr() to acpi_iort_init() from > iort_init_platform_devices(). > : Removed use of struct iort_rmr_entry during the initial > parse. Using struct iommu_resv_region instead. > : Report RMR address alignment and overlap errors, but continue. > : Reworked arm_smmu_init_bypass_stes() (patch # 6). > - Updated SMMUv2 bypass SMR code. Thanks to Jon N (patch #8). > - Set IOMMU protection flags(IOMMU_CACHE, IOMMU_MMIO) based > on Type of RMR region. Suggested by Jon N. > > Thanks, > Shameer > [0] https://developer.arm.com/documentation/den0049/latest/ > [1] https://lore.kernel.org/linux-acpi/20210716083442.1708-1-shameerali.kolothum.thodi@huawei.com/T/#m043c95b869973a834b2fd57f3e1ed0325c84f3b7 > ------ > v4 --> v5 > -Added a fw_data union to struct iommu_resv_region and removed > struct iommu_rmr (Based on comments from Joerg/Robin). > -Added iommu_put_rmrs() to release mem. > -Thanks to Steve for verifying on SMMUv2, but not added the Tested-by > yet because of the above changes. > > v3 -->v4 > -Included the SMMUv2 SMR bypass install changes suggested by > Steve(patch #7) > -As per Robin's comments, RMR reserve implementation is now > more generic (patch #8) and dropped v3 patches 8 and 10. > -Rebase to 5.13-rc1 > > RFC v2 --> v3 > -Dropped RFC tag as the ACPICA header changes are now ready to be > part of 5.13[0]. But this series still has a dependency on that patch. > -Added IORT E.b related changes(node flags, _DSM function 5 checks for > PCIe). > -Changed RMR to stream id mapping from M:N to M:1 as per the spec and > discussion here[1]. > -Last two patches add support for SMMUv2(Thanks to Jon Nettleton!) > ------ > > Jon Nettleton (1): > iommu/arm-smmu: Get associated RMR info and install bypass SMR > > Shameer Kolothum (8): > iommu: Introduce a union to struct iommu_resv_region > ACPI/IORT: Add support for RMR node parsing > iommu/dma: Introduce generic helper to retrieve RMR info > ACPI/IORT: Add a helper to retrieve RMR memory regions > iommu/arm-smmu-v3: Introduce strtab init helper > iommu/arm-smmu-v3: Refactor arm_smmu_init_bypass_stes() to force > bypass > iommu/arm-smmu-v3: Get associated RMR info and install bypass STE > iommu/dma: Reserve any RMR regions associated with a dev > > drivers/acpi/arm64/iort.c | 172 +++++++++++++++++++- > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 76 +++++++-- > drivers/iommu/arm/arm-smmu/arm-smmu.c | 48 ++++++ > drivers/iommu/dma-iommu.c | 89 +++++++++- > include/linux/acpi_iort.h | 7 + > include/linux/dma-iommu.h | 13 ++ > include/linux/iommu.h | 11 ++ > 7 files changed, 393 insertions(+), 23 deletions(-) > 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD051C433EF for ; Thu, 30 Sep 2021 09:48:11 +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 5E30B61875 for ; Thu, 30 Sep 2021 09:48:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 5E30B61875 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 1C965840A8; Thu, 30 Sep 2021 09:48:11 +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 baKh7NuX03jK; Thu, 30 Sep 2021 09:48:10 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id D097F8406C; Thu, 30 Sep 2021 09:48:09 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 95308C000F; Thu, 30 Sep 2021 09:48:09 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id DBA76C000D for ; Thu, 30 Sep 2021 09:48:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id BC06640154 for ; Thu, 30 Sep 2021 09:48:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com 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 x0lC7MM_uONc for ; Thu, 30 Sep 2021 09:48:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 10A6F400DD for ; Thu, 30 Sep 2021 09:48:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1632995285; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=eRA6rNDbfXQ+CHQ4prJEGkj3iHFbsP44iYL+I2aLayIdDWaLxQ7lav6x5n+rSoYOw+PnOH pZRSVB60HmUk+kTvvvD510ug4S+547lEdgc9qMZhRq3Y93jnNkdamItdfo6FeKSldbqS3c j752mrlFkM7YdROCFpV956uxh3dhMWA= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-102-hYkGxI6vMy257GJq23dlUA-1; Thu, 30 Sep 2021 05:48:02 -0400 X-MC-Unique: hYkGxI6vMy257GJq23dlUA-1 Received: by mail-wm1-f71.google.com with SMTP id 75-20020a1c004e000000b00307b9b32cc9so883022wma.1 for ; Thu, 30 Sep 2021 02:48:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=a2cA2iDZrpFRl+zAtR6pzxon5w7lJq63R78hJ+nMEQEDiEs3zZxqZNA1RUD4EZ4XHf tmm6Ii8pW5jcyp29VzsKessN22rA9acg2M4mGE0L7lzx4DKnr4pJ8QtSSSqwNM7ZR1k4 pkWv3yXcRaSQB4lsMSi2xn7S4bQLIHRBKtyL4eEYRuGfBk808HWXW1qNtViS0Xi97le9 iK8wm3beeIFuFGizbuh1ALodP94PCLv350PBVrI7yMc92HAmUttv56LwXH98abO3Saoa W2ddsw4yxv124lMd7UFl8ErVSkKfVu1WjilolGlq9FNSUmgHIPpMyQfKz+VeUNEJSvQz +X5A== X-Gm-Message-State: AOAM531S+KpGLJj7HvKRLpACKX8LVdNJMFLmfFKQ0EOlpiT2qYWfgLNQ iy4nOaZMhlOh/shV/dGAQVsf+NQFq8JMiRpxUeDAP98cnIhi7crq36dmWGKFwWwkgXhIstAV6KY tC1kVnxfnu3jkLwyZGlE6kHQI82bQvw== X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4994005wrs.271.1632995281421; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaDvcFZ2x9w+vQ0EkZIMR3CDNEjtRYvJj08zAq6M2jLFo3lEyLjpSfSP2fGPPBTZ+aX+mPiw== X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4993985wrs.271.1632995281178; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) Received: from ?IPv6:2a01:e0a:59e:9d80:527b:9dff:feef:3874? ([2a01:e0a:59e:9d80:527b:9dff:feef:3874]) by smtp.gmail.com with ESMTPSA id c18sm2430699wmb.27.2021.09.30.02.47.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Sep 2021 02:48:00 -0700 (PDT) Subject: Re: [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node To: Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Jean-Philippe Brucker References: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> From: Eric Auger Message-ID: Date: Thu, 30 Sep 2021 11:47:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=eric.auger@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Cc: robin.murphy@arm.com, jon@solid-run.com, linuxarm@huawei.com, steven.price@arm.com, guohanjun@huawei.com, yangyicong@huawei.com, Sami.Mujawar@arm.com, will@kernel.org, wanghuiqiang@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: , Reply-To: eric.auger@redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" SGkgU2hhbWVlciwKCk9uIDgvNS8yMSAxMDowNyBBTSwgU2hhbWVlciBLb2xvdGh1bSB3cm90ZToK PiBIaSwKPgo+IFRoZSBzZXJpZXMgYWRkcyBzdXBwb3J0IHRvIElPUlQgUk1SIG5vZGVzIHNwZWNp ZmllZCBpbiBJT1JUCj4gUmV2aXNpb24gRS5iIC1BUk0gREVOIDAwNDlFWzBdLiBSTVIgbm9kZXMg YXJlIHVzZWQgdG8gZGVzY3JpYmUKPiBtZW1vcnkgcmFuZ2VzIHRoYXQgYXJlIHVzZWQgYnkgZW5k cG9pbnRzIGFuZCByZXF1aXJlIGEgdW5pdHkKPiBtYXBwaW5nIGluIFNNTVUuCgpJIHVzZWQgeW91 ciBzZXJpZXMgYW5kIFJNUnMgdG8gZm9yY2UgYSBndWVzdCBpb21tdSAodlNNTVV2MyBuZXN0ZWQg c3RhZ2UKdXNlIGNhc2UpIHRvIGhhdmUgYSBmbGF0IG1hcHBpbmcgZm9yIElPVkFzIHdpdGhpbiBb MHg4MDAwMDAwLCAweDgxMDAwMDBdCihtYXRjaGluZyBNU0lfSU9WQV9CQVNFIGFuZCBNU0lfSU9W QV9MRU5HVEgpIHVzZWQgYnkgdGhlIGhvc3QgdG8gbWFwIE1TSQpwaHlzaWNhbCBkb29yYmVsbHMu CgpUaGF0IHdheSB3aGVuIGFuIGFzc2lnbmVkIGRldmljZSBwcm90ZWN0ZWQgYnkgYSB2U01NVXYz IGltcGxlbWVudGVkIHVwb24KbmVzdGVkIHN0YWdlIGlzc3VlcyBhbiBNU0kgdHJhbnNhY3Rpb24s IGxldCdzIHNheSB1c2luZyBJT1ZBPTB4ODAwMDAwMCwKd2Ugd291bGQgZ2V0OgrCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIFMxIChndWVzdCkgwqDCoCDCoMKgwqAgwqDCoCBTMiAo aG9zdCkKMHg4MDAwMDAwwqDCoMKgIMKgwqDCoCDCoMKgwqAgMHg4MDAwMDAwwqDCoMKgIMKgwqDC oCDCoMKgwqAgUGh5c2ljYWwgREIKClRoaXMgbWV0aG9kIHdhcyBzdWdnZXN0ZWQgYnkgSmVhbi1Q aGlsaXBwZSAoYWRkZWQgaW4gQ0MpIGFuZCBpdApzaW1wbGlmaWVzIHRoZSBuZXN0ZWQgc3RhZ2Ug aW50ZWdyYXRpb24gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHRvIGNhcmUKYWJvdXQgbmVzdGVkIHN0 YWdlIE1TSSBiaW5kaW5ncy4KCkhvd2V2ZXIgaWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSB3ZSBj YW5ub3QgZGVmaW5lIGEgcmFuZ2Ugb2YgU0lEcyB1c2luZwp0aGUgc2FtZSBSTVIgKGR1ZSB0byB0 aGUgc2luZ2xlIG1hcHBpbmcgYml0IHdoaWNoIG11c3QgYmUgc2V0LCBUYWJsZSA1CmZsYWdzIGZv cm1hdCkuIFRoaXMgaXMgYSBzcGVjIHJlc3RyaWN0aW9uIGFuZCBub3QgYW4gaXNzdWUgd2l0aCB5 b3VyIHNlcmllcy4KCkFzIFZGSU8gZGV2aWNlcyBjYW4gYmUgaG90LXBsdWdnZWQgd2UgdGh1cyBu ZWVkIHRvIGNyZWF0ZSBhcyBtYW55IFJNUgpub2RlcyBhcyBwb3RlbnRpYWwgQkRGcywgbGVhZGlu ZyB0byAyNTYgKiA2ID0gMTUzNiBSTVIgbm9kZXMgaWYgeW91IGhhdmUKNSBwY2llIHJvb3QgcG9y dHMgYXMgaXQgaXMgdXN1YWwgaW4gVk1zLiBUaGVuIHRoaXMgY2F1c2VzIHNvbWUgdHJvdWJsZQph dCBxZW11IGxldmVsIGZvciBpbnN0YW5jZSwgd3J0IG1pZ3JhdGlvbi4gU2VlIFtSRkNdCmh3L2Fy bS92aXJ0LWFjcGktYnVpbGQ6IEFkZCBJT1JUIFJNUiByZWdpb25zIHRvIGhhbmRsZSBNU0kgbmVz dGVkIGJpbmRpbmcuCgpEbyB5b3Uga25vdyBpZiB0aGVyZSBpcyBhIHBsYW4gdG8gcmVtb3ZlIHRo ZSBzaW5nbGUgbWFwcGluZyBsaW1pdGF0aW9uCmluIHRoZSBzcGVjPwoKVGhhbmtzCgpFcmljCj4K PiBXZSBoYXZlIGZhY2VkIGlzc3VlcyB3aXRoIDM0MDhpTVIgUkFJRCBjb250cm9sbGVyIGNhcmRz IHdoaWNoCj4gZmFpbCB0byBib290IHdoZW4gU01NVSBpcyBlbmFibGVkLiBUaGlzIGlzIGJlY2F1 c2UgdGhlc2UKPiBjb250cm9sbGVycyBtYWtlIHVzZSBvZiBob3N0IG1lbW9yeSBmb3IgdmFyaW91 cyBjYWNoaW5nIHJlbGF0ZWQKPiBwdXJwb3NlcyBhbmQgd2hlbiBTTU1VIGlzIGVuYWJsZWQgdGhl IGlNUiBmaXJtd2FyZSBmYWlscyB0byAKPiBhY2Nlc3MgdGhlc2UgbWVtb3J5IHJlZ2lvbnMgYXMg dGhlcmUgaXMgbm8gbWFwcGluZyBmb3IgdGhlbS4KPiBJT1JUIFJNUiBwcm92aWRlcyBhIHdheSBm b3IgVUVGSSB0byBkZXNjcmliZSBhbmQgcmVwb3J0IHRoZXNlCj4gbWVtb3J5IHJlZ2lvbnMgc28g dGhhdCB0aGUga2VybmVsIGNhbiBtYWtlIGEgdW5pdHkgbWFwcGluZyBmb3IKPiB0aGVzZSBpbiBT TU1VLgo+Cj4gQ2hhbmdlIEhpc3Rvcnk6IAo+Cj4gdjYgLS0+IHY3Cj4KPiBUaGUgb25seSBjaGFu Z2UgZnJvbSB2NiBpcyB0aGUgZml4IHBvaW50ZWQgb3V0IGJ5IFN0ZXZlIHRvCj4gdGhlIFNNTVV2 MiBTTVIgYnlwYXNzIGluc3RhbGwgaW4gcGF0Y2ggIzguCj4KPiBUaGFua3MgdG8gdGhlIFRlc3Rl ZC1ieSB0YWdzIGJ5IExhdXJlbnRpdSB3aXRoIFNNTVV2MiBhbmQKPiBIYW5qdW4vSHVpcWlhbmcg d2l0aCBTTU1VdjMgZm9yIHY2LiBJIGhhdmVuJ3QgYWRkZWQgdGhlIHRhZ3MKPiB5ZXQgYXMgdGhl IHNlcmllcyBzdGlsbCBuZWVkcyBtb3JlIHJldmlld1sxXS4KPgo+IEZlZWRiYWNrIGFuZCB0ZXN0 cyBvbiB0aGlzIHNlcmllcyBpcyB2ZXJ5IG11Y2ggYXBwcmVjaWF0ZWQuCj4KPiB2NSAtLT4gdjYK PiAtIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIFJvYmluICYgTG9yZW56by4KPiAgIDogTW92ZWQg aW9ydF9wYXJzZV9ybXIoKSB0byBhY3BpX2lvcnRfaW5pdCgpIGZyb20KPiAgICAgaW9ydF9pbml0 X3BsYXRmb3JtX2RldmljZXMoKS4KPiAgIDogUmVtb3ZlZCB1c2Ugb2Ygc3RydWN0IGlvcnRfcm1y X2VudHJ5IGR1cmluZyB0aGUgaW5pdGlhbAo+ICAgICBwYXJzZS4gVXNpbmcgc3RydWN0IGlvbW11 X3Jlc3ZfcmVnaW9uIGluc3RlYWQuCj4gICA6IFJlcG9ydCBSTVIgYWRkcmVzcyBhbGlnbm1lbnQg YW5kIG92ZXJsYXAgZXJyb3JzLCBidXQgY29udGludWUuCj4gICA6IFJld29ya2VkIGFybV9zbW11 X2luaXRfYnlwYXNzX3N0ZXMoKSAocGF0Y2ggIyA2KS4KPiAtIFVwZGF0ZWQgU01NVXYyIGJ5cGFz cyBTTVIgY29kZS4gVGhhbmtzIHRvIEpvbiBOIChwYXRjaCAjOCkuCj4gLSBTZXQgSU9NTVUgcHJv dGVjdGlvbiBmbGFncyhJT01NVV9DQUNIRSwgSU9NTVVfTU1JTykgYmFzZWQKPiAgIG9uIFR5cGUg b2YgUk1SIHJlZ2lvbi4gU3VnZ2VzdGVkIGJ5IEpvbiBOLgo+Cj4gVGhhbmtzLAo+IFNoYW1lZXIK PiBbMF0gaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwNDkvbGF0 ZXN0Lwo+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hY3BpLzIwMjEwNzE2MDgz NDQyLjE3MDgtMS1zaGFtZWVyYWxpLmtvbG90aHVtLnRob2RpQGh1YXdlaS5jb20vVC8jbTA0M2M5 NWI4Njk5NzNhODM0YjJmZDU3ZjNlMWVkMDMyNWM4NGYzYjcKPiAtLS0tLS0KPiB2NCAtLT4gdjUK PiAgLUFkZGVkIGEgZndfZGF0YSB1bmlvbiB0byBzdHJ1Y3QgaW9tbXVfcmVzdl9yZWdpb24gYW5k IHJlbW92ZWQKPiAgIHN0cnVjdCBpb21tdV9ybXIgKEJhc2VkIG9uIGNvbW1lbnRzIGZyb20gSm9l cmcvUm9iaW4pLgo+ICAtQWRkZWQgaW9tbXVfcHV0X3JtcnMoKSB0byByZWxlYXNlIG1lbS4KPiAg LVRoYW5rcyB0byBTdGV2ZSBmb3IgdmVyaWZ5aW5nIG9uIFNNTVV2MiwgYnV0IG5vdCBhZGRlZCB0 aGUgVGVzdGVkLWJ5Cj4gICB5ZXQgYmVjYXVzZSBvZiB0aGUgYWJvdmUgY2hhbmdlcy4KPgo+IHYz IC0tPnY0Cj4gLUluY2x1ZGVkIHRoZSBTTU1VdjIgU01SIGJ5cGFzcyBpbnN0YWxsIGNoYW5nZXMg c3VnZ2VzdGVkIGJ5Cj4gIFN0ZXZlKHBhdGNoICM3KQo+IC1BcyBwZXIgUm9iaW4ncyBjb21tZW50 cywgUk1SIHJlc2VydmUgaW1wbGVtZW50YXRpb24gaXMgbm93Cj4gIG1vcmUgZ2VuZXJpYyAgKHBh dGNoICM4KSBhbmQgZHJvcHBlZCB2MyBwYXRjaGVzIDggYW5kIDEwLgo+IC1SZWJhc2UgdG8gNS4x My1yYzEKPgo+IFJGQyB2MiAtLT4gdjMKPiAgLURyb3BwZWQgUkZDIHRhZyBhcyB0aGUgQUNQSUNB IGhlYWRlciBjaGFuZ2VzIGFyZSBub3cgcmVhZHkgdG8gYmUKPiAgIHBhcnQgb2YgNS4xM1swXS4g QnV0IHRoaXMgc2VyaWVzIHN0aWxsIGhhcyBhIGRlcGVuZGVuY3kgb24gdGhhdCBwYXRjaC4KPiAg LUFkZGVkIElPUlQgRS5iIHJlbGF0ZWQgY2hhbmdlcyhub2RlIGZsYWdzLCBfRFNNIGZ1bmN0aW9u IDUgY2hlY2tzIGZvcgo+ICAgUENJZSkuCj4gIC1DaGFuZ2VkIFJNUiB0byBzdHJlYW0gaWQgbWFw cGluZyBmcm9tIE06TiB0byBNOjEgYXMgcGVyIHRoZSBzcGVjIGFuZAo+ICAgZGlzY3Vzc2lvbiBo ZXJlWzFdLgo+ICAtTGFzdCB0d28gcGF0Y2hlcyBhZGQgc3VwcG9ydCBmb3IgU01NVXYyKFRoYW5r cyB0byBKb24gTmV0dGxldG9uISkKPiAtLS0tLS0KPgo+IEpvbiBOZXR0bGV0b24gKDEpOgo+ICAg aW9tbXUvYXJtLXNtbXU6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFz cyBTTVIKPgo+IFNoYW1lZXIgS29sb3RodW0gKDgpOgo+ICAgaW9tbXU6IEludHJvZHVjZSBhIHVu aW9uIHRvIHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbgo+ICAgQUNQSS9JT1JUOiBBZGQgc3VwcG9y dCBmb3IgUk1SIG5vZGUgcGFyc2luZwo+ICAgaW9tbXUvZG1hOiBJbnRyb2R1Y2UgZ2VuZXJpYyBo ZWxwZXIgdG8gcmV0cmlldmUgUk1SIGluZm8KPiAgIEFDUEkvSU9SVDogQWRkIGEgaGVscGVyIHRv IHJldHJpZXZlIFJNUiBtZW1vcnkgcmVnaW9ucwo+ICAgaW9tbXUvYXJtLXNtbXUtdjM6IEludHJv ZHVjZSBzdHJ0YWIgaW5pdCBoZWxwZXIKPiAgIGlvbW11L2FybS1zbW11LXYzOiBSZWZhY3RvcsKg YXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIHRvIGZvcmNlCj4gICAgIGJ5cGFzcwo+ICAgaW9t bXUvYXJtLXNtbXUtdjM6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFz cyBTVEUKPiAgIGlvbW11L2RtYTogUmVzZXJ2ZSBhbnkgUk1SIHJlZ2lvbnMgYXNzb2NpYXRlZCB3 aXRoIGEgZGV2Cj4KPiAgZHJpdmVycy9hY3BpL2FybTY0L2lvcnQuYyAgICAgICAgICAgICAgICAg ICB8IDE3MiArKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21t dS12My9hcm0tc21tdS12My5jIHwgIDc2ICsrKysrKystLQo+ICBkcml2ZXJzL2lvbW11L2FybS9h cm0tc21tdS9hcm0tc21tdS5jICAgICAgIHwgIDQ4ICsrKysrKwo+ICBkcml2ZXJzL2lvbW11L2Rt YS1pb21tdS5jICAgICAgICAgICAgICAgICAgIHwgIDg5ICsrKysrKysrKy0KPiAgaW5jbHVkZS9s aW51eC9hY3BpX2lvcnQuaCAgICAgICAgICAgICAgICAgICB8ICAgNyArCj4gIGluY2x1ZGUvbGlu dXgvZG1hLWlvbW11LmggICAgICAgICAgICAgICAgICAgfCAgMTMgKysKPiAgaW5jbHVkZS9saW51 eC9pb21tdS5oICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArKwo+ICA3IGZpbGVzIGNoYW5n ZWQsIDM5MyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFpbGluZyBsaXN0CmlvbW11 QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9u Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A066AC433EF for ; Thu, 30 Sep 2021 09:49:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 68F6261131 for ; Thu, 30 Sep 2021 09:49:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 68F6261131 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date :Message-ID:From:References:Cc:To:Subject:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cGCCHZMIKzHzIRucrvExMyFkRvrh6s9jCqnMgYUTnSM=; b=UbKTIfKjb7L6vN Rxbf7Q7yraxmBU4hGMovRNmkA7WAggTMwTLc7jvfw0M7KvO3AMZAWfn/Cu1TWhIinXa2Q7/qRzBXe KLyjhhN7THx05Cobl+z89ycWj0WIv/FEsVbp8Jn+N+gC/CWiAL/E45NOJ4x6gQrYVTPF9admLkAhl GDWFhRfArmL70Ek3wQRLsc9OeZ6ynYHHI0h7r1S24E88RZ3ImbTc/nQxCk4iirl2/I5tfbaRqdXgj zkTq9/1tcuED1htG6JTjEgyLnDXlDO6cCpMJt9bwgbIIL5XnESkvDxF1H8rbCWjezOVpoCvs5TUhJ xcYzgSpM+KfELPne448w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVsfl-00DckN-NB; Thu, 30 Sep 2021 09:48:13 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVsfg-00Dci7-5V for linux-arm-kernel@lists.infradead.org; Thu, 30 Sep 2021 09:48:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1632995285; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=eRA6rNDbfXQ+CHQ4prJEGkj3iHFbsP44iYL+I2aLayIdDWaLxQ7lav6x5n+rSoYOw+PnOH pZRSVB60HmUk+kTvvvD510ug4S+547lEdgc9qMZhRq3Y93jnNkdamItdfo6FeKSldbqS3c j752mrlFkM7YdROCFpV956uxh3dhMWA= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-454-pYcThuksNASwITUVurNe-A-1; Thu, 30 Sep 2021 05:48:03 -0400 X-MC-Unique: pYcThuksNASwITUVurNe-A-1 Received: by mail-wm1-f71.google.com with SMTP id r2-20020a7bc082000000b0030d2ab5c3a7so767668wmh.1 for ; Thu, 30 Sep 2021 02:48:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=AkERdnxjQvWX8y2vZWvMiljBX7L/3S/wCVIkI75JXx8=; b=Avf52urz2Xd79pmGOtViFrDHsTBCG3FCCOo/wDPLn9YW5M6HWdkCbnDMPpYOBn60+B fHx4KW5O4vQfwP0SUtCLERaQKcSuw38jGIfu/L2bADz4AfrPud4zGFu6uWyZ9jB+H5xG HoPa/XKBVncKVHsmwjCcIYS+H0bZU+8726/kd9R78IzTcryQIU0zBXWGfm6k8FzheyOc lXwkfRjupi2vPlCBZyrEt1UcuQOthHznyF+EEQ0ds55KDAJrOwVLucr35iDImlLBW23p /yLK10VwhKc/8fm0WvGgKK0lhpNi3lgZOGMTO6Lr/dmti/Tsq2KkITNKuGAqPSn7LmX9 OOXg== X-Gm-Message-State: AOAM532F+VUV82O4Llf8p1zxuMiW90QrLdSJ6UiOwLWV64aep/ITRJ1G FAdfa9rW9LI89VGonw60qBw2WMf0padpAad+8cp8lOA5jcmVP8/7BxJbjl+3DEdD5FRGYycGesx Jz9nzSq4QrnXNs7TUKNCzjUIXUMndWPD76+8= X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4994013wrs.271.1632995281422; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaDvcFZ2x9w+vQ0EkZIMR3CDNEjtRYvJj08zAq6M2jLFo3lEyLjpSfSP2fGPPBTZ+aX+mPiw== X-Received: by 2002:a5d:4a4e:: with SMTP id v14mr4993985wrs.271.1632995281178; Thu, 30 Sep 2021 02:48:01 -0700 (PDT) Received: from ?IPv6:2a01:e0a:59e:9d80:527b:9dff:feef:3874? ([2a01:e0a:59e:9d80:527b:9dff:feef:3874]) by smtp.gmail.com with ESMTPSA id c18sm2430699wmb.27.2021.09.30.02.47.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Sep 2021 02:48:00 -0700 (PDT) Subject: Re: [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node To: Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Jean-Philippe Brucker Cc: linuxarm@huawei.com, lorenzo.pieralisi@arm.com, joro@8bytes.org, robin.murphy@arm.com, will@kernel.org, wanghuiqiang@huawei.com, guohanjun@huawei.com, steven.price@arm.com, Sami.Mujawar@arm.com, jon@solid-run.com, yangyicong@huawei.com References: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> From: Eric Auger Message-ID: Date: Thu, 30 Sep 2021 11:47:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210805080724.480-1-shameerali.kolothum.thodi@huawei.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=eric.auger@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210930_024808_314034_F228948F X-CRM114-Status: GOOD ( 36.34 ) 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: , Reply-To: eric.auger@redhat.com 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 SGkgU2hhbWVlciwKCk9uIDgvNS8yMSAxMDowNyBBTSwgU2hhbWVlciBLb2xvdGh1bSB3cm90ZToK PiBIaSwKPgo+IFRoZSBzZXJpZXMgYWRkcyBzdXBwb3J0IHRvIElPUlQgUk1SIG5vZGVzIHNwZWNp ZmllZCBpbiBJT1JUCj4gUmV2aXNpb24gRS5iIC1BUk0gREVOIDAwNDlFWzBdLiBSTVIgbm9kZXMg YXJlIHVzZWQgdG8gZGVzY3JpYmUKPiBtZW1vcnkgcmFuZ2VzIHRoYXQgYXJlIHVzZWQgYnkgZW5k cG9pbnRzIGFuZCByZXF1aXJlIGEgdW5pdHkKPiBtYXBwaW5nIGluIFNNTVUuCgpJIHVzZWQgeW91 ciBzZXJpZXMgYW5kIFJNUnMgdG8gZm9yY2UgYSBndWVzdCBpb21tdSAodlNNTVV2MyBuZXN0ZWQg c3RhZ2UKdXNlIGNhc2UpIHRvIGhhdmUgYSBmbGF0IG1hcHBpbmcgZm9yIElPVkFzIHdpdGhpbiBb MHg4MDAwMDAwLCAweDgxMDAwMDBdCihtYXRjaGluZyBNU0lfSU9WQV9CQVNFIGFuZCBNU0lfSU9W QV9MRU5HVEgpIHVzZWQgYnkgdGhlIGhvc3QgdG8gbWFwIE1TSQpwaHlzaWNhbCBkb29yYmVsbHMu CgpUaGF0IHdheSB3aGVuIGFuIGFzc2lnbmVkIGRldmljZSBwcm90ZWN0ZWQgYnkgYSB2U01NVXYz IGltcGxlbWVudGVkIHVwb24KbmVzdGVkIHN0YWdlIGlzc3VlcyBhbiBNU0kgdHJhbnNhY3Rpb24s IGxldCdzIHNheSB1c2luZyBJT1ZBPTB4ODAwMDAwMCwKd2Ugd291bGQgZ2V0OgrCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIFMxIChndWVzdCkgwqDCoCDCoMKgwqAgwqDCoCBTMiAo aG9zdCkKMHg4MDAwMDAwwqDCoMKgIMKgwqDCoCDCoMKgwqAgMHg4MDAwMDAwwqDCoMKgIMKgwqDC oCDCoMKgwqAgUGh5c2ljYWwgREIKClRoaXMgbWV0aG9kIHdhcyBzdWdnZXN0ZWQgYnkgSmVhbi1Q aGlsaXBwZSAoYWRkZWQgaW4gQ0MpIGFuZCBpdApzaW1wbGlmaWVzIHRoZSBuZXN0ZWQgc3RhZ2Ug aW50ZWdyYXRpb24gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHRvIGNhcmUKYWJvdXQgbmVzdGVkIHN0 YWdlIE1TSSBiaW5kaW5ncy4KCkhvd2V2ZXIgaWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSB3ZSBj YW5ub3QgZGVmaW5lIGEgcmFuZ2Ugb2YgU0lEcyB1c2luZwp0aGUgc2FtZSBSTVIgKGR1ZSB0byB0 aGUgc2luZ2xlIG1hcHBpbmcgYml0IHdoaWNoIG11c3QgYmUgc2V0LCBUYWJsZSA1CmZsYWdzIGZv cm1hdCkuIFRoaXMgaXMgYSBzcGVjIHJlc3RyaWN0aW9uIGFuZCBub3QgYW4gaXNzdWUgd2l0aCB5 b3VyIHNlcmllcy4KCkFzIFZGSU8gZGV2aWNlcyBjYW4gYmUgaG90LXBsdWdnZWQgd2UgdGh1cyBu ZWVkIHRvIGNyZWF0ZSBhcyBtYW55IFJNUgpub2RlcyBhcyBwb3RlbnRpYWwgQkRGcywgbGVhZGlu ZyB0byAyNTYgKiA2ID0gMTUzNiBSTVIgbm9kZXMgaWYgeW91IGhhdmUKNSBwY2llIHJvb3QgcG9y dHMgYXMgaXQgaXMgdXN1YWwgaW4gVk1zLiBUaGVuIHRoaXMgY2F1c2VzIHNvbWUgdHJvdWJsZQph dCBxZW11IGxldmVsIGZvciBpbnN0YW5jZSwgd3J0IG1pZ3JhdGlvbi4gU2VlIFtSRkNdCmh3L2Fy bS92aXJ0LWFjcGktYnVpbGQ6IEFkZCBJT1JUIFJNUiByZWdpb25zIHRvIGhhbmRsZSBNU0kgbmVz dGVkIGJpbmRpbmcuCgpEbyB5b3Uga25vdyBpZiB0aGVyZSBpcyBhIHBsYW4gdG8gcmVtb3ZlIHRo ZSBzaW5nbGUgbWFwcGluZyBsaW1pdGF0aW9uCmluIHRoZSBzcGVjPwoKVGhhbmtzCgpFcmljCj4K PiBXZSBoYXZlIGZhY2VkIGlzc3VlcyB3aXRoIDM0MDhpTVIgUkFJRCBjb250cm9sbGVyIGNhcmRz IHdoaWNoCj4gZmFpbCB0byBib290IHdoZW4gU01NVSBpcyBlbmFibGVkLiBUaGlzIGlzIGJlY2F1 c2UgdGhlc2UKPiBjb250cm9sbGVycyBtYWtlIHVzZSBvZiBob3N0IG1lbW9yeSBmb3IgdmFyaW91 cyBjYWNoaW5nIHJlbGF0ZWQKPiBwdXJwb3NlcyBhbmQgd2hlbiBTTU1VIGlzIGVuYWJsZWQgdGhl IGlNUiBmaXJtd2FyZSBmYWlscyB0byAKPiBhY2Nlc3MgdGhlc2UgbWVtb3J5IHJlZ2lvbnMgYXMg dGhlcmUgaXMgbm8gbWFwcGluZyBmb3IgdGhlbS4KPiBJT1JUIFJNUiBwcm92aWRlcyBhIHdheSBm b3IgVUVGSSB0byBkZXNjcmliZSBhbmQgcmVwb3J0IHRoZXNlCj4gbWVtb3J5IHJlZ2lvbnMgc28g dGhhdCB0aGUga2VybmVsIGNhbiBtYWtlIGEgdW5pdHkgbWFwcGluZyBmb3IKPiB0aGVzZSBpbiBT TU1VLgo+Cj4gQ2hhbmdlIEhpc3Rvcnk6IAo+Cj4gdjYgLS0+IHY3Cj4KPiBUaGUgb25seSBjaGFu Z2UgZnJvbSB2NiBpcyB0aGUgZml4IHBvaW50ZWQgb3V0IGJ5IFN0ZXZlIHRvCj4gdGhlIFNNTVV2 MiBTTVIgYnlwYXNzIGluc3RhbGwgaW4gcGF0Y2ggIzguCj4KPiBUaGFua3MgdG8gdGhlIFRlc3Rl ZC1ieSB0YWdzIGJ5IExhdXJlbnRpdSB3aXRoIFNNTVV2MiBhbmQKPiBIYW5qdW4vSHVpcWlhbmcg d2l0aCBTTU1VdjMgZm9yIHY2LiBJIGhhdmVuJ3QgYWRkZWQgdGhlIHRhZ3MKPiB5ZXQgYXMgdGhl IHNlcmllcyBzdGlsbCBuZWVkcyBtb3JlIHJldmlld1sxXS4KPgo+IEZlZWRiYWNrIGFuZCB0ZXN0 cyBvbiB0aGlzIHNlcmllcyBpcyB2ZXJ5IG11Y2ggYXBwcmVjaWF0ZWQuCj4KPiB2NSAtLT4gdjYK PiAtIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIFJvYmluICYgTG9yZW56by4KPiAgIDogTW92ZWQg aW9ydF9wYXJzZV9ybXIoKSB0byBhY3BpX2lvcnRfaW5pdCgpIGZyb20KPiAgICAgaW9ydF9pbml0 X3BsYXRmb3JtX2RldmljZXMoKS4KPiAgIDogUmVtb3ZlZCB1c2Ugb2Ygc3RydWN0IGlvcnRfcm1y X2VudHJ5IGR1cmluZyB0aGUgaW5pdGlhbAo+ICAgICBwYXJzZS4gVXNpbmcgc3RydWN0IGlvbW11 X3Jlc3ZfcmVnaW9uIGluc3RlYWQuCj4gICA6IFJlcG9ydCBSTVIgYWRkcmVzcyBhbGlnbm1lbnQg YW5kIG92ZXJsYXAgZXJyb3JzLCBidXQgY29udGludWUuCj4gICA6IFJld29ya2VkIGFybV9zbW11 X2luaXRfYnlwYXNzX3N0ZXMoKSAocGF0Y2ggIyA2KS4KPiAtIFVwZGF0ZWQgU01NVXYyIGJ5cGFz cyBTTVIgY29kZS4gVGhhbmtzIHRvIEpvbiBOIChwYXRjaCAjOCkuCj4gLSBTZXQgSU9NTVUgcHJv dGVjdGlvbiBmbGFncyhJT01NVV9DQUNIRSwgSU9NTVVfTU1JTykgYmFzZWQKPiAgIG9uIFR5cGUg b2YgUk1SIHJlZ2lvbi4gU3VnZ2VzdGVkIGJ5IEpvbiBOLgo+Cj4gVGhhbmtzLAo+IFNoYW1lZXIK PiBbMF0gaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwNDkvbGF0 ZXN0Lwo+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hY3BpLzIwMjEwNzE2MDgz NDQyLjE3MDgtMS1zaGFtZWVyYWxpLmtvbG90aHVtLnRob2RpQGh1YXdlaS5jb20vVC8jbTA0M2M5 NWI4Njk5NzNhODM0YjJmZDU3ZjNlMWVkMDMyNWM4NGYzYjcKPiAtLS0tLS0KPiB2NCAtLT4gdjUK PiAgLUFkZGVkIGEgZndfZGF0YSB1bmlvbiB0byBzdHJ1Y3QgaW9tbXVfcmVzdl9yZWdpb24gYW5k IHJlbW92ZWQKPiAgIHN0cnVjdCBpb21tdV9ybXIgKEJhc2VkIG9uIGNvbW1lbnRzIGZyb20gSm9l cmcvUm9iaW4pLgo+ICAtQWRkZWQgaW9tbXVfcHV0X3JtcnMoKSB0byByZWxlYXNlIG1lbS4KPiAg LVRoYW5rcyB0byBTdGV2ZSBmb3IgdmVyaWZ5aW5nIG9uIFNNTVV2MiwgYnV0IG5vdCBhZGRlZCB0 aGUgVGVzdGVkLWJ5Cj4gICB5ZXQgYmVjYXVzZSBvZiB0aGUgYWJvdmUgY2hhbmdlcy4KPgo+IHYz IC0tPnY0Cj4gLUluY2x1ZGVkIHRoZSBTTU1VdjIgU01SIGJ5cGFzcyBpbnN0YWxsIGNoYW5nZXMg c3VnZ2VzdGVkIGJ5Cj4gIFN0ZXZlKHBhdGNoICM3KQo+IC1BcyBwZXIgUm9iaW4ncyBjb21tZW50 cywgUk1SIHJlc2VydmUgaW1wbGVtZW50YXRpb24gaXMgbm93Cj4gIG1vcmUgZ2VuZXJpYyAgKHBh dGNoICM4KSBhbmQgZHJvcHBlZCB2MyBwYXRjaGVzIDggYW5kIDEwLgo+IC1SZWJhc2UgdG8gNS4x My1yYzEKPgo+IFJGQyB2MiAtLT4gdjMKPiAgLURyb3BwZWQgUkZDIHRhZyBhcyB0aGUgQUNQSUNB IGhlYWRlciBjaGFuZ2VzIGFyZSBub3cgcmVhZHkgdG8gYmUKPiAgIHBhcnQgb2YgNS4xM1swXS4g QnV0IHRoaXMgc2VyaWVzIHN0aWxsIGhhcyBhIGRlcGVuZGVuY3kgb24gdGhhdCBwYXRjaC4KPiAg LUFkZGVkIElPUlQgRS5iIHJlbGF0ZWQgY2hhbmdlcyhub2RlIGZsYWdzLCBfRFNNIGZ1bmN0aW9u IDUgY2hlY2tzIGZvcgo+ICAgUENJZSkuCj4gIC1DaGFuZ2VkIFJNUiB0byBzdHJlYW0gaWQgbWFw cGluZyBmcm9tIE06TiB0byBNOjEgYXMgcGVyIHRoZSBzcGVjIGFuZAo+ICAgZGlzY3Vzc2lvbiBo ZXJlWzFdLgo+ICAtTGFzdCB0d28gcGF0Y2hlcyBhZGQgc3VwcG9ydCBmb3IgU01NVXYyKFRoYW5r cyB0byBKb24gTmV0dGxldG9uISkKPiAtLS0tLS0KPgo+IEpvbiBOZXR0bGV0b24gKDEpOgo+ICAg aW9tbXUvYXJtLXNtbXU6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFz cyBTTVIKPgo+IFNoYW1lZXIgS29sb3RodW0gKDgpOgo+ICAgaW9tbXU6IEludHJvZHVjZSBhIHVu aW9uIHRvIHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbgo+ICAgQUNQSS9JT1JUOiBBZGQgc3VwcG9y dCBmb3IgUk1SIG5vZGUgcGFyc2luZwo+ICAgaW9tbXUvZG1hOiBJbnRyb2R1Y2UgZ2VuZXJpYyBo ZWxwZXIgdG8gcmV0cmlldmUgUk1SIGluZm8KPiAgIEFDUEkvSU9SVDogQWRkIGEgaGVscGVyIHRv IHJldHJpZXZlIFJNUiBtZW1vcnkgcmVnaW9ucwo+ICAgaW9tbXUvYXJtLXNtbXUtdjM6IEludHJv ZHVjZSBzdHJ0YWIgaW5pdCBoZWxwZXIKPiAgIGlvbW11L2FybS1zbW11LXYzOiBSZWZhY3RvcsKg YXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIHRvIGZvcmNlCj4gICAgIGJ5cGFzcwo+ICAgaW9t bXUvYXJtLXNtbXUtdjM6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFz cyBTVEUKPiAgIGlvbW11L2RtYTogUmVzZXJ2ZSBhbnkgUk1SIHJlZ2lvbnMgYXNzb2NpYXRlZCB3 aXRoIGEgZGV2Cj4KPiAgZHJpdmVycy9hY3BpL2FybTY0L2lvcnQuYyAgICAgICAgICAgICAgICAg ICB8IDE3MiArKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21t dS12My9hcm0tc21tdS12My5jIHwgIDc2ICsrKysrKystLQo+ICBkcml2ZXJzL2lvbW11L2FybS9h cm0tc21tdS9hcm0tc21tdS5jICAgICAgIHwgIDQ4ICsrKysrKwo+ICBkcml2ZXJzL2lvbW11L2Rt YS1pb21tdS5jICAgICAgICAgICAgICAgICAgIHwgIDg5ICsrKysrKysrKy0KPiAgaW5jbHVkZS9s aW51eC9hY3BpX2lvcnQuaCAgICAgICAgICAgICAgICAgICB8ICAgNyArCj4gIGluY2x1ZGUvbGlu dXgvZG1hLWlvbW11LmggICAgICAgICAgICAgICAgICAgfCAgMTMgKysKPiAgaW5jbHVkZS9saW51 eC9pb21tdS5oICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArKwo+ICA3IGZpbGVzIGNoYW5n ZWQsIDM5MyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK