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 935DEC64EC4 for ; Fri, 10 Mar 2023 08:44:18 +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-Transfer-Encoding:Content-Type:Reply-To: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:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TA8QPay3Xote0XagMdX0wcuaV0LbHoh4aUvT5VTctjY=; b=axVHhr2STcBX3k G0PLWGyu2N2VGDVVlRddBD4q/w30k6iOtbYkE228GV8RI6bUrtdOq1HG46ZV/8G3Pv8035BT4EAih dcR+Ri66HFrwyCATxRMyR4yHMeZNv49yy1RLf0dKz+RuniA4IHHBJn40AseqKeg64nbZ85uPlxvR3 vE+AwJAoihiQC3Z66I1rEqylJ7XJ4/5aiVCYKqhLfq7P0YlyNOw/Mh6HBA9I9O5U8+V1QIGm/HhHc k4yBEgW7oU3lInB8eSkZxREMKe3+LVZ8KJSTNgPHLPsOdL0hIAWClKN4T1PXdk0ge4AUisVKfr0fy +a2sMYjT5zVn0kGrRgKg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paYLF-00Djqc-Me; Fri, 10 Mar 2023 08:43:10 +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 1paYL9-00Djob-O2 for linux-arm-kernel@lists.infradead.org; Fri, 10 Mar 2023 08:43:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678437781; 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=sJKDeaVvGNYM0/OBvIPM+hWXGH8vO4WQMCZIenqufGw=; b=IRfRHShSHlIIgkuv22mNw9th0BfY20+1H3xDoO8JT/p3uhSyslBrNaPOrE8YecpKxaUF8a do0o0gLAgg5QlKPZUNKW1LP0Rqbyhqebb6tBDB/8VxfthkKSsc/5iKKT+w1pb+0YEt1fQx gOIaP+VsryfA5+k4p35ceyTRnk46w9g= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-528-gKw_cqcUPeirkGIkXA5XMA-1; Fri, 10 Mar 2023 03:41:10 -0500 X-MC-Unique: gKw_cqcUPeirkGIkXA5XMA-1 Received: by mail-qt1-f197.google.com with SMTP id w16-20020ac843d0000000b003bfe50a4105so2549933qtn.10 for ; Fri, 10 Mar 2023 00:41:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678437666; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:reply-to:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sJKDeaVvGNYM0/OBvIPM+hWXGH8vO4WQMCZIenqufGw=; b=E79xH7teZg1o3mo4ZDxYZZQ7HVsmhRSapissNpATvOw56rKFaa+TYojrfTIWblhBQa g96xI9M84YktmBw9BeacGQoyUfAREum5K/8RKxtEEgaq/Y6eHhrIObszx/2BHP9ciVsG m+upbrtXmuu1AihvYLH/Mag6MatTGE1s0jAcdjl3X5UBJCFLbn6vMpFJcPTBDLmhqVWc SjnkMVivT6fxQKRuqU1Td8T3cYv4Y5D5dIvO3VvMyaLKFWoeTBHdlnTmua1+aMWOk38b bQQ1UqVsjam3x8ZURvX8SknBu6IbbiK+AhKt4qX/lOhMu223aeLoYeWWzpE53ZEaj0LZ TTkg== X-Gm-Message-State: AO0yUKVxyMK6uC6Yh/FLteZ1sV6MzJ72J/fSiRcLMqrNlf6JbO905ksA ykMyWYkLTfUJ4Olt/QmsVuR34hl8euo1x4mFr08MY6iKChawH7gXj1CgsiZdVGzHXLRZ2NEQp/D Pa69Su6P2HiSA5rnlRHXPVaXVEKocVvV1Hj4= X-Received: by 2002:a05:622a:13ce:b0:3bd:155c:3ac8 with SMTP id p14-20020a05622a13ce00b003bd155c3ac8mr7701715qtk.67.1678437666319; Fri, 10 Mar 2023 00:41:06 -0800 (PST) X-Google-Smtp-Source: AK7set8h9oMj1wekRX/xF2bEqHa9Ccq96u/Lgbi5xXTL/325tGX/oS2wL654uUNa4ebzaEO9jMnGZA== X-Received: by 2002:a05:622a:13ce:b0:3bd:155c:3ac8 with SMTP id p14-20020a05622a13ce00b003bd155c3ac8mr7701700qtk.67.1678437666036; Fri, 10 Mar 2023 00:41:06 -0800 (PST) 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 t14-20020ac865ce000000b003bfbfd9a4aesm990030qto.56.2023.03.10.00.41.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Mar 2023 00:41:05 -0800 (PST) Message-ID: <4938b20b-14d8-86f8-e80b-9d8ed9d8f28d@redhat.com> Date: Fri, 10 Mar 2023 09:41:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH v1 01/14] iommu: Add iommu_get_unmanaged_domain helper To: Robin Murphy , Nicolin Chen , jgg@nvidia.com, will@kernel.org Cc: kevin.tian@intel.com, baolu.lu@linux.intel.com, joro@8bytes.org, shameerali.kolothum.thodi@huawei.com, jean-philippe@linaro.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org References: <9b1077601cace998533129327f5e7ad946752d29.1678348754.git.nicolinc@nvidia.com> <2118a147-ac95-d846-ad6f-85d7cebca46a@arm.com> From: Eric Auger In-Reply-To: <2118a147-ac95-d846-ad6f-85d7cebca46a@arm.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-20230310_004303_917416_94315D2C X-CRM114-Status: GOOD ( 38.62 ) 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 SGksCgpPbiAzLzkvMjMgMTM6NTEsIFJvYmluIE11cnBoeSB3cm90ZToKPiBPbiAyMDIzLTAzLTA5 IDEwOjUzLCBOaWNvbGluIENoZW4gd3JvdGU6Cj4+IFRoZSBuYXR1cmUgb2YgSVRTIHZpcnR1YWxp emF0aW9uIG9uIEFSTSBpcyBkb25lIHZpYSBoeXBlcmNhbGxzLCBzbwo+PiBrZXJuZWwKPj4gaGFu ZGxlcyBhbGwgSU9WQSBtYXBwaW5ncyBmb3IgdGhlIE1TSSBkb29yYmVsbCBpbgo+PiBpb21tdV9k bWFfcHJlcGFyZV9tc2koKQo+PiBhbmQgaW9tbXVfZG1hX2NvbXBvc2VfbXNpX21zZygpLiBUaGUg Y3VycmVudCB2aXJ0dWFsaXphdGlvbiBzb2x1dGlvbgo+PiB3aXRoCj4+IGEgMi1zdGFnZSBuZXN0 ZWQgdHJhbnNsYXRpb24gc2V0dXAgaXMgdG8gZG8gMToxIElPVkEgbWFwcGluZ3MgYXQgc3RhZ2Ut MQo+PiBndWVzdC1sZXZlbCBJTyBwYWdlIHRhYmxlIHZpYSBhIFJNUiByZWdpb24gaW4gZ3Vlc3Qt bGV2ZWwgSU9SVCwgYWxpZ25pbmcKPj4gd2l0aCBhbiBJT1ZBIHJlZ2lvbiB0aGF0J3MgcHJlZGVm aW5lZCBhbmQgbWFwcGVkIGluIHRoZSBob3N0IGtlcm5lbDoKPj4KPj4gwqDCoCBbc3RhZ2UtMiBo b3N0IGxldmVsXQo+PiDCoMKgICNkZWZpbmUgTVNJX0lPVkFfQkFTRcKgwqDCoMKgwqDCoMKgIDB4 ODAwMDAwMAo+PiDCoMKgICNkZWZpbmUgTVNJX0lPVkFfTEVOR1RIwqDCoMKgIDB4MTAwMDAwCj4+ IMKgwqAgLi4uCj4+IMKgwqAgaW9tbXVfZ2V0X21zaV9jb29raWUoKToKPj4gwqDCoMKgwqBjb29r aWUtPm1zaV9pb3ZhID0gTVNJX0lPVkFfQkFTRTsKPj4gwqDCoCAuLi4KPj4gwqDCoCBpb21tdV9k bWFfcHJlcGFyZV9tc2koaXRzX3BhKToKPj4gwqDCoMKgwqBkb21haW4gPSBpb21tdV9nZXRfZG9t YWluX2Zvcl9kZXYoZGV2KTsKPj4gwqDCoMKgwqBpb21tdV9kbWFfZ2V0X21zaV9wYWdlKGl0c19w YSwgZG9tYWluKToKPj4gwqDCoMKgwqDCoMKgwqAgY29va2llID0gZG9tYWluLT5pb3ZhX2Nvb2tp ZTsKPj4gwqDCoMKgwqDCoMKgwqAgaW92YSA9IGlvbW11X2RtYV9hbGxvY19pb3ZhKCk6Cj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGNvb2tpZS0+bXNpX2lvdmEgLSBzaXplOwo+PiDC oMKgwqDCoMKgwqDCoCBpb21tdV9tYXAoaW92YSwgaXRzX3BhLCAuLi4pOwo+Pgo+PiDCoMKgIFtz dGFnZS0xIGd1ZXN0IGxldmVsXQo+PiDCoMKgIC8vIERlZmluZSBpbiBJT1JUIGEgUk1SIFtNU0lf SU9WQV9CQVNFLCBNU0lfSU9WQV9MRU5HVEhdCj4+IMKgwqAgLi4uCj4+IMKgwqAgaW9tbXVfY3Jl YXRlX2RldmljZV9kaXJlY3RfbWFwcGluZ3MoKToKPj4gwqDCoMKgwqBpb21tdV9tYXAoaW92YT1N U0lfSU9WQV9CQVNFLCBwYT1NU0lfSU9WQV9CQVNFLAo+PiBsZW49TVNJX0lPVkFfTEVOR1RIKTsK Pj4KPj4gVGhpcyBzb2x1dGlvbiBjYWxsaW5nIGlvbW11X2dldF9kb21haW5fZm9yX2RldigpIG5l ZWRzIHRoZSBkZXZpY2UgdG8gZ2V0Cj4+IGF0dGFjaGVkIHRvIGEgaG9zdC1sZXZlbCBpb21tdV9k b21haW4gdGhhdCBoYXMgdGhlIG1zaV9jb29raWUuCj4+Cj4+IE9uIHRoZSBvdGhlciBoYW5kLCBJ T01NVUZEIGRlc2lnbnMgdHdvIGlvbW11X2RvbWFpbiBvYmplY3RzIHRvIHJlcHJlc2VudAo+PiB0 aGUgdHdvIHN0YWdlczogYSBzdGFnZS0xIGRvbWFpbiAoSU9NTVVfRE9NQUlOX05FU1RFRCB0eXBl KSBhbmQgYQo+PiBzdGFnZS0yCj4+IGRvbWFpbiAoSU9NTVVfRE9NQUlOX1VOTUFOQUdFRCB0eXBl KS4gSW4gdGhpcyBkZXNpZ24sIHRoZSBkZXZpY2Ugd2lsbCBiZQo+PiBhdHRhY2hlZCB0byB0aGUg c3RhZ2UtMSBkb21haW4gcmVwcmVzZW50aW5nIGEgZ3Vlc3QtbGV2ZWwgSU8gcGFnZSB0YWJsZSwK Pj4gb3IgYSBDb250ZXh0IERlc2NyaXB0b3IgVGFibGUgaW4gU01NVSdzIHRlcm0uCj4+Cj4+IFRo aXMgaXMgb2J2aW91c2x5IGEgbWlzbWF0Y2gsIGFzIHRoZSBpb21tdV9nZXRfZG9tYWluX2Zvcl9k ZXYoKSBkb2VzIG5vdAo+PiByZXR1cm4gdGhlIGNvcnJlY3QgZG9tYWluIHBvaW50ZXIgaW4gaW9t bXVfZG1hX3ByZXBhcmVfbXNpKCkuCj4+Cj4+IEFkZCBhbiBpb21tdV9nZXRfdW5tYW5hZ2VkX2Rv bWFpbiBoZWxwZXIgdG8gYWxsb3cgZHJpdmVycyB0byByZXR1cm4gdGhlCj4+IGNvcnJlY3QgSU9N TVVfRE9NQUlOX1VOTUFOQUdFRCBpb21tdV9kb21haW4gaGF2aW5nIHRoZSBJT1ZBIG1hcHBpbmdz IGZvcgo+PiB0aGUgbXNpX2Nvb2tpZS4gS2VlcCBpdCBpbiB0aGUgaW9tbXUtcHJpdiBoZWFkZXIg Zm9yIGludGVybmFsIHVzZSBvbmx5Lgo+Pgo+PiBTdWdnZXN0ZWQtYnk6IEphc29uIEd1bnRob3Jw ZSA8amdnQG52aWRpYS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IE5pY29saW4gQ2hlbiA8bmljb2xp bmNAbnZpZGlhLmNvbT4KPj4gLS0tCj4+IMKgIGRyaXZlcnMvaW9tbXUvZG1hLWlvbW11LmPCoCB8 wqAgNSArKystLQo+PiDCoCBkcml2ZXJzL2lvbW11L2lvbW11LXByaXYuaCB8IDE1ICsrKysrKysr KysrKysrKwo+PiDCoCBpbmNsdWRlL2xpbnV4L2lvbW11LmjCoMKgwqDCoMKgIHzCoCAyICsrCj4+ IMKgIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvZG1hLWlvbW11LmMgYi9kcml2ZXJzL2lvbW11 L2RtYS1pb21tdS5jCj4+IGluZGV4IDk5YjI2NDZjYjVjNy4uNmIwNDA5ZDBmZjg1IDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2lvbW11L2RtYS1pb21tdS5jCj4+ICsrKyBiL2RyaXZlcnMvaW9tbXUv ZG1hLWlvbW11LmMKPj4gQEAgLTMxLDYgKzMxLDcgQEAKPj4gwqAgI2luY2x1ZGUgPGxpbnV4L3Zt YWxsb2MuaD4KPj4gwqAgwqAgI2luY2x1ZGUgImRtYS1pb21tdS5oIgo+PiArI2luY2x1ZGUgImlv bW11LXByaXYuaCIKPj4gwqAgwqAgc3RydWN0IGlvbW11X2RtYV9tc2lfcGFnZSB7Cj4+IMKgwqDC oMKgwqAgc3RydWN0IGxpc3RfaGVhZMKgwqDCoCBsaXN0Owo+PiBAQCAtMTY1Miw3ICsxNjUzLDcg QEAgc3RhdGljIHN0cnVjdCBpb21tdV9kbWFfbXNpX3BhZ2UKPj4gKmlvbW11X2RtYV9nZXRfbXNp X3BhZ2Uoc3RydWN0IGRldmljZSAqZGV2LAo+PiDCoCBpbnQgaW9tbXVfZG1hX3ByZXBhcmVfbXNp KHN0cnVjdCBtc2lfZGVzYyAqZGVzYywgcGh5c19hZGRyX3QgbXNpX2FkZHIpCj4+IMKgIHsKPj4g wqDCoMKgwqDCoCBzdHJ1Y3QgZGV2aWNlICpkZXYgPSBtc2lfZGVzY190b19kZXYoZGVzYyk7Cj4+ IC3CoMKgwqAgc3RydWN0IGlvbW11X2RvbWFpbiAqZG9tYWluID0gaW9tbXVfZ2V0X2RvbWFpbl9m b3JfZGV2KGRldik7Cj4+ICvCoMKgwqAgc3RydWN0IGlvbW11X2RvbWFpbiAqZG9tYWluID0gaW9t bXVfZ2V0X3VubWFuYWdlZF9kb21haW4oZGV2KTsKPgo+IFRoaXMgc3RpbGwgZG9lc24ndCBtYWtl IHNlbnNlIC0gbW9zdCBvZiB0aGUgdGltZSB0aGlzIHdpbGwgYmUgZXhwZWN0ZWQKPiB0byByZXR1 cm4gdGhlIGRlZmF1bHQgRE1BL2lkZW50aXR5IGRvbWFpbiBpZiB0aGF0J3Mgd2hhdCB0aGUgZGV2 aWNlIGlzCj4gY3VycmVudGx5IHVzaW5nLiBXZSBjYW4ndCBrbm93IHdoZXRoZXIgdGhlIGN1cnJl bnQgZG9tYWluIGlzIG1hbmFnZWQKPiBvciBub3QgdW50aWwgd2UgbG9vayBhdCBpdC4KCkkgdGVu ZCB0byBhZ3JlZSB3aXRoIFJvYmluIGhlcmUuIFRoaXMgd2FzIGZpcnN0IGludHJvZHVjZWQgYnkK CltQQVRDSCB2NyAyMS8yMl0gaW9tbXUvZG1hOiBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBNU0lz IDxodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjI3M2FmMjBkODQ0YmQ2MThjNmE5MGI1N2U2 Mzk3MDAzMjhlYmY3Zi4xNDczNjk1NzA0LmdpdC5yb2Jpbi5tdXJwaHlAYXJtLmNvbS8jcj4KaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIyNzNhZjIwZDg0NGJkNjE4YzZhOTBiNTdlNjM5NzAw MzI4ZWJmN2YuMTQ3MzY5NTcwNC5naXQucm9iaW4ubXVycGh5QGFybS5jb20vCgpldmVuIGJlZm9y ZSB0aGUgc3VwcG9ydCB1biBWRklPIHVzZSBjYXNlIHdoaWNoIGNhbWUgbGF0ZXIgb24uIFNvIHVz aW5nIHRoZSAidW5tYW5hZ2VkIiB0ZXJtaW5vbG9neSBzb3VuZHMgaW1wcm9wZXIgdG8gbWUsIGF0 IGxlYXN0LgpDb3VsZG4ndCB3ZSB1c2UgYSBwYXJlbnQvY2hpbGQgdGVybWlub2xvZ3kgYXMgdXNl ZCBpbiB0aGUgcGFzdCBpbiAKW1JGQyB2Ml0gL2Rldi9pb21tdSB1QVBJIHByb3Bvc2FsIDxodHRw czovL2xvcmUua2VybmVsLm9yZy9hbGwvQk45UFIxMU1CNTQzM0IxRTRBRTVCMDQ4MDM2OUY5NzE3 OEMxODlAQk45UFIxMU1CNTQzMy5uYW1wcmQxMS5wcm9kLm91dGxvb2suY29tLyNyPgoKVGhpcyB3 b3VsZCBzdGlsbCBob2xkIGZvciB0aGUgZm9ybWVyIHVzZSBjYXNlLgoKVGhhbmtzCgpFcmljCgoK Cj4KPiBKdXN0IGxpa2UgZXZlcnkgb3RoZXIgY2FsbGVyIG9mIGlvbW11X2dldF9kb21haW5fZm9y X2RldigpLCB3aGF0IHdlCj4gd2FudCBoZXJlIGlzIHRoZSBjdXJyZW50IGtlcm5lbC1vd25lZCBk b21haW4gdGhhdCB3ZSBjYW4gaW5zcGVjdCBhbmQKPiBtYXliZSBkbyBzdGFuZGFyZCBJT01NVSBB UEkgdGhpbmdzIHdpdGguIFdoeSBjYW4ndAo+IGlvbW11X2dldF9kb21haW5fZm9yX2RldigpIHNp bXBseSBtYWludGFpbiB0aGF0IGVzdGFibGlzaGVkIHVzYWdlCj4gbW9kZWwgYW5kIHJldHVybiB0 aGUga2VybmVsLW93bmVkIHMyX2RvbWFpbiBmcm9tIGEgbmVzdGVkIGRvbWFpbgo+IGF1dG9tYXRp Y2FsbHk/IE5vIElPTU1VIEFQSSB1c2VyIGV4cGVjdHMgb3IgbmVlZHMgaXQgdG8gcmV0dXJuCj4g YW55dGhpbmcgZWxzZSAoYW5kIElPTU1VRkQgc2hvdWxkIGNlcnRhaW5seSBub3QgYmUgbG9zaW5n IHRyYWNrIG9mIGEKPiBuZXN0ZWQgZG9tYWluIHdpdGhpbiBpdHMgb3duIGhpZ2hlci1sZXZlbCBh YnN0cmFjdGlvbnMgYW5kIG5lZWRpbmcgdG8KPiBmYWxsIGJhY2sgb24gaW9tbXVfZ2V0X2RvbWFp bl9mb3JfZGV2KCkpLCBzbyBJIHJlYWxseSBkb24ndCBzZWUgYQo+IHZhbGlkIHJlYXNvbiB0byBv dmVyY29tcGxpY2F0ZSB0aGluZ3MuCj4KPiBQbGVhc2Ugbm90ZSBJIHN0cmVzcyAidmFsaWQiIHNp bmNlIEknbSBub3QgYnV5aW5nIGFyYml0cmFyaWx5IG1hZGUtdXAKPiBjb25jZXB0dWFsIHB1cml0 eSBhcmd1bWVudHMuIEEgbmVzdGVkIGRvbWFpbiBjYW5ub3QgYmUgdGhlICJvbmUgdHJ1ZQo+IGRv bWFpbiIgdGhhdCBpcyBhbiBvcGFxdWUgY29tYmluYXRpb24gb2YgUzErUzI7IHRoZSBJT01NVSBB UEkgdmlldyBoYXMKPiB0byBiZSBtb3JlIGxpa2UgdGhlIGRldmljZSBpcyBhdHRhY2hlZCB0byBi b3RoIHRoZSBuZXN0ZWQgZG9tYWluIGFuZAo+IHRoZSBwYXJlbnQgc3RhZ2UgMiBkb21haW4gc29t ZXdoYXQgaW4gcGFyYWxsZWwuIEV2ZW4gd2hlbiBuZXN0aW5nIGlzCj4gYWN0aXZlLCB0aGUgUzIg ZG9tYWluIHN0aWxsIGV4aXN0cyBhcyBhIGRvbWFpbiBpbiBpdHMgb3duIHJpZ2h0LCBhbmQKPiBz dGlsbCBuZWVkcyB0byBiZSB2aXNpYmxlIGFuZCBvcGVyYXRlZCBvbiBhcyBzdWNoLCBmb3IgaW5z dGFuY2UgaWYKPiBtZW1vcnkgaXMgaG90cGx1Z2dlZCBpbiBvciBvdXQgb2YgdGhlIFZNLgo+Cj4g VEJIIEknZCBhbHNvIG1vdmUgdGhlIHMyX2RvbWFpbiBwb2ludGVyIGludG8gdGhlIGlvbW11X2Rv bWFpbiBpdHNlbGYsCj4gc2luY2UgaXQncyBnb2luZyB0byBiZSBhIGNvbW1vbiBmZWF0dXJlIGZv ciBhbGwgbmVzdGluZwo+IGltcGxlbWVudGF0aW9ucywgdGh1cyB0aGVyZSBzZWVtcyBsaXR0bGUg bmVlZCB0byBpbmRpcmVjdCBsb29rdXBzCj4gdGhyb3VnaCB0aGUgZHJpdmVycyBhdCBhbGwuCj4K PiBUaGFua3MsCj4gUm9iaW4uCj4KPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaW9tbXVfZG1hX21zaV9w YWdlICptc2lfcGFnZTsKPj4gwqDCoMKgwqDCoCBzdGF0aWMgREVGSU5FX01VVEVYKG1zaV9wcmVw YXJlX2xvY2spOyAvKiBzZWUgYmVsb3cgKi8KPj4gwqAgQEAgLTE2ODUsNyArMTY4Niw3IEBAIGlu dCBpb21tdV9kbWFfcHJlcGFyZV9tc2koc3RydWN0IG1zaV9kZXNjCj4+ICpkZXNjLCBwaHlzX2Fk ZHJfdCBtc2lfYWRkcikKPj4gwqAgdm9pZCBpb21tdV9kbWFfY29tcG9zZV9tc2lfbXNnKHN0cnVj dCBtc2lfZGVzYyAqZGVzYywgc3RydWN0Cj4+IG1zaV9tc2cgKm1zZykKPj4gwqAgewo+PiDCoMKg wqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRldiA9IG1zaV9kZXNjX3RvX2RldihkZXNjKTsKPj4gLcKg wqDCoCBjb25zdCBzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4gPSBpb21tdV9nZXRfZG9tYWlu X2Zvcl9kZXYoZGV2KTsKPj4gK8KgwqDCoCBjb25zdCBzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21h aW4gPQo+PiBpb21tdV9nZXRfdW5tYW5hZ2VkX2RvbWFpbihkZXYpOwo+PiDCoMKgwqDCoMKgIGNv bnN0IHN0cnVjdCBpb21tdV9kbWFfbXNpX3BhZ2UgKm1zaV9wYWdlOwo+PiDCoCDCoMKgwqDCoMKg IG1zaV9wYWdlID0gbXNpX2Rlc2NfZ2V0X2lvbW11X2Nvb2tpZShkZXNjKTsKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaW9tbXUvaW9tbXUtcHJpdi5oIGIvZHJpdmVycy9pb21tdS9pb21tdS1wcml2 LmgKPj4gaW5kZXggYTZlNjk0ZjU5ZjY0Li5kYTgwNDRkYTlhZDggMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvaW9tbXUvaW9tbXUtcHJpdi5oCj4+ICsrKyBiL2RyaXZlcnMvaW9tbXUvaW9tbXUtcHJp di5oCj4+IEBAIC0xNSw2ICsxNSwyMSBAQCBzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpb21t dV9vcHMKPj4gKmRldl9pb21tdV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQo+PiDCoMKgwqDCoMKg IHJldHVybiBkZXYtPmlvbW11LT5pb21tdV9kZXYtPm9wczsKPj4gwqAgfQo+PiDCoCArc3RhdGlj IGlubGluZSBzdHJ1Y3QgaW9tbXVfZG9tYWluCj4+ICppb21tdV9nZXRfdW5tYW5hZ2VkX2RvbWFp bihzdHJ1Y3QgZGV2aWNlICpkZXYpCj4+ICt7Cj4+ICvCoMKgwqAgY29uc3Qgc3RydWN0IGlvbW11 X29wcyAqb3BzOwo+PiArCj4+ICvCoMKgwqAgaWYgKCFkZXYtPmlvbW11IHx8ICFkZXYtPmlvbW11 LT5pb21tdV9kZXYpCj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGF0dGFjaGVkX2RvbWFpbjsKPj4g Kwo+PiArwqDCoMKgIG9wcyA9IGRldl9pb21tdV9vcHMoZGV2KTsKPj4gK8KgwqDCoCBpZiAob3Bz LT5nZXRfdW5tYW5hZ2VkX2RvbWFpbikKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBvcHMtPmdl dF91bm1hbmFnZWRfZG9tYWluKGRldik7Cj4+ICsKPj4gK2F0dGFjaGVkX2RvbWFpbjoKPj4gK8Kg wqDCoCByZXR1cm4gaW9tbXVfZ2V0X2RvbWFpbl9mb3JfZGV2KGRldik7Cj4+ICt9Cj4+ICsKPj4g wqAgaW50IGlvbW11X2dyb3VwX3JlcGxhY2VfZG9tYWluKHN0cnVjdCBpb21tdV9ncm91cCAqZ3Jv dXAsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGlv bW11X2RvbWFpbiAqbmV3X2RvbWFpbik7Cj4+IMKgIGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2lvbW11LmggYi9pbmNsdWRlL2xpbnV4L2lvbW11LmgKPj4gaW5kZXggMDgwMjc4YzgxNTRkLi43 NmM2NWNjNGZjMTUgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvaW9tbXUuaAo+PiArKysg Yi9pbmNsdWRlL2xpbnV4L2lvbW11LmgKPj4gQEAgLTI3NSw2ICsyNzUsOCBAQCBzdHJ1Y3QgaW9t bXVfb3BzIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHN0cnVjdCBpb21tdV9kb21haW4gKnBhcmVudCwKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHZvaWQgKnVzZXJf ZGF0YSk7Cj4+IMKgICvCoMKgwqAgc3RydWN0IGlvbW11X2RvbWFpbiAqKCpnZXRfdW5tYW5hZ2Vk X2RvbWFpbikoc3RydWN0IGRldmljZSAqZGV2KTsKPj4gKwo+PiDCoMKgwqDCoMKgIHN0cnVjdCBp b21tdV9kZXZpY2UgKigqcHJvYmVfZGV2aWNlKShzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+PiDCoMKg wqDCoMKgIHZvaWQgKCpyZWxlYXNlX2RldmljZSkoc3RydWN0IGRldmljZSAqZGV2KTsKPj4gwqDC oMKgwqDCoCB2b2lkICgqcHJvYmVfZmluYWxpemUpKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4KCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg==