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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB4A7C433F5 for ; Fri, 11 Mar 2022 10:34:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347957AbiCKKfk (ORCPT ); Fri, 11 Mar 2022 05:35:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347953AbiCKKfe (ORCPT ); Fri, 11 Mar 2022 05:35:34 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E871D10241F for ; Fri, 11 Mar 2022 02:34:30 -0800 (PST) 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 6FA1D16A3; Fri, 11 Mar 2022 02:34:30 -0800 (PST) Received: from [10.57.43.199] (unknown [10.57.43.199]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5BC1E3F7D8; Fri, 11 Mar 2022 02:34:27 -0800 (PST) Message-ID: <8ecce421-e2ee-1a19-ae2d-a8454a8a5844@arm.com> Date: Fri, 11 Mar 2022 10:34:22 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH v8 00/11] ACPI/IORT: Support for IORT RMR node Content-Language: en-GB To: eric.auger@redhat.com, Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Ard Biesheuvel Cc: linuxarm@huawei.com, lorenzo.pieralisi@arm.com, joro@8bytes.org, 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: <20220221154344.2126-1-shameerali.kolothum.thodi@huawei.com> From: Robin Murphy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On 2022-03-11 08:19, Eric Auger wrote: > Hi guys, > > On 2/21/22 4:43 PM, Shameer Kolothum wrote: >> Hi, >> >> Since we now have an updated verion[0] of IORT spec(E.d) which >> addresses the memory attributes issues discussed here [1], >> this series now make use of it. >> >> The pull request for ACPICA E.d related changes are already >> raised and can be found here, >> https://github.com/acpica/acpica/pull/752 >> >> v7 --> v8 >> - Patch #1 has temp definitions for RMR related changes till >> the ACPICA header changes are part of kernel. >> - No early parsing of RMR node info and is only parsed at the >> time of use. >> - Changes to the RMR get/put API format compared to the >> previous version. >> - Support for RMR descriptor shared by multiple stream IDs. >> >> Please take a look and let me know your thoughts. >> >> Thanks, >> Shameer >> [0] https://developer.arm.com/documentation/den0049/ed/ > I still have a question on the IORT E.d spec (unrelated to this series). > > The spec mandates that if RMR nodes are presented in the IORT, > _DSM function #5 for the PCIe host bridge ACPI device object must return > 0, indicating the OS must honour the PCI config that the FW computed at > boot time. > > However implementing this _DSM #5 as above is known to prevent PCI > devices with IO ports from working, on aarch64 linux. > > " > The reason is that EFI creates I/O port mappings below >     0x1000 (in fact, at 0). However Linux, for legacy reasons, does not >     support I/O ports <= 0x1000 on PCI, so the I/O assignment created by EFI >     is rejected. > >     EFI creates the mappings primarily for itself, and up until DSM #5 >     started to be enforced, all PCI resource allocations that existed at >     boot were ignored by Linux and recreated from scratch. > " > > This is an excerpt of a qemu commit message that reverted the _DMS #5 > change (Revert "acpi/gpex: Inform os to keep firmware resource map"). > Has the situation changed since July 2021 (ie. has UEFI been reworked?). > [+ Ard] FWIW I wasn't aware of that, but if it's an issue then it will need to be fixed in Linux or UEFI's PCI resource code (arguably if UEFI has already allocated from the bottom of I/O space then Linux should be safe to assume that there are no legacy PC I/O resources to worry about). The DSM is required to prevent bus numbers being reassigned, because if that happens then any PCI StreamIDs referenced in IORT may suddenly become meaningless and the association of root complex nodes and RMRs to physical hardware lost. Robin. > Thank you in advance > > Regards > > Eric > > > > >> [1] https://lore.kernel.org/linux-acpi/20210805160319.GB23085@lpieralisi/ >> >> From old: >> 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 >> -fix pointed out by Steve to the SMMUv2 SMR bypass install in patch #8. >> >> 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. >> >> 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 (10): >> ACPI/IORT: Add temporary RMR node flag definitions >> iommu: Introduce a union to struct iommu_resv_region >> ACPI/IORT: Add helper functions to parse RMR nodes >> 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/arm-smmu-v3: Reserve any RMR regions associated with a dev >> iommu/arm-smmu: Reserve any RMR regions associated with a dev >> >> drivers/acpi/arm64/iort.c | 305 ++++++++++++++++++++ >> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 91 ++++-- >> drivers/iommu/arm/arm-smmu/arm-smmu.c | 65 ++++- >> drivers/iommu/dma-iommu.c | 25 ++ >> include/linux/acpi_iort.h | 14 + >> include/linux/dma-iommu.h | 14 + >> include/linux/iommu.h | 9 + >> 7 files changed, 504 insertions(+), 19 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id CCBC6C433EF for ; Fri, 11 Mar 2022 10:34:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 781DA817AF; Fri, 11 Mar 2022 10:34:35 +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 KWXC90uDbg7C; Fri, 11 Mar 2022 10:34:34 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id 213BB818A7; Fri, 11 Mar 2022 10:34:34 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E55B3C001D; Fri, 11 Mar 2022 10:34:33 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8F523C000B for ; Fri, 11 Mar 2022 10:34:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 7EF2941879 for ; Fri, 11 Mar 2022 10:34:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EMey4yYxkTn3 for ; Fri, 11 Mar 2022 10:34:31 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp4.osuosl.org (Postfix) with ESMTP id 17985402E0 for ; Fri, 11 Mar 2022 10:34: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 6FA1D16A3; Fri, 11 Mar 2022 02:34:30 -0800 (PST) Received: from [10.57.43.199] (unknown [10.57.43.199]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5BC1E3F7D8; Fri, 11 Mar 2022 02:34:27 -0800 (PST) Message-ID: <8ecce421-e2ee-1a19-ae2d-a8454a8a5844@arm.com> Date: Fri, 11 Mar 2022 10:34:22 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH v8 00/11] ACPI/IORT: Support for IORT RMR node Content-Language: en-GB To: eric.auger@redhat.com, Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Ard Biesheuvel References: <20220221154344.2126-1-shameerali.kolothum.thodi@huawei.com> From: Robin Murphy In-Reply-To: Cc: 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gMjAyMi0wMy0xMSAwODoxOSwgRXJpYyBBdWdlciB3cm90ZToKPiBIaSBndXlzLAo+IAo+IE9u IDIvMjEvMjIgNDo0MyBQTSwgU2hhbWVlciBLb2xvdGh1bSB3cm90ZToKPj4gSGksCj4+Cj4+IFNp bmNlIHdlIG5vdyBoYXZlIGFuIHVwZGF0ZWQgdmVyaW9uWzBdIG9mIElPUlQgc3BlYyhFLmQpIHdo aWNoCj4+IGFkZHJlc3NlcyB0aGUgbWVtb3J5IGF0dHJpYnV0ZXMgaXNzdWVzIGRpc2N1c3NlZCBo ZXJlIFsxXSwKPj4gdGhpcyBzZXJpZXMgbm93IG1ha2UgdXNlIG9mIGl0Lgo+Pgo+PiBUaGUgcHVs bCByZXF1ZXN0IGZvciBBQ1BJQ0EgRS5kIHJlbGF0ZWQgY2hhbmdlcyBhcmUgYWxyZWFkeQo+PiBy YWlzZWQgYW5kIGNhbiBiZSBmb3VuZCBoZXJlLAo+PiBodHRwczovL2dpdGh1Yi5jb20vYWNwaWNh L2FjcGljYS9wdWxsLzc1Mgo+Pgo+PiB2NyAtLT4gdjgKPj4gICAgLSBQYXRjaCAjMSBoYXMgdGVt cCBkZWZpbml0aW9ucyBmb3IgUk1SIHJlbGF0ZWQgY2hhbmdlcyB0aWxsCj4+ICAgICAgdGhlIEFD UElDQSBoZWFkZXIgY2hhbmdlcyBhcmUgcGFydCBvZiBrZXJuZWwuCj4+ICAgIC0gTm8gZWFybHkg cGFyc2luZyBvZiBSTVIgbm9kZSBpbmZvIGFuZCBpcyBvbmx5IHBhcnNlZCBhdCB0aGUKPj4gICAg ICB0aW1lIG9mIHVzZS4KPj4gICAgLSBDaGFuZ2VzIHRvIHRoZSBSTVIgZ2V0L3B1dCBBUEkgZm9y bWF0IGNvbXBhcmVkIHRvIHRoZQo+PiAgICAgIHByZXZpb3VzIHZlcnNpb24uCj4+ICAgIC0gU3Vw cG9ydCBmb3IgUk1SIGRlc2NyaXB0b3Igc2hhcmVkIGJ5IG11bHRpcGxlIHN0cmVhbSBJRHMuCj4+ Cj4+IFBsZWFzZSB0YWtlIGEgbG9vayBhbmQgbGV0IG1lIGtub3cgeW91ciB0aG91Z2h0cy4KPj4K Pj4gVGhhbmtzLAo+PiBTaGFtZWVyCj4+IFswXSBodHRwczovL2RldmVsb3Blci5hcm0uY29tL2Rv Y3VtZW50YXRpb24vZGVuMDA0OS9lZC8KPiBJIHN0aWxsIGhhdmUgYSBxdWVzdGlvbiBvbiB0aGUg SU9SVCBFLmQgc3BlYyAodW5yZWxhdGVkIHRvIHRoaXMgc2VyaWVzKS4KPiAKPiBUaGUgc3BlYyBt YW5kYXRlcyB0aGF0IGlmIFJNUiBub2RlcyBhcmUgcHJlc2VudGVkIGluIHRoZSBJT1JULAo+IF9E U00gZnVuY3Rpb24gIzUgZm9yIHRoZSBQQ0llIGhvc3QgYnJpZGdlIEFDUEkgZGV2aWNlIG9iamVj dCBtdXN0IHJldHVybgo+IDAsIGluZGljYXRpbmcgdGhlIE9TIG11c3QgaG9ub3VyIHRoZSBQQ0kg Y29uZmlnIHRoYXQgdGhlIEZXIGNvbXB1dGVkIGF0Cj4gYm9vdCB0aW1lLgo+IAo+IEhvd2V2ZXIg aW1wbGVtZW50aW5nIHRoaXMgX0RTTSAjNSBhcyBhYm92ZSBpcyBrbm93biB0byBwcmV2ZW50IFBD SQo+IGRldmljZXMgd2l0aCBJTyBwb3J0cyBmcm9tIHdvcmtpbmcsIG9uIGFhcmNoNjQgbGludXgu Cj4gCj4gIgo+IFRoZSByZWFzb24gaXMgdGhhdCBFRkkgY3JlYXRlcyBJL08gcG9ydCBtYXBwaW5n cyBiZWxvdwo+ICDCoMKgwqAgMHgxMDAwIChpbiBmYWN0LCBhdCAwKS4gSG93ZXZlciBMaW51eCwg Zm9yIGxlZ2FjeSByZWFzb25zLCBkb2VzIG5vdAo+ICDCoMKgwqAgc3VwcG9ydCBJL08gcG9ydHMg PD0gMHgxMDAwIG9uIFBDSSwgc28gdGhlIEkvTyBhc3NpZ25tZW50IGNyZWF0ZWQgYnkgRUZJCj4g IMKgwqDCoCBpcyByZWplY3RlZC4KPiAgICAgCj4gIMKgwqDCoCBFRkkgY3JlYXRlcyB0aGUgbWFw cGluZ3MgcHJpbWFyaWx5IGZvciBpdHNlbGYsIGFuZCB1cCB1bnRpbCBEU00gIzUKPiAgwqDCoMKg IHN0YXJ0ZWQgdG8gYmUgZW5mb3JjZWQsIGFsbCBQQ0kgcmVzb3VyY2UgYWxsb2NhdGlvbnMgdGhh dCBleGlzdGVkIGF0Cj4gIMKgwqDCoCBib290IHdlcmUgaWdub3JlZCBieSBMaW51eCBhbmQgcmVj cmVhdGVkIGZyb20gc2NyYXRjaC4KPiAiCj4gCj4gVGhpcyBpcyBhbiBleGNlcnB0IG9mIGEgcWVt dSBjb21taXQgbWVzc2FnZSB0aGF0IHJldmVydGVkIHRoZSBfRE1TICM1Cj4gY2hhbmdlIChSZXZl cnQgImFjcGkvZ3BleDogSW5mb3JtIG9zIHRvIGtlZXAgZmlybXdhcmUgcmVzb3VyY2UgbWFwIiku Cj4gSGFzIHRoZSBzaXR1YXRpb24gY2hhbmdlZCBzaW5jZSBKdWx5IDIwMjEgKGllLiBoYXMgVUVG SSBiZWVuIHJld29ya2VkPykuCj4gWysgQXJkXQoKRldJVyBJIHdhc24ndCBhd2FyZSBvZiB0aGF0 LCBidXQgaWYgaXQncyBhbiBpc3N1ZSB0aGVuIGl0IHdpbGwgbmVlZCB0byAKYmUgZml4ZWQgaW4g TGludXggb3IgVUVGSSdzIFBDSSByZXNvdXJjZSBjb2RlIChhcmd1YWJseSBpZiBVRUZJIGhhcyAK YWxyZWFkeSBhbGxvY2F0ZWQgZnJvbSB0aGUgYm90dG9tIG9mIEkvTyBzcGFjZSB0aGVuIExpbnV4 IHNob3VsZCBiZSBzYWZlIAp0byBhc3N1bWUgdGhhdCB0aGVyZSBhcmUgbm8gbGVnYWN5IFBDIEkv TyByZXNvdXJjZXMgdG8gd29ycnkgYWJvdXQpLiBUaGUgCkRTTSBpcyByZXF1aXJlZCB0byBwcmV2 ZW50IGJ1cyBudW1iZXJzIGJlaW5nIHJlYXNzaWduZWQsIGJlY2F1c2UgaWYgdGhhdCAKaGFwcGVu cyB0aGVuIGFueSBQQ0kgU3RyZWFtSURzIHJlZmVyZW5jZWQgaW4gSU9SVCBtYXkgc3VkZGVubHkg YmVjb21lIAptZWFuaW5nbGVzcyBhbmQgdGhlIGFzc29jaWF0aW9uIG9mIHJvb3QgY29tcGxleCBu b2RlcyBhbmQgUk1ScyB0byAKcGh5c2ljYWwgaGFyZHdhcmUgbG9zdC4KClJvYmluLgoKPiBUaGFu ayB5b3UgaW4gYWR2YW5jZQo+IAo+IFJlZ2FyZHMKPiAKPiBFcmljCj4gCj4gCj4gCj4gCj4+IFsx XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hY3BpLzIwMjEwODA1MTYwMzE5LkdCMjMw ODVAbHBpZXJhbGlzaS8KPj4KPj4gIEZyb20gb2xkOgo+PiBXZSBoYXZlIGZhY2VkIGlzc3VlcyB3 aXRoIDM0MDhpTVIgUkFJRCBjb250cm9sbGVyIGNhcmRzIHdoaWNoCj4+IGZhaWwgdG8gYm9vdCB3 aGVuIFNNTVUgaXMgZW5hYmxlZC4gVGhpcyBpcyBiZWNhdXNlIHRoZXNlCj4+IGNvbnRyb2xsZXJz IG1ha2UgdXNlIG9mIGhvc3QgbWVtb3J5IGZvciB2YXJpb3VzIGNhY2hpbmcgcmVsYXRlZAo+PiBw dXJwb3NlcyBhbmQgd2hlbiBTTU1VIGlzIGVuYWJsZWQgdGhlIGlNUiBmaXJtd2FyZSBmYWlscyB0 bwo+PiBhY2Nlc3MgdGhlc2UgbWVtb3J5IHJlZ2lvbnMgYXMgdGhlcmUgaXMgbm8gbWFwcGluZyBm b3IgdGhlbS4KPj4gSU9SVCBSTVIgcHJvdmlkZXMgYSB3YXkgZm9yIFVFRkkgdG8gZGVzY3JpYmUg YW5kIHJlcG9ydCB0aGVzZQo+PiBtZW1vcnkgcmVnaW9ucyBzbyB0aGF0IHRoZSBrZXJuZWwgY2Fu IG1ha2UgYSB1bml0eSBtYXBwaW5nIGZvcgo+PiB0aGVzZSBpbiBTTU1VLgo+Pgo+PiBDaGFuZ2Ug SGlzdG9yeToKPj4KPj4gdjYgLS0+IHY3Cj4+ICAgLWZpeCBwb2ludGVkIG91dCBieSBTdGV2ZSB0 byB0aGUgU01NVXYyIFNNUiBieXBhc3MgaW5zdGFsbCBpbiBwYXRjaCAjOC4KPj4KPj4gdjUgLS0+ IHY2Cj4+IC0gQWRkcmVzc2VkIGNvbW1lbnRzIGZyb20gUm9iaW4gJiBMb3JlbnpvLgo+PiAgICA6 IE1vdmVkIGlvcnRfcGFyc2Vfcm1yKCkgdG8gYWNwaV9pb3J0X2luaXQoKSBmcm9tCj4+ICAgICAg aW9ydF9pbml0X3BsYXRmb3JtX2RldmljZXMoKS4KPj4gICAgOiBSZW1vdmVkIHVzZSBvZiBzdHJ1 Y3QgaW9ydF9ybXJfZW50cnkgZHVyaW5nIHRoZSBpbml0aWFsCj4+ICAgICAgcGFyc2UuIFVzaW5n IHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbiBpbnN0ZWFkLgo+PiAgICA6IFJlcG9ydCBSTVIgYWRk cmVzcyBhbGlnbm1lbnQgYW5kIG92ZXJsYXAgZXJyb3JzLCBidXQgY29udGludWUuCj4+ICAgIDog UmV3b3JrZWQgYXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIChwYXRjaCAjIDYpLgo+PiAtIFVw ZGF0ZWQgU01NVXYyIGJ5cGFzcyBTTVIgY29kZS4gVGhhbmtzIHRvIEpvbiBOIChwYXRjaCAjOCku Cj4+IC0gU2V0IElPTU1VIHByb3RlY3Rpb24gZmxhZ3MoSU9NTVVfQ0FDSEUsIElPTU1VX01NSU8p IGJhc2VkCj4+ICAgIG9uIFR5cGUgb2YgUk1SIHJlZ2lvbi4gU3VnZ2VzdGVkIGJ5IEpvbiBOLgo+ Pgo+PiB2NCAtLT4gdjUKPj4gICAtQWRkZWQgYSBmd19kYXRhIHVuaW9uIHRvIHN0cnVjdCBpb21t dV9yZXN2X3JlZ2lvbiBhbmQgcmVtb3ZlZAo+PiAgICBzdHJ1Y3QgaW9tbXVfcm1yIChCYXNlZCBv biBjb21tZW50cyBmcm9tIEpvZXJnL1JvYmluKS4KPj4gICAtQWRkZWQgaW9tbXVfcHV0X3JtcnMo KSB0byByZWxlYXNlIG1lbS4KPj4gICAtVGhhbmtzIHRvIFN0ZXZlIGZvciB2ZXJpZnlpbmcgb24g U01NVXYyLCBidXQgbm90IGFkZGVkIHRoZSBUZXN0ZWQtYnkKPj4gICAgeWV0IGJlY2F1c2Ugb2Yg dGhlIGFib3ZlIGNoYW5nZXMuCj4+Cj4+IHYzIC0tPnY0Cj4+IC1JbmNsdWRlZCB0aGUgU01NVXYy IFNNUiBieXBhc3MgaW5zdGFsbCBjaGFuZ2VzIHN1Z2dlc3RlZCBieQo+PiAgIFN0ZXZlKHBhdGNo ICM3KQo+PiAtQXMgcGVyIFJvYmluJ3MgY29tbWVudHMsIFJNUiByZXNlcnZlIGltcGxlbWVudGF0 aW9uIGlzIG5vdwo+PiAgIG1vcmUgZ2VuZXJpYyAgKHBhdGNoICM4KSBhbmQgZHJvcHBlZCB2MyBw YXRjaGVzIDggYW5kIDEwLgo+PiAtUmViYXNlIHRvIDUuMTMtcmMxCj4+Cj4+IFJGQyB2MiAtLT4g djMKPj4gICAtRHJvcHBlZCBSRkMgdGFnIGFzIHRoZSBBQ1BJQ0EgaGVhZGVyIGNoYW5nZXMgYXJl IG5vdyByZWFkeSB0byBiZQo+PiAgICBwYXJ0IG9mIDUuMTNbMF0uIEJ1dCB0aGlzIHNlcmllcyBz dGlsbCBoYXMgYSBkZXBlbmRlbmN5IG9uIHRoYXQgcGF0Y2guCj4+ICAgLUFkZGVkIElPUlQgRS5i IHJlbGF0ZWQgY2hhbmdlcyhub2RlIGZsYWdzLCBfRFNNIGZ1bmN0aW9uIDUgY2hlY2tzIGZvcgo+ PiAgICBQQ0llKS4KPj4gICAtQ2hhbmdlZCBSTVIgdG8gc3RyZWFtIGlkIG1hcHBpbmcgZnJvbSBN Ok4gdG8gTToxIGFzIHBlciB0aGUgc3BlYyBhbmQKPj4gICAgZGlzY3Vzc2lvbiBoZXJlWzFdLgo+ PiAgIC1MYXN0IHR3byBwYXRjaGVzIGFkZCBzdXBwb3J0IGZvciBTTU1VdjIoVGhhbmtzIHRvIEpv biBOZXR0bGV0b24hKQo+Pgo+PiBKb24gTmV0dGxldG9uICgxKToKPj4gICAgaW9tbXUvYXJtLXNt bXU6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFzcyBTTVIKPj4KPj4g U2hhbWVlciBLb2xvdGh1bSAoMTApOgo+PiAgICBBQ1BJL0lPUlQ6IEFkZCB0ZW1wb3JhcnkgUk1S IG5vZGUgZmxhZyBkZWZpbml0aW9ucwo+PiAgICBpb21tdTogSW50cm9kdWNlIGEgdW5pb24gdG8g c3RydWN0IGlvbW11X3Jlc3ZfcmVnaW9uCj4+ICAgIEFDUEkvSU9SVDogQWRkIGhlbHBlciBmdW5j dGlvbnMgdG8gcGFyc2UgUk1SIG5vZGVzCj4+ICAgIGlvbW11L2RtYTogSW50cm9kdWNlIGdlbmVy aWMgaGVscGVyIHRvIHJldHJpZXZlIFJNUiBpbmZvCj4+ICAgIEFDUEkvSU9SVDogQWRkIGEgaGVs cGVyIHRvIHJldHJpZXZlIFJNUiBtZW1vcnkgcmVnaW9ucwo+PiAgICBpb21tdS9hcm0tc21tdS12 MzogSW50cm9kdWNlIHN0cnRhYiBpbml0IGhlbHBlcgo+PiAgICBpb21tdS9hcm0tc21tdS12Mzog UmVmYWN0b3IgYXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIHRvIGZvcmNlCj4+ICAgICAgYnlw YXNzCj4+ICAgIGlvbW11L2FybS1zbW11LXYzOiBHZXQgYXNzb2NpYXRlZCBSTVIgaW5mbyBhbmQg aW5zdGFsbCBieXBhc3MgU1RFCj4+ICAgIGlvbW11L2FybS1zbW11LXYzOiBSZXNlcnZlIGFueSBS TVIgcmVnaW9ucyBhc3NvY2lhdGVkIHdpdGggYSBkZXYKPj4gICAgaW9tbXUvYXJtLXNtbXU6IFJl c2VydmUgYW55IFJNUiByZWdpb25zIGFzc29jaWF0ZWQgd2l0aCBhIGRldgo+Pgo+PiAgIGRyaXZl cnMvYWNwaS9hcm02NC9pb3J0LmMgICAgICAgICAgICAgICAgICAgfCAzMDUgKysrKysrKysrKysr KysrKysrKysKPj4gICBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5j IHwgIDkxICsrKystLQo+PiAgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmMg ICAgICAgfCAgNjUgKysrKy0KPj4gICBkcml2ZXJzL2lvbW11L2RtYS1pb21tdS5jICAgICAgICAg ICAgICAgICAgIHwgIDI1ICsrCj4+ICAgaW5jbHVkZS9saW51eC9hY3BpX2lvcnQuaCAgICAgICAg ICAgICAgICAgICB8ICAxNCArCj4+ICAgaW5jbHVkZS9saW51eC9kbWEtaW9tbXUuaCAgICAgICAg ICAgICAgICAgICB8ICAxNCArCj4+ICAgaW5jbHVkZS9saW51eC9pb21tdS5oICAgICAgICAgICAg ICAgICAgICAgICB8ICAgOSArCj4+ICAgNyBmaWxlcyBjaGFuZ2VkLCA1MDQgaW5zZXJ0aW9ucygr KSwgMTkgZGVsZXRpb25zKC0pCj4+Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlvbW11IG1haWxpbmcgbGlzdAppb21tdUBsaXN0cy5saW51eC1mb3Vu ZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0 aW5mby9pb21tdQ== 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 64461C433F5 for ; Fri, 11 Mar 2022 10:35:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=xj9RuY08ZvrxX5EfODQzk8wJvJwYMjRwKXTAjBzJGQo=; b=G1QEZw89lGRgta swQEei9FoTqxkU6LiraRY9/62Msx+hzxTg7nskmjCmZIh02F88aOX0pivFSd21cP0JFceaydgMrFy cDYLrO3ROzUTV5r2vOtWFmttGw5kEfINjbtHz/u66dsooCjuBwzpgzngbG+Iu04q3he/GKoNeBlic /hZVmVlIQ/NnVnqaRMVsGr2QaD3kbz3yHnd2mI2dg1k58b9ViYI6GqWR7lJwlEzCbwQvLCxqVj9lO bzDT2DfYxSkjNH1vaS9FbJHhANznWXJ9K71qQEOHsv6I3xhlfRtQumRGA3T7+HlQNbbRxxg+4zHC0 9yMPZx3KUb2jLMifkyxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nScbV-00G1Go-1s; Fri, 11 Mar 2022 10:34:37 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nScbR-00G1FT-7p for linux-arm-kernel@lists.infradead.org; Fri, 11 Mar 2022 10:34:35 +0000 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 6FA1D16A3; Fri, 11 Mar 2022 02:34:30 -0800 (PST) Received: from [10.57.43.199] (unknown [10.57.43.199]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5BC1E3F7D8; Fri, 11 Mar 2022 02:34:27 -0800 (PST) Message-ID: <8ecce421-e2ee-1a19-ae2d-a8454a8a5844@arm.com> Date: Fri, 11 Mar 2022 10:34:22 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH v8 00/11] ACPI/IORT: Support for IORT RMR node Content-Language: en-GB To: eric.auger@redhat.com, Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Ard Biesheuvel Cc: linuxarm@huawei.com, lorenzo.pieralisi@arm.com, joro@8bytes.org, 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: <20220221154344.2126-1-shameerali.kolothum.thodi@huawei.com> From: Robin Murphy In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220311_023433_425566_5BD9457F X-CRM114-Status: GOOD ( 32.96 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMi0wMy0xMSAwODoxOSwgRXJpYyBBdWdlciB3cm90ZToKPiBIaSBndXlzLAo+IAo+IE9u IDIvMjEvMjIgNDo0MyBQTSwgU2hhbWVlciBLb2xvdGh1bSB3cm90ZToKPj4gSGksCj4+Cj4+IFNp bmNlIHdlIG5vdyBoYXZlIGFuIHVwZGF0ZWQgdmVyaW9uWzBdIG9mIElPUlQgc3BlYyhFLmQpIHdo aWNoCj4+IGFkZHJlc3NlcyB0aGUgbWVtb3J5IGF0dHJpYnV0ZXMgaXNzdWVzIGRpc2N1c3NlZCBo ZXJlIFsxXSwKPj4gdGhpcyBzZXJpZXMgbm93IG1ha2UgdXNlIG9mIGl0Lgo+Pgo+PiBUaGUgcHVs bCByZXF1ZXN0IGZvciBBQ1BJQ0EgRS5kIHJlbGF0ZWQgY2hhbmdlcyBhcmUgYWxyZWFkeQo+PiBy YWlzZWQgYW5kIGNhbiBiZSBmb3VuZCBoZXJlLAo+PiBodHRwczovL2dpdGh1Yi5jb20vYWNwaWNh L2FjcGljYS9wdWxsLzc1Mgo+Pgo+PiB2NyAtLT4gdjgKPj4gICAgLSBQYXRjaCAjMSBoYXMgdGVt cCBkZWZpbml0aW9ucyBmb3IgUk1SIHJlbGF0ZWQgY2hhbmdlcyB0aWxsCj4+ICAgICAgdGhlIEFD UElDQSBoZWFkZXIgY2hhbmdlcyBhcmUgcGFydCBvZiBrZXJuZWwuCj4+ICAgIC0gTm8gZWFybHkg cGFyc2luZyBvZiBSTVIgbm9kZSBpbmZvIGFuZCBpcyBvbmx5IHBhcnNlZCBhdCB0aGUKPj4gICAg ICB0aW1lIG9mIHVzZS4KPj4gICAgLSBDaGFuZ2VzIHRvIHRoZSBSTVIgZ2V0L3B1dCBBUEkgZm9y bWF0IGNvbXBhcmVkIHRvIHRoZQo+PiAgICAgIHByZXZpb3VzIHZlcnNpb24uCj4+ICAgIC0gU3Vw cG9ydCBmb3IgUk1SIGRlc2NyaXB0b3Igc2hhcmVkIGJ5IG11bHRpcGxlIHN0cmVhbSBJRHMuCj4+ Cj4+IFBsZWFzZSB0YWtlIGEgbG9vayBhbmQgbGV0IG1lIGtub3cgeW91ciB0aG91Z2h0cy4KPj4K Pj4gVGhhbmtzLAo+PiBTaGFtZWVyCj4+IFswXSBodHRwczovL2RldmVsb3Blci5hcm0uY29tL2Rv Y3VtZW50YXRpb24vZGVuMDA0OS9lZC8KPiBJIHN0aWxsIGhhdmUgYSBxdWVzdGlvbiBvbiB0aGUg SU9SVCBFLmQgc3BlYyAodW5yZWxhdGVkIHRvIHRoaXMgc2VyaWVzKS4KPiAKPiBUaGUgc3BlYyBt YW5kYXRlcyB0aGF0IGlmIFJNUiBub2RlcyBhcmUgcHJlc2VudGVkIGluIHRoZSBJT1JULAo+IF9E U00gZnVuY3Rpb24gIzUgZm9yIHRoZSBQQ0llIGhvc3QgYnJpZGdlIEFDUEkgZGV2aWNlIG9iamVj dCBtdXN0IHJldHVybgo+IDAsIGluZGljYXRpbmcgdGhlIE9TIG11c3QgaG9ub3VyIHRoZSBQQ0kg Y29uZmlnIHRoYXQgdGhlIEZXIGNvbXB1dGVkIGF0Cj4gYm9vdCB0aW1lLgo+IAo+IEhvd2V2ZXIg aW1wbGVtZW50aW5nIHRoaXMgX0RTTSAjNSBhcyBhYm92ZSBpcyBrbm93biB0byBwcmV2ZW50IFBD SQo+IGRldmljZXMgd2l0aCBJTyBwb3J0cyBmcm9tIHdvcmtpbmcsIG9uIGFhcmNoNjQgbGludXgu Cj4gCj4gIgo+IFRoZSByZWFzb24gaXMgdGhhdCBFRkkgY3JlYXRlcyBJL08gcG9ydCBtYXBwaW5n cyBiZWxvdwo+ICDCoMKgwqAgMHgxMDAwIChpbiBmYWN0LCBhdCAwKS4gSG93ZXZlciBMaW51eCwg Zm9yIGxlZ2FjeSByZWFzb25zLCBkb2VzIG5vdAo+ICDCoMKgwqAgc3VwcG9ydCBJL08gcG9ydHMg PD0gMHgxMDAwIG9uIFBDSSwgc28gdGhlIEkvTyBhc3NpZ25tZW50IGNyZWF0ZWQgYnkgRUZJCj4g IMKgwqDCoCBpcyByZWplY3RlZC4KPiAgICAgCj4gIMKgwqDCoCBFRkkgY3JlYXRlcyB0aGUgbWFw cGluZ3MgcHJpbWFyaWx5IGZvciBpdHNlbGYsIGFuZCB1cCB1bnRpbCBEU00gIzUKPiAgwqDCoMKg IHN0YXJ0ZWQgdG8gYmUgZW5mb3JjZWQsIGFsbCBQQ0kgcmVzb3VyY2UgYWxsb2NhdGlvbnMgdGhh dCBleGlzdGVkIGF0Cj4gIMKgwqDCoCBib290IHdlcmUgaWdub3JlZCBieSBMaW51eCBhbmQgcmVj cmVhdGVkIGZyb20gc2NyYXRjaC4KPiAiCj4gCj4gVGhpcyBpcyBhbiBleGNlcnB0IG9mIGEgcWVt dSBjb21taXQgbWVzc2FnZSB0aGF0IHJldmVydGVkIHRoZSBfRE1TICM1Cj4gY2hhbmdlIChSZXZl cnQgImFjcGkvZ3BleDogSW5mb3JtIG9zIHRvIGtlZXAgZmlybXdhcmUgcmVzb3VyY2UgbWFwIiku Cj4gSGFzIHRoZSBzaXR1YXRpb24gY2hhbmdlZCBzaW5jZSBKdWx5IDIwMjEgKGllLiBoYXMgVUVG SSBiZWVuIHJld29ya2VkPykuCj4gWysgQXJkXQoKRldJVyBJIHdhc24ndCBhd2FyZSBvZiB0aGF0 LCBidXQgaWYgaXQncyBhbiBpc3N1ZSB0aGVuIGl0IHdpbGwgbmVlZCB0byAKYmUgZml4ZWQgaW4g TGludXggb3IgVUVGSSdzIFBDSSByZXNvdXJjZSBjb2RlIChhcmd1YWJseSBpZiBVRUZJIGhhcyAK YWxyZWFkeSBhbGxvY2F0ZWQgZnJvbSB0aGUgYm90dG9tIG9mIEkvTyBzcGFjZSB0aGVuIExpbnV4 IHNob3VsZCBiZSBzYWZlIAp0byBhc3N1bWUgdGhhdCB0aGVyZSBhcmUgbm8gbGVnYWN5IFBDIEkv TyByZXNvdXJjZXMgdG8gd29ycnkgYWJvdXQpLiBUaGUgCkRTTSBpcyByZXF1aXJlZCB0byBwcmV2 ZW50IGJ1cyBudW1iZXJzIGJlaW5nIHJlYXNzaWduZWQsIGJlY2F1c2UgaWYgdGhhdCAKaGFwcGVu cyB0aGVuIGFueSBQQ0kgU3RyZWFtSURzIHJlZmVyZW5jZWQgaW4gSU9SVCBtYXkgc3VkZGVubHkg YmVjb21lIAptZWFuaW5nbGVzcyBhbmQgdGhlIGFzc29jaWF0aW9uIG9mIHJvb3QgY29tcGxleCBu b2RlcyBhbmQgUk1ScyB0byAKcGh5c2ljYWwgaGFyZHdhcmUgbG9zdC4KClJvYmluLgoKPiBUaGFu ayB5b3UgaW4gYWR2YW5jZQo+IAo+IFJlZ2FyZHMKPiAKPiBFcmljCj4gCj4gCj4gCj4gCj4+IFsx XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hY3BpLzIwMjEwODA1MTYwMzE5LkdCMjMw ODVAbHBpZXJhbGlzaS8KPj4KPj4gIEZyb20gb2xkOgo+PiBXZSBoYXZlIGZhY2VkIGlzc3VlcyB3 aXRoIDM0MDhpTVIgUkFJRCBjb250cm9sbGVyIGNhcmRzIHdoaWNoCj4+IGZhaWwgdG8gYm9vdCB3 aGVuIFNNTVUgaXMgZW5hYmxlZC4gVGhpcyBpcyBiZWNhdXNlIHRoZXNlCj4+IGNvbnRyb2xsZXJz IG1ha2UgdXNlIG9mIGhvc3QgbWVtb3J5IGZvciB2YXJpb3VzIGNhY2hpbmcgcmVsYXRlZAo+PiBw dXJwb3NlcyBhbmQgd2hlbiBTTU1VIGlzIGVuYWJsZWQgdGhlIGlNUiBmaXJtd2FyZSBmYWlscyB0 bwo+PiBhY2Nlc3MgdGhlc2UgbWVtb3J5IHJlZ2lvbnMgYXMgdGhlcmUgaXMgbm8gbWFwcGluZyBm b3IgdGhlbS4KPj4gSU9SVCBSTVIgcHJvdmlkZXMgYSB3YXkgZm9yIFVFRkkgdG8gZGVzY3JpYmUg YW5kIHJlcG9ydCB0aGVzZQo+PiBtZW1vcnkgcmVnaW9ucyBzbyB0aGF0IHRoZSBrZXJuZWwgY2Fu IG1ha2UgYSB1bml0eSBtYXBwaW5nIGZvcgo+PiB0aGVzZSBpbiBTTU1VLgo+Pgo+PiBDaGFuZ2Ug SGlzdG9yeToKPj4KPj4gdjYgLS0+IHY3Cj4+ICAgLWZpeCBwb2ludGVkIG91dCBieSBTdGV2ZSB0 byB0aGUgU01NVXYyIFNNUiBieXBhc3MgaW5zdGFsbCBpbiBwYXRjaCAjOC4KPj4KPj4gdjUgLS0+ IHY2Cj4+IC0gQWRkcmVzc2VkIGNvbW1lbnRzIGZyb20gUm9iaW4gJiBMb3JlbnpvLgo+PiAgICA6 IE1vdmVkIGlvcnRfcGFyc2Vfcm1yKCkgdG8gYWNwaV9pb3J0X2luaXQoKSBmcm9tCj4+ICAgICAg aW9ydF9pbml0X3BsYXRmb3JtX2RldmljZXMoKS4KPj4gICAgOiBSZW1vdmVkIHVzZSBvZiBzdHJ1 Y3QgaW9ydF9ybXJfZW50cnkgZHVyaW5nIHRoZSBpbml0aWFsCj4+ICAgICAgcGFyc2UuIFVzaW5n IHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbiBpbnN0ZWFkLgo+PiAgICA6IFJlcG9ydCBSTVIgYWRk cmVzcyBhbGlnbm1lbnQgYW5kIG92ZXJsYXAgZXJyb3JzLCBidXQgY29udGludWUuCj4+ICAgIDog UmV3b3JrZWQgYXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIChwYXRjaCAjIDYpLgo+PiAtIFVw ZGF0ZWQgU01NVXYyIGJ5cGFzcyBTTVIgY29kZS4gVGhhbmtzIHRvIEpvbiBOIChwYXRjaCAjOCku Cj4+IC0gU2V0IElPTU1VIHByb3RlY3Rpb24gZmxhZ3MoSU9NTVVfQ0FDSEUsIElPTU1VX01NSU8p IGJhc2VkCj4+ICAgIG9uIFR5cGUgb2YgUk1SIHJlZ2lvbi4gU3VnZ2VzdGVkIGJ5IEpvbiBOLgo+ Pgo+PiB2NCAtLT4gdjUKPj4gICAtQWRkZWQgYSBmd19kYXRhIHVuaW9uIHRvIHN0cnVjdCBpb21t dV9yZXN2X3JlZ2lvbiBhbmQgcmVtb3ZlZAo+PiAgICBzdHJ1Y3QgaW9tbXVfcm1yIChCYXNlZCBv biBjb21tZW50cyBmcm9tIEpvZXJnL1JvYmluKS4KPj4gICAtQWRkZWQgaW9tbXVfcHV0X3JtcnMo KSB0byByZWxlYXNlIG1lbS4KPj4gICAtVGhhbmtzIHRvIFN0ZXZlIGZvciB2ZXJpZnlpbmcgb24g U01NVXYyLCBidXQgbm90IGFkZGVkIHRoZSBUZXN0ZWQtYnkKPj4gICAgeWV0IGJlY2F1c2Ugb2Yg dGhlIGFib3ZlIGNoYW5nZXMuCj4+Cj4+IHYzIC0tPnY0Cj4+IC1JbmNsdWRlZCB0aGUgU01NVXYy IFNNUiBieXBhc3MgaW5zdGFsbCBjaGFuZ2VzIHN1Z2dlc3RlZCBieQo+PiAgIFN0ZXZlKHBhdGNo ICM3KQo+PiAtQXMgcGVyIFJvYmluJ3MgY29tbWVudHMsIFJNUiByZXNlcnZlIGltcGxlbWVudGF0 aW9uIGlzIG5vdwo+PiAgIG1vcmUgZ2VuZXJpYyAgKHBhdGNoICM4KSBhbmQgZHJvcHBlZCB2MyBw YXRjaGVzIDggYW5kIDEwLgo+PiAtUmViYXNlIHRvIDUuMTMtcmMxCj4+Cj4+IFJGQyB2MiAtLT4g djMKPj4gICAtRHJvcHBlZCBSRkMgdGFnIGFzIHRoZSBBQ1BJQ0EgaGVhZGVyIGNoYW5nZXMgYXJl IG5vdyByZWFkeSB0byBiZQo+PiAgICBwYXJ0IG9mIDUuMTNbMF0uIEJ1dCB0aGlzIHNlcmllcyBz dGlsbCBoYXMgYSBkZXBlbmRlbmN5IG9uIHRoYXQgcGF0Y2guCj4+ICAgLUFkZGVkIElPUlQgRS5i IHJlbGF0ZWQgY2hhbmdlcyhub2RlIGZsYWdzLCBfRFNNIGZ1bmN0aW9uIDUgY2hlY2tzIGZvcgo+ PiAgICBQQ0llKS4KPj4gICAtQ2hhbmdlZCBSTVIgdG8gc3RyZWFtIGlkIG1hcHBpbmcgZnJvbSBN Ok4gdG8gTToxIGFzIHBlciB0aGUgc3BlYyBhbmQKPj4gICAgZGlzY3Vzc2lvbiBoZXJlWzFdLgo+ PiAgIC1MYXN0IHR3byBwYXRjaGVzIGFkZCBzdXBwb3J0IGZvciBTTU1VdjIoVGhhbmtzIHRvIEpv biBOZXR0bGV0b24hKQo+Pgo+PiBKb24gTmV0dGxldG9uICgxKToKPj4gICAgaW9tbXUvYXJtLXNt bXU6IEdldCBhc3NvY2lhdGVkIFJNUiBpbmZvIGFuZCBpbnN0YWxsIGJ5cGFzcyBTTVIKPj4KPj4g U2hhbWVlciBLb2xvdGh1bSAoMTApOgo+PiAgICBBQ1BJL0lPUlQ6IEFkZCB0ZW1wb3JhcnkgUk1S IG5vZGUgZmxhZyBkZWZpbml0aW9ucwo+PiAgICBpb21tdTogSW50cm9kdWNlIGEgdW5pb24gdG8g c3RydWN0IGlvbW11X3Jlc3ZfcmVnaW9uCj4+ICAgIEFDUEkvSU9SVDogQWRkIGhlbHBlciBmdW5j dGlvbnMgdG8gcGFyc2UgUk1SIG5vZGVzCj4+ICAgIGlvbW11L2RtYTogSW50cm9kdWNlIGdlbmVy aWMgaGVscGVyIHRvIHJldHJpZXZlIFJNUiBpbmZvCj4+ICAgIEFDUEkvSU9SVDogQWRkIGEgaGVs cGVyIHRvIHJldHJpZXZlIFJNUiBtZW1vcnkgcmVnaW9ucwo+PiAgICBpb21tdS9hcm0tc21tdS12 MzogSW50cm9kdWNlIHN0cnRhYiBpbml0IGhlbHBlcgo+PiAgICBpb21tdS9hcm0tc21tdS12Mzog UmVmYWN0b3IgYXJtX3NtbXVfaW5pdF9ieXBhc3Nfc3RlcygpIHRvIGZvcmNlCj4+ICAgICAgYnlw YXNzCj4+ICAgIGlvbW11L2FybS1zbW11LXYzOiBHZXQgYXNzb2NpYXRlZCBSTVIgaW5mbyBhbmQg aW5zdGFsbCBieXBhc3MgU1RFCj4+ICAgIGlvbW11L2FybS1zbW11LXYzOiBSZXNlcnZlIGFueSBS TVIgcmVnaW9ucyBhc3NvY2lhdGVkIHdpdGggYSBkZXYKPj4gICAgaW9tbXUvYXJtLXNtbXU6IFJl c2VydmUgYW55IFJNUiByZWdpb25zIGFzc29jaWF0ZWQgd2l0aCBhIGRldgo+Pgo+PiAgIGRyaXZl cnMvYWNwaS9hcm02NC9pb3J0LmMgICAgICAgICAgICAgICAgICAgfCAzMDUgKysrKysrKysrKysr KysrKysrKysKPj4gICBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5j IHwgIDkxICsrKystLQo+PiAgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmMg ICAgICAgfCAgNjUgKysrKy0KPj4gICBkcml2ZXJzL2lvbW11L2RtYS1pb21tdS5jICAgICAgICAg ICAgICAgICAgIHwgIDI1ICsrCj4+ICAgaW5jbHVkZS9saW51eC9hY3BpX2lvcnQuaCAgICAgICAg ICAgICAgICAgICB8ICAxNCArCj4+ICAgaW5jbHVkZS9saW51eC9kbWEtaW9tbXUuaCAgICAgICAg ICAgICAgICAgICB8ICAxNCArCj4+ICAgaW5jbHVkZS9saW51eC9pb21tdS5oICAgICAgICAgICAg ICAgICAgICAgICB8ICAgOSArCj4+ICAgNyBmaWxlcyBjaGFuZ2VkLCA1MDQgaW5zZXJ0aW9ucygr KSwgMTkgZGVsZXRpb25zKC0pCj4+Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==