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=-9.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 8D838C3A59E for ; Tue, 20 Aug 2019 18:10:28 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5C2AD22D6D for ; Tue, 20 Aug 2019 18:10:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lWwiykWC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5C2AD22D6D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i08aB-000614-CT; Tue, 20 Aug 2019 18:10:11 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i08a9-00060t-U7 for xen-devel@lists.xenproject.org; Tue, 20 Aug 2019 18:10:09 +0000 X-Inumbo-ID: be44a088-c375-11e9-9a4a-bc764e2007e4 Received: from mail-lf1-x144.google.com (unknown [2a00:1450:4864:20::144]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id be44a088-c375-11e9-9a4a-bc764e2007e4; Tue, 20 Aug 2019 18:10:08 +0000 (UTC) Received: by mail-lf1-x144.google.com with SMTP id s19so4831484lfb.9 for ; Tue, 20 Aug 2019 11:10:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=xqjJtklk/Z9qMlvFFkNiMWwamR5dHvSudyKeYKBWP7A=; b=lWwiykWC6QQMQsLh9uuDIRk/8hAWF63OEUFb7Oc5d3lU3OW3ucBqOHOalw5QOpOJhS 6tIsj1gyobasI/oaF8VGva0B7exq/E4JpvPhTyCXoV1/+Zhi/OBUXErQrnyYySQ26EMO Ng6YSzLieNN23k1jT7rhsq6qrXsFYBmI5FdFz1opvDWXhVeOMSmlE/HgWl7KHzC4DNTc qyZdPmKIpRJBwQL0ZEITeaNpnR3VYq8fXmracnm6FVvGDL0L/9uLs88vu5Pl3tBVlzl8 q4xo4iIU+ubPEtzphcBNR5/J84nX8+c26VbNPmpueZQ+L7aaCH8Eswxwgxi64VjSgsdP zN/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=xqjJtklk/Z9qMlvFFkNiMWwamR5dHvSudyKeYKBWP7A=; b=GqguQBDNzF2OhLgmahujRfEAnZCqkk0oCofUJ2+OmSNsGPgyAv25cxsqu65MwRIRqL UF0Yu0jAi7phMZIkJC2YExeRuvkbTegZY2wjuAZs12AqvlLPOM15eZydhZ+6r3HQluNN GPgPBtkNj+oPTspzLfndjcUohXYxvSkeEclDrqVqwDLup/z7hrq7QNlgLUPUtxLamuBP JD0RBzr0UyyIYEAeL0mWXjIaOTc9V7nRD3Js+CAlGlZXXUpyH93FfPXqqtJoSCXZFFGG rhZ7Dwjw9Nb6FFGgFqm4EYAN5721IXkowtiQNEPCexD8CQqQGbFDKZebVtoWNL8kqu7e Dw0Q== X-Gm-Message-State: APjAAAXzM0wPJPAv/KNP0vJlCjjJHsMF56HKlpctKHHRAP+jFjBfCRMo Ek5jxL0PJCemoYfwM/fLrODHym/R X-Google-Smtp-Source: APXvYqztmxMh1cr66XWErIH9SUJ1JZ+IqeXa4Im8yySqepe+IVoiRgitx7N9p7BNLPp7JomI9tNmvQ== X-Received: by 2002:ac2:560b:: with SMTP id v11mr13234357lfd.177.1566324607636; Tue, 20 Aug 2019 11:10:07 -0700 (PDT) Received: from otyshchenko.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id f6sm2900642lja.16.2019.08.20.11.10.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 20 Aug 2019 11:10:07 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org Date: Tue, 20 Aug 2019 21:09:40 +0300 Message-Id: <1566324587-3442-2-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1566324587-3442-1-git-send-email-olekstysh@gmail.com> References: <1566324587-3442-1-git-send-email-olekstysh@gmail.com> Subject: [Xen-devel] [PATCH V3 1/8] iommu/arm: Add iommu_helpers.c file to keep common for IOMMUs stuff X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr Tyshchenko , julien.grall@arm.com, sstabellini@kernel.org, Volodymyr_Babchuk@epam.com MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKSW50cm9kdWNlIGEgc2VwYXJhdGUgZmlsZSB0byBrZWVwIHZhcmlvdXMgaGVscGVycyB3aGlj aCBjb3VsZCBiZSB1c2VkCmJ5IG1vcmUgdGhhbiBvbmUgSU9NTVUgZHJpdmVyIGluIG9yZGVyIG5v dCB0byBkdXBsaWNhdGUgY29kZS4KClRoZSBmaXJzdCBjYW5kaWRhdGVzIHRvIGJlIG1vdmVkIHRv IHRoZSBuZXcgZmlsZSBhcmUgU01NVSBkcml2ZXIncwoibWFwX3BhZ2UvdW5tYXBfcGFnZSIgY2Fs bGJhY2tzLiBUaGVyZSBjYWxsYmFja3MgbmVpdGhlciBjb250YWluIGFueQpTTU1VIHNwZWNpZmlj IGluZm8gbm9yIHBlcmZvcm0gYW55IFNNTVUgc3BlY2lmaWMgYWN0aW9ucyBhbmQgYXJlIGdvaW5n CnRvIGJlIHRoZSBzYW1lIGFjcm9zcyBhbGwgSU9NTVUgZHJpdmVycyB3aGljaCBIL1cgSVAgc2hh cmVzIFAyTQp3aXRoIHRoZSBDUFUgbGlrZSBTTU1VIGRvZXMuCgpTbywgbW92ZSBjYWxsYmFja3Mg dG8gaW9tbXVfaGVscGVycy5jIGZvciB0aGUgdXBjb21pbmcgSVBNTVUgZHJpdmVyCnRvIGJlIGFi bGUgdG8gcmUtdXNlIHRoZW0uCgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8 b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5n cmFsbEBhcm0uY29tPgoKLS0tCkNoYW5nZXMgVjIgLT4gVjM6CiAgICAtIHB1dCBoZWFkZXJzIGlu IGFscGhhYmV0aWNhbCBvcmRlcgogICAgLSByZXRhaW5lZCBDb3B5cmlnaHQgZnJvbSB0aGUgU01N VSBjb2RlCi0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL01ha2VmaWxlICAgICAgICB8 ICAyICstCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jIHwgODQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Fy bS9zbW11LmMgICAgICAgICAgfCA0OCArLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNt LWFybS9pb21tdS5oICAgICAgICAgICAgICAgICB8ICA3ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA5 NCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCgpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL01ha2VmaWxlIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYXJtL01ha2VmaWxlCmluZGV4IGIzZWZjZmQuLjRhYmI4N2EgMTAwNjQ0Ci0tLSBhL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9hcm0vTWFrZWZpbGUKQEAgLTEsMiArMSwyIEBACi1vYmoteSArPSBpb21tdS5vCitvYmot eSArPSBpb21tdS5vIGlvbW11X2hlbHBlcnMubwogb2JqLSQoQ09ORklHX0FSTV9TTU1VKSArPSBz bW11Lm8KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pb21tdV9oZWxw ZXJzLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNmUyYjgKLS0tIC9kZXYvbnVsbAorKysg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCkBAIC0wLDAgKzEs ODQgQEAKKy8qCisgKiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5j CisgKgorICogQ29udGFpbnMgdmFyaW91cyBoZWxwZXJzIHRvIGJlIHVzZWQgYnkgSU9NTVUgZHJp dmVycy4KKyAqCisgKiBCYXNlZCBvbiBYZW4ncyBTTU1VIGRyaXZlcjoKKyAqICAgIHhlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgTGlu YXJvIExpbWl0ZWQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEVQQU0gU3lzdGVtcyBJbmMu CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9u cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1 ZGUgPHhlbi9pb21tdS5oPgorI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRlIDx4ZW4vc2No ZWQuaD4KKworI2luY2x1ZGUgPGFzbS9kZXZpY2UuaD4KKworLyogU2hvdWxkIG9ubHkgYmUgdXNl ZCBpZiBQMk0gVGFibGUgaXMgc2hhcmVkIGJldHdlZW4gdGhlIENQVSBhbmQgdGhlIElPTU1VLiAq LworaW50IF9fbXVzdF9jaGVjayBhcm1faW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwg ZGZuX3QgZGZuLCBtZm5fdCBtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgKmZsdXNoX2ZsYWdzKQoreworICAgIHAybV90eXBlX3QgdDsKKworICAg IC8qCisgICAgICogR3JhbnQgbWFwcGluZ3MgY2FuIGJlIHVzZWQgZm9yIERNQSByZXF1ZXN0cy4g VGhlIGRldl9idXNfYWRkcgorICAgICAqIHJldHVybmVkIGJ5IHRoZSBoeXBlcmNhbGwgaXMgdGhl IE1GTiAobm90IHRoZSBJUEEpLiBGb3IgZGV2aWNlCisgICAgICogcHJvdGVjdGVkIGJ5IGFuIElP TU1VLCBYZW4gbmVlZHMgdG8gYWRkIGEgMToxIG1hcHBpbmcgaW4gdGhlIGRvbWFpbgorICAgICAq IHAybSB0byBhbGxvdyBETUEgcmVxdWVzdCB0byB3b3JrLgorICAgICAqIFRoaXMgaXMgb25seSB2 YWxpZCB3aGVuIHRoZSBkb21haW4gaXMgZGlyZWN0ZWQgbWFwcGVkLiBIZW5jZSB0aGlzCisgICAg ICogZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBnbnR0YWIgY29kZSB3aXRoIGdmbiA9 PSBtZm4gPT0gZGZuLgorICAgICAqLworICAgIEJVR19PTighaXNfZG9tYWluX2RpcmVjdF9tYXBw ZWQoZCkpOworICAgIEJVR19PTihtZm5feChtZm4pICE9IGRmbl94KGRmbikpOworCisgICAgLyog V2Ugb25seSBzdXBwb3J0IHJlYWRhYmxlIGFuZCB3cml0YWJsZSBmbGFncyAqLworICAgIGlmICgg IShmbGFncyAmIChJT01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpKSApCisgICAgICAg IHJldHVybiAtRUlOVkFMOworCisgICAgdCA9IChmbGFncyAmIElPTU1VRl93cml0YWJsZSkgPyBw Mm1faW9tbXVfbWFwX3J3IDogcDJtX2lvbW11X21hcF9ybzsKKworICAgIC8qCisgICAgICogVGhl IGZ1bmN0aW9uIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5IHJlcGxhY2VzIHRoZSBjdXJyZW50IG1h cHBpbmcKKyAgICAgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4uLgorICAgICAqLworICAgIHJl dHVybiBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBfZ2ZuKGRmbl94KGRmbikpLCBfbWZuKGRm bl94KGRmbikpLCAwLCB0KTsKK30KKworLyogU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBQMk0gVGFi bGUgaXMgc2hhcmVkIGJldHdlZW4gdGhlIENQVSBhbmQgdGhlIElPTU1VLiAqLworaW50IF9fbXVz dF9jaGVjayBhcm1faW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1 c2hfZmxhZ3MpCit7CisgICAgLyoKKyAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJl IHVzZWQgYnkgZ250dGFiIGNvZGUgd2hlbiB0aGUgZG9tYWluCisgICAgICogaXMgZGlyZWN0IG1h cHBlZCAoaS5lLiBnZm4gPT0gbWZuID09IGRmbikuCisgICAgICovCisgICAgaWYgKCAhaXNfZG9t YWluX2RpcmVjdF9tYXBwZWQoZCkgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIHJl dHVybiBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4oZGZuX3goZGZuKSksIF9tZm4o ZGZuX3goZGZuKSksIDApOworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGluZGVu dC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUu YwppbmRleCBmMTUxYjlmLi44YWU5ODZhIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMK QEAgLTI3MzQsNTAgKzI3MzQsNiBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV9pb21tdV9kb21haW5f dGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIAl4ZnJlZSh4ZW5fZG9tYWluKTsKIH0KIAotc3Rh dGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwg ZGZuX3QgZGZuLAotCQkJCQkgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IGZsYWdzLAotCQkJCQkg IHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpCi17Ci0JcDJtX3R5cGVfdCB0OwotCi0JLyoKLQkg KiBHcmFudCBtYXBwaW5ncyBjYW4gYmUgdXNlZCBmb3IgRE1BIHJlcXVlc3RzLiBUaGUgZGV2X2J1 c19hZGRyCi0JICogcmV0dXJuZWQgYnkgdGhlIGh5cGVyY2FsbCBpcyB0aGUgTUZOIChub3QgdGhl IElQQSkuIEZvciBkZXZpY2UKLQkgKiBwcm90ZWN0ZWQgYnkgYW4gSU9NTVUsIFhlbiBuZWVkcyB0 byBhZGQgYSAxOjEgbWFwcGluZyBpbiB0aGUgZG9tYWluCi0JICogcDJtIHRvIGFsbG93IERNQSBy ZXF1ZXN0IHRvIHdvcmsuCi0JICogVGhpcyBpcyBvbmx5IHZhbGlkIHdoZW4gdGhlIGRvbWFpbiBp cyBkaXJlY3RlZCBtYXBwZWQuIEhlbmNlIHRoaXMKLQkgKiBmdW5jdGlvbiBzaG91bGQgb25seSBi ZSB1c2VkIGJ5IGdudHRhYiBjb2RlIHdpdGggZ2ZuID09IG1mbiA9PSBkZm4uCi0JICovCi0JQlVH X09OKCFpc19kb21haW5fZGlyZWN0X21hcHBlZChkKSk7Ci0JQlVHX09OKG1mbl94KG1mbikgIT0g ZGZuX3goZGZuKSk7Ci0KLQkvKiBXZSBvbmx5IHN1cHBvcnQgcmVhZGFibGUgYW5kIHdyaXRhYmxl IGZsYWdzICovCi0JaWYgKCEoZmxhZ3MgJiAoSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRh YmxlKSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JdCA9IChmbGFncyAmIElPTU1VRl93cml0YWJs ZSkgPyBwMm1faW9tbXVfbWFwX3J3IDogcDJtX2lvbW11X21hcF9ybzsKLQotCS8qCi0JICogVGhl IGZ1bmN0aW9uIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5IHJlcGxhY2VzIHRoZSBjdXJyZW50IG1h cHBpbmcKLQkgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4uLgotCSAqLwotCXJldHVybiBndWVz dF9waHlzbWFwX2FkZF9lbnRyeShkLCBfZ2ZuKGRmbl94KGRmbikpLCBfbWZuKGRmbl94KGRmbikp LAotCQkJCSAgICAgICAwLCB0KTsKLX0KLQotc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3Nt bXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3Mp Ci17Ci0JLyoKLQkgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZ250dGFi IGNvZGUgd2hlbiB0aGUgZG9tYWluCi0JICogaXMgZGlyZWN0IG1hcHBlZCAoaS5lLiBnZm4gPT0g bWZuID09IGRmbikuCi0JICovCi0JaWYgKCAhaXNfZG9tYWluX2RpcmVjdF9tYXBwZWQoZCkgKQot CQlyZXR1cm4gLUVJTlZBTDsKLQotCXJldHVybiBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQs IF9nZm4oZGZuX3goZGZuKSksIF9tZm4oZGZuX3goZGZuKSksIDApOwotfQotCiBzdGF0aWMgY29u c3Qgc3RydWN0IGlvbW11X29wcyBhcm1fc21tdV9pb21tdV9vcHMgPSB7CiAgICAgLmluaXQgPSBh cm1fc21tdV9pb21tdV9kb21haW5faW5pdCwKICAgICAuaHdkb21faW5pdCA9IGFybV9zbW11X2lv bW11X2h3ZG9tX2luaXQsCkBAIC0yNzg2LDggKzI3NDIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGlvbW11X29wcyBhcm1fc21tdV9pb21tdV9vcHMgPSB7CiAgICAgLmlvdGxiX2ZsdXNoX2FsbCA9 IGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbCwKICAgICAuYXNzaWduX2RldmljZSA9IGFybV9zbW11 X2Fzc2lnbl9kZXYsCiAgICAgLnJlYXNzaWduX2RldmljZSA9IGFybV9zbW11X3JlYXNzaWduX2Rl diwKLSAgICAubWFwX3BhZ2UgPSBhcm1fc21tdV9tYXBfcGFnZSwKLSAgICAudW5tYXBfcGFnZSA9 IGFybV9zbW11X3VubWFwX3BhZ2UsCisgICAgLm1hcF9wYWdlID0gYXJtX2lvbW11X21hcF9wYWdl LAorICAgIC51bm1hcF9wYWdlID0gYXJtX2lvbW11X3VubWFwX3BhZ2UsCiB9OwogCiBzdGF0aWMg X19pbml0IGNvbnN0IHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKmZpbmRfc21tdShjb25zdCBzdHJ1 Y3QgZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11Lmgg Yi94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmgKaW5kZXggOTA0YzlhZS4uMjBkODY1ZSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS1hcm0vaW9tbXUuaApAQCAtMjYsNiArMjYsMTMgQEAgc3RydWN0IGFyY2hfaW9tbXUKIGNvbnN0 IHN0cnVjdCBpb21tdV9vcHMgKmlvbW11X2dldF9vcHModm9pZCk7CiB2b2lkIGlvbW11X3NldF9v cHMoY29uc3Qgc3RydWN0IGlvbW11X29wcyAqb3BzKTsKIAorLyogbWFwcGluZyBoZWxwZXJzICov CitpbnQgX19tdXN0X2NoZWNrIGFybV9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBk Zm5fdCBkZm4sIG1mbl90IG1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpOworaW50IF9fbXVzdF9jaGVjayBhcm1faW9tbXVf dW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpOworCiAjZW5k aWYgLyogX19BUkNIX0FSTV9JT01NVV9IX18gKi8KIAogLyoKLS0gCjIuNy40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==