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.5 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 5CCA9C432C1 for ; Tue, 24 Sep 2019 15:31:11 +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 24A9620665 for ; Tue, 24 Sep 2019 15:31:11 +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="jCBvhVL5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 24A9620665 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 1iCmmG-0007mz-Nw; Tue, 24 Sep 2019 15:30:56 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iCmmF-0007mk-Vj for xen-devel@lists.xenproject.org; Tue, 24 Sep 2019 15:30:56 +0000 X-Inumbo-ID: 49af3b80-dee0-11e9-8628-bc764e2007e4 Received: from mail-lf1-x144.google.com (unknown [2a00:1450:4864:20::144]) by localhost (Halon) with ESMTPS id 49af3b80-dee0-11e9-8628-bc764e2007e4; Tue, 24 Sep 2019 15:30:50 +0000 (UTC) Received: by mail-lf1-x144.google.com with SMTP id t8so1732209lfc.13 for ; Tue, 24 Sep 2019 08:30:50 -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=jwXiyhMbIwZuEAyCZXPBQ4ZYbNBEOMdJ8KLzMT9+Tn4=; b=jCBvhVL5Ca3EPviq1hF8wK5fDyp/4Qmjatxv42rP/6hd1hShmR83HrVfJVfpdMq3tz CzP6kguUfbEdEv0+U3L2eWN6MAfFHRkCQ1groD5KiZqxpSbSFo8F1nOAjMj7866E2209 b6lf39kIQt06KEt3UfwPNNEr26lvWQHOqqquoUHjAlS9db8fV5zeeRchgnfNYpvirfsh dBsvnsTleNDk56yghd9ge8nJPiCriyeOrIbQ3JdNNLdm/MYj96iHQN0vy5wHGECJP96p ySHol7d2eTz9z9dZzGoeU3eRNVG1PMyzgwMZ7REvJjH6bH1CmIeetJmRzmjoQI+hgr5+ zjoA== 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=jwXiyhMbIwZuEAyCZXPBQ4ZYbNBEOMdJ8KLzMT9+Tn4=; b=Du1cUL6BoriYvaL/uSw/gdYKJu0isRIlhmbvoJEwCNJYFJaMp7OEswGhXJXd6YNgkL Yf6IeBrbacUxnYONcPoDeP2v/odNOTNWsq4xO8NeVSq2w6FeWFO2uA6Z/irSa8dolOPk x1XdupqUWAft/cHi+6ksWEF9lYlYA/zGPrvIW8z0j10prye6IMtPAMEp8/8nV7+ByGdr 8G6voFCTgv9546Mij8Yx1UP8YvgFybUSflwd2NVxs/xp1QREU72yKiElU7S/I+MVgSYD IULFoH3VnKGbqZXYsvrMuAy1kORKdKYyKmEvvNok3TxITEoBgk8K6EKDzMExWbMQyFl4 2qOQ== X-Gm-Message-State: APjAAAUgj3xAnRlwChI3W9DQL0mytyaFAiBfGHRe2FQfDST4sprNvvPQ 7xuEyGZyG1Ajo06PJzimx0+giP7tzxo= X-Google-Smtp-Source: APXvYqyXjFTMeIjPtvc5DfU9Xwf+Z0jqaOtA/6PaG1qMMesmZTGF8D0kNrl49Fkzkd53oUISpX5hRQ== X-Received: by 2002:a05:6512:419:: with SMTP id u25mr2238873lfk.165.1569339049600; Tue, 24 Sep 2019 08:30:49 -0700 (PDT) Received: from otyshchenko.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua. [85.223.141.74]) by smtp.gmail.com with ESMTPSA id z128sm525818lfa.1.2019.09.24.08.30.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 24 Sep 2019 08:30:49 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org Date: Tue, 24 Sep 2019 18:30:20 +0300 Message-Id: <1569339027-19484-2-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1569339027-19484-1-git-send-email-olekstysh@gmail.com> References: <1569339027-19484-1-git-send-email-olekstysh@gmail.com> Subject: [Xen-devel] [PATCH V5 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 bGJhY2tzLiBUaGVzZSBjYWxsYmFja3MgbmVpdGhlciBjb250YWluIGFueQpTTU1VIHNwZWNpZmlj IGluZm8gbm9yIHBlcmZvcm0gYW55IFNNTVUgc3BlY2lmaWMgYWN0aW9ucyBhbmQgYXJlIGdvaW5n CnRvIGJlIHRoZSBzYW1lIGFjcm9zcyBhbGwgSU9NTVUgZHJpdmVycyB3aGljaCBIL1cgSVAgc2hh cmVzIFAyTQp3aXRoIHRoZSBDUFUgbGlrZSBTTU1VIGRvZXMuCgpTbywgbW92ZSBjYWxsYmFja3Mg dG8gaW9tbXVfaGVscGVycy5jIGZvciB0aGUgdXBjb21pbmcgSVBNTVUgZHJpdmVyCnRvIGJlIGFi bGUgdG8gcmUtdXNlIHRoZW0uCgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8 b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+CkFja2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1 bGllbi5ncmFsbEBhcm0uY29tPgoKLS0tCkNoYW5nZXMgVjMgLT4gVjQ6CiAgICAtIGFkZGVkIEp1 bGllbidzIEEtYgogICAgLSBmaXhlZCBHcmFtbWF0aWNhbCBlcnJvcgogICAgLSBjbGFyaWZpZWQg Y29tbWVudCBpbiBhIGhlYWRlcgoKQ2hhbmdlcyBWMiAtPiBWMzoKICAgIC0gcHV0IGhlYWRlcnMg aW4gYWxwaGFiZXRpY2FsIG9yZGVyCiAgICAtIHJldGFpbmVkIENvcHlyaWdodCBmcm9tIHRoZSBT TU1VIGNvZGUKLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vTWFrZWZpbGUgICAgICAg IHwgIDIgKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pb21tdV9oZWxwZXJzLmMgfCA4 NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YXJtL3NtbXUuYyAgICAgICAgICB8IDQ4ICstLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9h c20tYXJtL2lvbW11LmggICAgICAgICAgICAgICAgIHwgMTAgKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCA5NyBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCgpkaWZmIC0tZ2l0IGEv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL01ha2VmaWxlIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvYXJtL01ha2VmaWxlCmluZGV4IGIzZWZjZmQuLjRhYmI4N2EgMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hcm0vTWFrZWZpbGUKQEAgLTEsMiArMSwyIEBACi1vYmoteSArPSBpb21tdS5vCitv YmoteSArPSBpb21tdS5vIGlvbW11X2hlbHBlcnMubwogb2JqLSQoQ09ORklHX0FSTV9TTU1VKSAr PSBzbW11Lm8KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pb21tdV9o ZWxwZXJzLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNmUyYjgKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVycy5jCkBAIC0wLDAg KzEsODQgQEAKKy8qCisgKiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfaGVscGVy cy5jCisgKgorICogQ29udGFpbnMgdmFyaW91cyBoZWxwZXJzIHRvIGJlIHVzZWQgYnkgSU9NTVUg ZHJpdmVycy4KKyAqCisgKiBCYXNlZCBvbiBYZW4ncyBTTU1VIGRyaXZlcjoKKyAqICAgIHhlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg TGluYXJvIExpbWl0ZWQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEVQQU0gU3lzdGVtcyBJ bmMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0 aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lu Y2x1ZGUgPHhlbi9pb21tdS5oPgorI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRlIDx4ZW4v c2NoZWQuaD4KKworI2luY2x1ZGUgPGFzbS9kZXZpY2UuaD4KKworLyogU2hvdWxkIG9ubHkgYmUg dXNlZCBpZiBQMk0gVGFibGUgaXMgc2hhcmVkIGJldHdlZW4gdGhlIENQVSBhbmQgdGhlIElPTU1V LiAqLworaW50IF9fbXVzdF9jaGVjayBhcm1faW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAq ZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgKmZsdXNoX2ZsYWdzKQoreworICAgIHAybV90eXBlX3QgdDsKKwor ICAgIC8qCisgICAgICogR3JhbnQgbWFwcGluZ3MgY2FuIGJlIHVzZWQgZm9yIERNQSByZXF1ZXN0 cy4gVGhlIGRldl9idXNfYWRkcgorICAgICAqIHJldHVybmVkIGJ5IHRoZSBoeXBlcmNhbGwgaXMg dGhlIE1GTiAobm90IHRoZSBJUEEpLiBGb3IgZGV2aWNlCisgICAgICogcHJvdGVjdGVkIGJ5IGFu IElPTU1VLCBYZW4gbmVlZHMgdG8gYWRkIGEgMToxIG1hcHBpbmcgaW4gdGhlIGRvbWFpbgorICAg ICAqIHAybSB0byBhbGxvdyBETUEgcmVxdWVzdCB0byB3b3JrLgorICAgICAqIFRoaXMgaXMgb25s eSB2YWxpZCB3aGVuIHRoZSBkb21haW4gaXMgZGlyZWN0ZWQgbWFwcGVkLiBIZW5jZSB0aGlzCisg ICAgICogZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBnbnR0YWIgY29kZSB3aXRoIGdm biA9PSBtZm4gPT0gZGZuLgorICAgICAqLworICAgIEJVR19PTighaXNfZG9tYWluX2RpcmVjdF9t YXBwZWQoZCkpOworICAgIEJVR19PTihtZm5feChtZm4pICE9IGRmbl94KGRmbikpOworCisgICAg LyogV2Ugb25seSBzdXBwb3J0IHJlYWRhYmxlIGFuZCB3cml0YWJsZSBmbGFncyAqLworICAgIGlm ICggIShmbGFncyAmIChJT01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpKSApCisgICAg ICAgIHJldHVybiAtRUlOVkFMOworCisgICAgdCA9IChmbGFncyAmIElPTU1VRl93cml0YWJsZSkg PyBwMm1faW9tbXVfbWFwX3J3IDogcDJtX2lvbW11X21hcF9ybzsKKworICAgIC8qCisgICAgICog VGhlIGZ1bmN0aW9uIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5IHJlcGxhY2VzIHRoZSBjdXJyZW50 IG1hcHBpbmcKKyAgICAgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4uLgorICAgICAqLworICAg IHJldHVybiBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBfZ2ZuKGRmbl94KGRmbikpLCBfbWZu KGRmbl94KGRmbikpLCAwLCB0KTsKK30KKworLyogU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBQMk0g VGFibGUgaXMgc2hhcmVkIGJldHdlZW4gdGhlIENQVSBhbmQgdGhlIElPTU1VLiAqLworaW50IF9f bXVzdF9jaGVjayBhcm1faW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBk Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAq Zmx1c2hfZmxhZ3MpCit7CisgICAgLyoKKyAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5 IGJlIHVzZWQgYnkgZ250dGFiIGNvZGUgd2hlbiB0aGUgZG9tYWluCisgICAgICogaXMgZGlyZWN0 IG1hcHBlZCAoaS5lLiBnZm4gPT0gbWZuID09IGRmbikuCisgICAgICovCisgICAgaWYgKCAhaXNf ZG9tYWluX2RpcmVjdF9tYXBwZWQoZCkgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAg IHJldHVybiBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4oZGZuX3goZGZuKSksIF9t Zm4oZGZuX3goZGZuKSksIDApOworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9k ZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGlu ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3Nt bXUuYwppbmRleCBmMTUxYjlmLi44YWU5ODZhIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11 LmMKQEAgLTI3MzQsNTAgKzI3MzQsNiBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV9pb21tdV9kb21h aW5fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIAl4ZnJlZSh4ZW5fZG9tYWluKTsKIH0KIAot c3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAq ZCwgZGZuX3QgZGZuLAotCQkJCQkgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IGZsYWdzLAotCQkJ CQkgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpCi17Ci0JcDJtX3R5cGVfdCB0OwotCi0JLyoK LQkgKiBHcmFudCBtYXBwaW5ncyBjYW4gYmUgdXNlZCBmb3IgRE1BIHJlcXVlc3RzLiBUaGUgZGV2 X2J1c19hZGRyCi0JICogcmV0dXJuZWQgYnkgdGhlIGh5cGVyY2FsbCBpcyB0aGUgTUZOIChub3Qg dGhlIElQQSkuIEZvciBkZXZpY2UKLQkgKiBwcm90ZWN0ZWQgYnkgYW4gSU9NTVUsIFhlbiBuZWVk cyB0byBhZGQgYSAxOjEgbWFwcGluZyBpbiB0aGUgZG9tYWluCi0JICogcDJtIHRvIGFsbG93IERN QSByZXF1ZXN0IHRvIHdvcmsuCi0JICogVGhpcyBpcyBvbmx5IHZhbGlkIHdoZW4gdGhlIGRvbWFp biBpcyBkaXJlY3RlZCBtYXBwZWQuIEhlbmNlIHRoaXMKLQkgKiBmdW5jdGlvbiBzaG91bGQgb25s eSBiZSB1c2VkIGJ5IGdudHRhYiBjb2RlIHdpdGggZ2ZuID09IG1mbiA9PSBkZm4uCi0JICovCi0J QlVHX09OKCFpc19kb21haW5fZGlyZWN0X21hcHBlZChkKSk7Ci0JQlVHX09OKG1mbl94KG1mbikg IT0gZGZuX3goZGZuKSk7Ci0KLQkvKiBXZSBvbmx5IHN1cHBvcnQgcmVhZGFibGUgYW5kIHdyaXRh YmxlIGZsYWdzICovCi0JaWYgKCEoZmxhZ3MgJiAoSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dy aXRhYmxlKSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JdCA9IChmbGFncyAmIElPTU1VRl93cml0 YWJsZSkgPyBwMm1faW9tbXVfbWFwX3J3IDogcDJtX2lvbW11X21hcF9ybzsKLQotCS8qCi0JICog VGhlIGZ1bmN0aW9uIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5IHJlcGxhY2VzIHRoZSBjdXJyZW50 IG1hcHBpbmcKLQkgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4uLgotCSAqLwotCXJldHVybiBn dWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBfZ2ZuKGRmbl94KGRmbikpLCBfbWZuKGRmbl94KGRm bikpLAotCQkJCSAgICAgICAwLCB0KTsKLX0KLQotc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJt X3NtbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxh Z3MpCi17Ci0JLyoKLQkgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZ250 dGFiIGNvZGUgd2hlbiB0aGUgZG9tYWluCi0JICogaXMgZGlyZWN0IG1hcHBlZCAoaS5lLiBnZm4g PT0gbWZuID09IGRmbikuCi0JICovCi0JaWYgKCAhaXNfZG9tYWluX2RpcmVjdF9tYXBwZWQoZCkg KQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCXJldHVybiBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdl KGQsIF9nZm4oZGZuX3goZGZuKSksIF9tZm4oZGZuX3goZGZuKSksIDApOwotfQotCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGlvbW11X29wcyBhcm1fc21tdV9pb21tdV9vcHMgPSB7CiAgICAgLmluaXQg PSBhcm1fc21tdV9pb21tdV9kb21haW5faW5pdCwKICAgICAuaHdkb21faW5pdCA9IGFybV9zbW11 X2lvbW11X2h3ZG9tX2luaXQsCkBAIC0yNzg2LDggKzI3NDIsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGlvbW11X29wcyBhcm1fc21tdV9pb21tdV9vcHMgPSB7CiAgICAgLmlvdGxiX2ZsdXNoX2Fs bCA9IGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbCwKICAgICAuYXNzaWduX2RldmljZSA9IGFybV9z bW11X2Fzc2lnbl9kZXYsCiAgICAgLnJlYXNzaWduX2RldmljZSA9IGFybV9zbW11X3JlYXNzaWdu X2RldiwKLSAgICAubWFwX3BhZ2UgPSBhcm1fc21tdV9tYXBfcGFnZSwKLSAgICAudW5tYXBfcGFn ZSA9IGFybV9zbW11X3VubWFwX3BhZ2UsCisgICAgLm1hcF9wYWdlID0gYXJtX2lvbW11X21hcF9w YWdlLAorICAgIC51bm1hcF9wYWdlID0gYXJtX2lvbW11X3VubWFwX3BhZ2UsCiB9OwogCiBzdGF0 aWMgX19pbml0IGNvbnN0IHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKmZpbmRfc21tdShjb25zdCBz dHJ1Y3QgZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11 LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmgKaW5kZXggOTA0YzlhZS4uMTFkZWRiYSAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vaW9tbXUuaApAQCAtMjYsNiArMjYsMTYgQEAgc3RydWN0IGFyY2hfaW9tbXUKIGNv bnN0IHN0cnVjdCBpb21tdV9vcHMgKmlvbW11X2dldF9vcHModm9pZCk7CiB2b2lkIGlvbW11X3Nl dF9vcHMoY29uc3Qgc3RydWN0IGlvbW11X29wcyAqb3BzKTsKIAorLyoKKyAqIFRoZSBtYXBwaW5n IGhlbHBlcnMgYmVsb3cgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBQMk0gVGFibGUgaXMgc2hhcmVk CisgKiBiZXR3ZWVuIHRoZSBDUFUgYW5kIHRoZSBJT01NVS4KKyAqLworaW50IF9fbXVzdF9jaGVj ayBhcm1faW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBt Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxh Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmZs dXNoX2ZsYWdzKTsKK2ludCBfX211c3RfY2hlY2sgYXJtX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0 IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgKmZsdXNoX2ZsYWdzKTsKKwogI2VuZGlmIC8qIF9fQVJDSF9BUk1f SU9NTVVfSF9fICovCiAKIC8qCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=