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=-6.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS 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 3A99BC0650E for ; Tue, 11 Jun 2019 18:46:45 +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 0AA31217F5 for ; Tue, 11 Jun 2019 18:46:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=epam.com header.i=@epam.com header.b="f8J21pdQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0AA31217F5 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=epam.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 1halmy-0006Fj-D4; Tue, 11 Jun 2019 18:46:32 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1halmw-0006ES-Rt for xen-devel@lists.xenproject.org; Tue, 11 Jun 2019 18:46:30 +0000 X-Inumbo-ID: 392b2195-8c79-11e9-8980-bc764e045a96 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown [2a01:111:f400:fe1f::625]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 392b2195-8c79-11e9-8980-bc764e045a96; Tue, 11 Jun 2019 18:46:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PVXKpcjH7YIJeImVuPonlJXNDhPaif/O9/LFbxfxlg0=; b=f8J21pdQ/g04fMZ4kgSHJZDwEU71c9Uep44G8XVGv1AYIGS53cm4TjQ9l4nBtY7h8EpII+U4dmTRKBpjUDgT/w+oO950YJANY7dS69Gu8WZUH46mvu+ArXKhHfXHFcf4qNoxPPvzq3N1xwl+b6G1ouOq0+Ldi/YiFjtB1UuCxZHuDoHjHomI07Erh6uClJvfxXExUwV9ufN46tYlTxvU2+rHqoMk/00jYJK6kGYXZxCD3aaqbLTt2HtP2wlSwQntge2hJpMxoRDs7DNumYkME6AsbH/Qr4WX43CQKgCL4+TS84QzBSyMfJZkOyOZVM5Brg/okQvxDCeLCurHrdy95Q== Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.176.214.210) by AM0PR03MB3795.eurprd03.prod.outlook.com (52.135.146.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.17; Tue, 11 Jun 2019 18:46:27 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::d09e:ef3:88b6:b1eb]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::d09e:ef3:88b6:b1eb%7]) with mapi id 15.20.1965.011; Tue, 11 Jun 2019 18:46:27 +0000 From: Volodymyr Babchuk To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH v6 03/10] xen/arm: optee: add OP-TEE mediator skeleton Thread-Index: AQHVIIX5JIrUFB/Eb0ygbhRZDB7RGA== Date: Tue, 11 Jun 2019 18:46:26 +0000 Message-ID: <20190611184541.7281-4-volodymyr_babchuk@epam.com> References: <20190611184541.7281-1-volodymyr_babchuk@epam.com> In-Reply-To: <20190611184541.7281-1-volodymyr_babchuk@epam.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Volodymyr_Babchuk@epam.com; x-originating-ip: [85.223.209.22] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cddd5520-a81f-44be-f6c8-08d6ee9d1c39 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:AM0PR03MB3795; x-ms-traffictypediagnostic: AM0PR03MB3795: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 006546F32A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(346002)(136003)(376002)(396003)(366004)(189003)(199004)(73956011)(256004)(1076003)(305945005)(5660300002)(14444005)(76116006)(486006)(7736002)(91956017)(53936002)(14454004)(71190400001)(71200400001)(26005)(80792005)(76176011)(66946007)(2501003)(6506007)(102836004)(25786009)(55236004)(186003)(36756003)(86362001)(68736007)(2351001)(99286004)(2906002)(81166006)(81156014)(66476007)(4326008)(5640700003)(8676002)(8936002)(64756008)(66446008)(6512007)(478600001)(66556008)(316002)(6486002)(54906003)(2616005)(446003)(6116002)(6436002)(3846002)(66066001)(11346002)(72206003)(476003)(6916009)(2004002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB3795; H:AM0PR03MB4148.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: epam.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 5WHgy67uncY1JRKhcNETz5Gr56gwZfBZPwKOVVaO+BuL0kLi4p6VzgcXq99GbowO/1OLVLOS0iDLjTvcQ/ChWEk0u5mJfHqauZRTJWM+w/IKRtRyif0VBXVaS3mDTSyaocXPb2TNROnotCyV1kaO00Ge1T7lkZfMsbJLlGqn6B4GoBDfUpaDSmK87NtrABh8SRuy1j3/dLOeUU8G74w4Z2wisogLAB4Xn2bBbfoSAIct8/fRncUtZs0KlFCvTkAl114IOdurMKP3m8cA8I4vQ/ubs1lD6LVR7m34Gf/z5aJmkcDgMX+8AN172S/jYLcvTS9nRfaEXbzFXhplibl5JUhoYD9uf47R67vXWpBlbmc65lcCcfKmwnoxHDG4wxmW3Ua5LPEOKqO1xS4kL9HMS7AheCK5/G600kNYlmBFLK8= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: cddd5520-a81f-44be-f6c8-08d6ee9d1c39 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2019 18:46:26.9791 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Volodymyr_Babchuk@epam.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB3795 Subject: [Xen-devel] [PATCH v6 03/10] xen/arm: optee: add OP-TEE mediator skeleton 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: "tee-dev@lists.linaro.org" , Julien Grall , Stefano Stabellini , Volodymyr Babchuk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QWRkIHZlcnkgYmFzaWMgT1AtVEVFIG1lZGlhdG9yLiBJdCBjYW4gcHJvYmUgZm9yIE9QLVRFRSBw cmVzZW5jZSwKdGVsbCBpdCBhYm91dCBkb21haW4gY3JlYXRpb24vZGVzdHJ1Y3Rpb24gYW5kIHRo ZW4gcmV0dXJuIGFuIGVycm9yCnRvIGFsbCBjYWxscyB0byB0aGUgZ3Vlc3QuCgpUaGlzIGNvZGUg aXNzdWVzIHR3byBub24tcHJlZW1wdGlibGUgY2FsbHMgdG8gT1AtVEVFOiB0byBjcmVhdGUgYW5k CnRvIGRlc3Ryb3kgY2xpZW50IGNvbnRleHQuIFRoZXkgY2FuJ3QgYmxvY2sgaW4gT1AtVEVFLCBh cyB0aGV5IGFyZQpjb25zaWRlcmVkICJmYXN0IGNhbGxzIiBpbiB0ZXJtcyBvZiBBUk0gU01DQ0Mu CgpTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBh bS5jb20+CkFja2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKLS0t CiBBbGwgdGhlIHBhdGNoZXMgdG8gb3B0ZWUuYyBzaG91bGQgYmUgbWVyZ2VkIHRvZ2V0aGVyLiBU aGV5IHdlcmUKIHNwbGl0IHRvIGVhc2UgdXAgcmV2aWV3LiBCdXQgdGhleSBkZXBlbmQgaGVhdmls eSBvbiBlYWNoIG90aGVyLgoKQ2hhbmdlcyBmcm9tIHY0OgogIC0gUmVtb3ZlZCBPUFRFRV9FTkFC TEVEIG1hY3JvLiBFbXB0eSAoZm9yIG5vdykgc3RydWN0IG9wdGVlX2RvbWFpbgogICAgaXMgdXNl ZCBpbnN0ZWFkLgogIC0gUmVtb3ZlZCBmb3J3YXJkX2NhbGwoKSBmdW5jdGlvbiwgbWVkaWF0b3Ig bm93IHdpbGwgcmV0dXJuCiAgICBPUFRFRV9TTUNfUkVUVVJOX0VOT1RBVkFJTCBmb3IgYWxsIHVu aW1wbGVtZW50ZWQgY2FsbHMKICAtIEZpeGVkIG1pc3Rha2Ugd2hlbiBPUFRFRV9TTUNfRlVOQ0lE X0dFVF9PU19SRVZJU0lPTiBpbnN0ZWFkIG9mCiAgICBPUFRFRV9TTUNfQ0FMTF9HRVRfT1NfUkVW SVNJT04gd2FzIHVzZWQKICAtIE9QLVRFRSBpcyBpbmZvcm1lZCBhYm91dCBkb21haW4gZGVzdHJ1 Y3Rpb24gaW4KICAgIG9wdGVlX3JlbGlucXVpc2hfcmVzb3VyY2VzKCkKICAtIHJlbW92ZWQgb3B0 ZWVfZG9tYWluX2Rlc3Ryb3koKSBmdW5jdGlvbiBiZWNhdXNlIGFsbCBqb2IgaXMgZG9uZQogICAg aW4gdGhlIG9wdGVlX3JlbGlucXVpc2hfcmVzb3VyY2VzKCkgZnVuY3Rpb24KCkNoYW5nZXMgZnJv bSB2MzoKICAtIEludHJvZHVjZWQgb3B0ZWVfcmVsaW5xdWlzaF9yZXNvdXJjZXMoKSBmdW5jdGlv biB0byBmcmVlCiAgICBtZWRpYXRvciByZXNvdXJjZXMgaW4gYSBtb3JlIGNvbnRyb2xsYWJsZSB3 YXkKCkNoYW5nZXMgZnJvbSB2MjoKICAtIEZpeGVkIGNvZGluZyBzdHlsZQogIC0gSW50cm9kdWNl ZCB0ZWUvS2NvbmZpZwogIC0gRml4ZWQgZXJyb3IgbWVzc2FnZXMKLS0tCiB4ZW4vYXJjaC9hcm0v S2NvbmZpZyAgICAgICAgICB8ICAgMiArCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgICB8 ICAgMyArLQogeGVuL2FyY2gvYXJtL3RlZS9LY29uZmlnICAgICAgfCAgIDQgKwogeGVuL2FyY2gv YXJtL3RlZS9NYWtlZmlsZSAgICAgfCAgIDEgKwogeGVuL2FyY2gvYXJtL3RlZS9vcHRlZS5jICAg ICAgfCAxNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUv YXNtLWFybS9kb21haW4uaCAgfCAgIDMgKwogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gtYXJtLmgg fCAgIDEgKwogNyBmaWxlcyBjaGFuZ2VkLCAxNzkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS90ZWUvS2NvbmZpZwogY3JlYXRlIG1v ZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYwoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9LY29uZmlnIGIveGVuL2FyY2gvYXJtL0tjb25maWcKaW5kZXggY2FhZjM3N2EzMy4uMDRk Mzk5ZmZiZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcKKysrIGIveGVuL2FyY2gv YXJtL0tjb25maWcKQEAgLTIzOCwzICsyMzgsNSBAQCBzb3VyY2UgImFyY2gvYXJtL3BsYXRmb3Jt cy9LY29uZmlnIgogc291cmNlICJjb21tb24vS2NvbmZpZyIKIAogc291cmNlICJkcml2ZXJzL0tj b25maWciCisKK3NvdXJjZSAiYXJjaC9hcm0vdGVlL0tjb25maWciCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggZDI3YTEzN2Y3 YS4uZTg2NTc0NDdkNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW4uYwpAQCAtNjQ4LDcgKzY0OCw4IEBAIGludCBhcmNoX3Nhbml0aXNl X2RvbWFpbl9jb25maWcoc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpCiAg ICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAotICAgIGlmICggY29uZmlnLT5hcmNoLnRl ZV90eXBlICE9IFhFTl9ET01DVExfQ09ORklHX1RFRV9OT05FICkKKyAgICBpZiAoIGNvbmZpZy0+ YXJjaC50ZWVfdHlwZSAhPSBYRU5fRE9NQ1RMX0NPTkZJR19URUVfTk9ORSAmJgorICAgICAgICAg Y29uZmlnLT5hcmNoLnRlZV90eXBlICE9IHRlZV9nZXRfdHlwZSgpICkKICAgICB7CiAgICAgICAg IGRwcmludGsoWEVOTE9HX0lORk8sICJVbnN1cHBvcnRlZCBURUUgdHlwZVxuIik7CiAgICAgICAg IHJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9LY29uZmlnIGIv eGVuL2FyY2gvYXJtL3RlZS9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjViODI5ZGIyZTkKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vYXJjaC9hcm0vdGVlL0tj b25maWcKQEAgLTAsMCArMSw0IEBACitjb25maWcgT1BURUUKKwlib29sICJFbmFibGUgT1AtVEVF IG1lZGlhdG9yIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gVEVFCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vdGVlL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQppbmRleCBj NTRkNDc5NmZmLi45ODJjODc5Njg0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdGVlL01ha2Vm aWxlCisrKyBiL3hlbi9hcmNoL2FybS90ZWUvTWFrZWZpbGUKQEAgLTEgKzEsMiBAQAogb2JqLXkg Kz0gdGVlLm8KK29iai0kKENPTkZJR19PUFRFRSkgKz0gb3B0ZWUubwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL3RlZS9vcHRlZS5jIGIveGVuL2FyY2gvYXJtL3RlZS9vcHRlZS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmU5YjY5YmQyZDIKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vYXJjaC9hcm0vdGVlL29wdGVlLmMKQEAgLTAsMCArMSwxNjYgQEAKKy8qCisgKiB4 ZW4vYXJjaC9hcm0vdGVlL29wdGVlLmMKKyAqCisgKiBPUC1URUUgbWVkaWF0b3IuIEl0IHNpdHMg aW4gYmV0d2VlbiBPUC1URUUgYW5kIGd1ZXN0cyBhbmQgcGVyZm9ybXMKKyAqIGFjdHVhbCBjYWxs cyB0byBPUC1URUUgd2hlbiBzb21lIGd1ZXN0IHRyaWVzIHRvIGludGVyYWN0IHdpdGgKKyAqIE9Q LVRFRS4gQXMgT1AtVEVFIGRvZXMgbm90IGtub3cgYWJvdXQgc2Vjb25kIHN0YWdlIE1NVSB0cmFu c2xhdGlvbiwKKyAqIG1lZGlhdG9yIGRvZXMgdGhpcyB0cmFuc2xhdGlvbiBhbmQgcGVyZm9ybXMg b3RoZXIgaG91c2VrZWVwaW5nIHRhc2tzLgorICoKKyAqIE9QLVRFRSBBQkkvcHJvdG9jb2wgaXMg ZGVzY3JpYmVkIGluIHR3byBoZWFkZXIgZmlsZXM6CisgKiAgLSBvcHRlZV9zbWMuaCBwcm92aWRl cyBpbmZvcm1hdGlvbiBhYm91dCBTTUNzOiBhbGwgcG9zc2libGUgY2FsbHMsCisgKiAgICByZWdp c3RlciBhbGxvY2F0aW9uIGFuZCByZXR1cm4gY29kZXMuCisgKiAgLSBvcHRlZV9tc2cuaCBwcm92 aWRlcyBmb3JtYXQgZm9yIG1lc3NhZ2VzIHRoYXQgYXJlIHBhc3NlZCB3aXRoCisgKiAgICBzdGFu ZGFyZCBjYWxsIE9QVEVFX1NNQ19DQUxMX1dJVEhfQVJHLgorICoKKyAqIFZvbG9keW15ciBCYWJj aHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAxOC0y MDE5IEVQQU0gU3lzdGVtcy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKyAqLworCisjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CisjaW5jbHVkZSA8eGVu L3NjaGVkLmg+CisKKyNpbmNsdWRlIDxhc20vc21jY2MuaD4KKyNpbmNsdWRlIDxhc20vdGVlL3Rl ZS5oPgorI2luY2x1ZGUgPGFzbS90ZWUvb3B0ZWVfbXNnLmg+CisjaW5jbHVkZSA8YXNtL3RlZS9v cHRlZV9zbWMuaD4KKworLyogQ2xpZW50IElEIDAgaXMgcmVzZXJ2ZWQgZm9yIHRoZSBoeXBlcnZp c29yIGl0c2VsZiAqLworI2RlZmluZSBPUFRFRV9DTElFTlRfSUQoZG9tYWluKSAoKGRvbWFpbikt PmRvbWFpbl9pZCArIDEpCisKKy8qIERvbWFpbiBjb250ZXh0ICovCitzdHJ1Y3Qgb3B0ZWVfZG9t YWluIHsKK307CisKK3N0YXRpYyBib29sIG9wdGVlX3Byb2JlKHZvaWQpCit7CisgICAgc3RydWN0 IGR0X2RldmljZV9ub2RlICpub2RlOworICAgIHN0cnVjdCBhcm1fc21jY2NfcmVzIHJlc3A7CisK KyAgICAvKiBDaGVjayBmb3IgZW50cnkgaW4gZHRiICovCisgICAgbm9kZSA9IGR0X2ZpbmRfY29t cGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsICJsaW5hcm8sb3B0ZWUtdHoiKTsKKyAgICBpZiAoICFu b2RlICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLyogQ2hlY2sgVUlEICovCisgICAg YXJtX3NtY2NjX3NtYyhBUk1fU01DQ0NfQ0FMTF9VSURfRklEKFRSVVNURURfT1NfRU5EKSwgJnJl c3ApOworCisgICAgaWYgKCAodWludDMyX3QpcmVzcC5hMCAhPSBPUFRFRV9NU0dfVUlEXzAgfHwK KyAgICAgICAgICh1aW50MzJfdClyZXNwLmExICE9IE9QVEVFX01TR19VSURfMSB8fAorICAgICAg ICAgKHVpbnQzMl90KXJlc3AuYTIgIT0gT1BURUVfTVNHX1VJRF8yIHx8CisgICAgICAgICAodWlu dDMyX3QpcmVzcC5hMyAhPSBPUFRFRV9NU0dfVUlEXzMgKQorICAgICAgICByZXR1cm4gZmFsc2U7 CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGludCBvcHRlZV9kb21haW5faW5pdChz dHJ1Y3QgZG9tYWluICpkKQoreworICAgIHN0cnVjdCBhcm1fc21jY2NfcmVzIHJlc3A7CisgICAg c3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4OworCisgICAgY3R4ID0geHphbGxvYyhzdHJ1Y3Qgb3B0 ZWVfZG9tYWluKTsKKyAgICBpZiAoICFjdHggKQorICAgICAgICByZXR1cm4gLUVOT01FTTsKKwor ICAgIC8qCisgICAgICogSW5mb3JtIE9QLVRFRSBhYm91dCBhIG5ldyBndWVzdC4gIFRoaXMgaXMg YSAiRmFzdCIgY2FsbCBpbgorICAgICAqIHRlcm1zIG9mIE9QLVRFRS4gVGhpcyBiYXNpY2FsbHkg bWVhbnMgdGhhdCBpdCBjYW4ndCBiZQorICAgICAqIHByZWVtcHRlZCwgYmVjYXVzZSB0aGVyZSBp cyBubyB0aHJlYWQgYWxsb2NhdGVkIGZvciBpdCBpbgorICAgICAqIE9QLVRFRS4gTm8gYmxvY2tp bmcgY2FsbHMgY2FuIGJlIGlzc3VlZCBhbmQgaW50ZXJydXB0cyBhcmUKKyAgICAgKiBkaXNhYmxl ZC4KKyAgICAgKgorICAgICAqIGE3IHNob3VsZCBiZSAwLCBzbyB3ZSBjYW4ndCBza2lwIGxhc3Qg NiBwYXJhbWV0ZXJzIG9mIGFybV9zbWNjY19zbWMoKQorICAgICAqLworICAgIGFybV9zbWNjY19z bWMoT1BURUVfU01DX1ZNX0NSRUFURUQsIE9QVEVFX0NMSUVOVF9JRChkKSwgMCwgMCwgMCwgMCwg MCwgMCwKKyAgICAgICAgICAgICAgICAgICZyZXNwKTsKKyAgICBpZiAoIHJlc3AuYTAgIT0gT1BU RUVfU01DX1JFVFVSTl9PSyApCisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcg IiVwZDogVW5hYmxlIHRvIGNyZWF0ZSBPUFRFRSBjbGllbnQ6IHJjID0gMHglWFxuIiwKKyAgICAg ICAgICAgICAgIGQsICh1aW50MzJfdClyZXNwLmEwKTsKKworICAgICAgICB4ZnJlZShjdHgpOwor CisgICAgICAgIHJldHVybiAtRU5PREVWOworICAgIH0KKworICAgIGQtPmFyY2gudGVlID0gY3R4 OworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgb3B0ZWVfcmVsaW5xdWlzaF9yZXNv dXJjZXMoc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICBzdHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXNw OworCisgICAgaWYgKCAhZC0+YXJjaC50ZWUgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8q CisgICAgICogSW5mb3JtIE9QLVRFRSB0aGF0IGRvbWFpbiBpcyBzaHV0dGluZyBkb3duLiBUaGlz IGlzCisgICAgICogYWxzbyBhIGZhc3QgU01DIGNhbGwsIGxpa2UgT1BURUVfU01DX1ZNX0NSRUFU RUQsIHNvCisgICAgICogaXQgaXMgYWxzbyBub24tcHJlZW1wdGlibGUuCisgICAgICogQXQgdGhp cyB0aW1lIGFsbCBkb21haW4gVkNQVXMgc2hvdWxkIGJlIHN0b3BwZWQuIE9QLVRFRQorICAgICAq IHJlbGllcyBvbiB0aGlzLgorICAgICAqCisgICAgICogYTcgc2hvdWxkIGJlIDAsIHNvIHdlIGNh bid0IHNraXAgbGFzdCA2IHBhcmFtZXRlcnMgb2YgYXJtX3NtY2NjX3NtYygpCisgICAgICovCisg ICAgYXJtX3NtY2NjX3NtYyhPUFRFRV9TTUNfVk1fREVTVFJPWUVELCBPUFRFRV9DTElFTlRfSUQo ZCksIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICAmcmVzcCk7CisKKyAgICBY RlJFRShkLT5hcmNoLnRlZSk7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGJvb2wgb3B0 ZWVfaGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCit7CisgICAgaWYgKCAh Y3VycmVudC0+ZG9tYWluLT5hcmNoLnRlZSApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg IHN3aXRjaCAoIGdldF91c2VyX3JlZyhyZWdzLCAwKSApCisgICAgeworICAgIGNhc2UgT1BURUVf U01DX0NBTExTX0NPVU5UOgorICAgIGNhc2UgT1BURUVfU01DX0NBTExTX1VJRDoKKyAgICBjYXNl IE9QVEVFX1NNQ19DQUxMU19SRVZJU0lPTjoKKyAgICBjYXNlIE9QVEVFX1NNQ19DQUxMX0dFVF9P U19VVUlEOgorICAgIGNhc2UgT1BURUVfU01DX0NBTExfR0VUX09TX1JFVklTSU9OOgorICAgIGNh c2UgT1BURUVfU01DX0VOQUJMRV9TSE1fQ0FDSEU6CisgICAgY2FzZSBPUFRFRV9TTUNfRElTQUJM RV9TSE1fQ0FDSEU6CisgICAgY2FzZSBPUFRFRV9TTUNfR0VUX1NITV9DT05GSUc6CisgICAgY2Fz ZSBPUFRFRV9TTUNfRVhDSEFOR0VfQ0FQQUJJTElUSUVTOgorICAgIGNhc2UgT1BURUVfU01DX0NB TExfV0lUSF9BUkc6CisgICAgY2FzZSBPUFRFRV9TTUNfQ0FMTF9SRVRVUk5fRlJPTV9SUEM6Cisg ICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCAwLCBPUFRFRV9TTUNfUkVUVVJOX0VOT1RBVkFJTCk7 CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZh bHNlOworICAgIH0KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jfb3BzIG9w dGVlX29wcyA9Cit7CisgICAgLnByb2JlID0gb3B0ZWVfcHJvYmUsCisgICAgLmRvbWFpbl9pbml0 ID0gb3B0ZWVfZG9tYWluX2luaXQsCisgICAgLnJlbGlucXVpc2hfcmVzb3VyY2VzID0gb3B0ZWVf cmVsaW5xdWlzaF9yZXNvdXJjZXMsCisgICAgLmhhbmRsZV9jYWxsID0gb3B0ZWVfaGFuZGxlX2Nh bGwsCit9OworCitSRUdJU1RFUl9URUVfTUVESUFUT1Iob3B0ZWUsICJPUC1URUUiLCBYRU5fRE9N Q1RMX0NPTkZJR19URUVfT1BURUUsICZvcHRlZV9vcHMpOworCisvKgorICogTG9jYWwgdmFyaWFi bGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZz ZXQ6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21h aW4uaAppbmRleCAwZjE1MzcyMDk4Li4yOTYwYTUzZTY5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9hc20tYXJtL2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKQEAg LTk4LDYgKzk4LDkgQEAgc3RydWN0IGFyY2hfZG9tYWluCiAgICAgc3RydWN0IHZwbDAxMSB2cGww MTE7CiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19URUUKKyAgICB2b2lkICp0ZWU7CisjZW5kaWYK IH0gIF9fY2FjaGVsaW5lX2FsaWduZWQ7CiAKIHN0cnVjdCBhcmNoX3ZjcHUKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gt YXJtLmgKaW5kZXggYmI2OWMzODBlYy4uM2U4Y2RjMTUxZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvcHVibGljL2FyY2gtYXJtLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gtYXJtLmgK QEAgLTMwNiw2ICszMDYsNyBAQCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh2Y3B1X2d1ZXN0X2Nv bnRleHRfdCk7CiAjZGVmaW5lIFhFTl9ET01DVExfQ09ORklHX0dJQ19WMyAgICAgICAgMgogCiAj ZGVmaW5lIFhFTl9ET01DVExfQ09ORklHX1RFRV9OT05FICAgICAgMAorI2RlZmluZSBYRU5fRE9N Q1RMX0NPTkZJR19URUVfT1BURUUgICAgIDEKIAogc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZp ZyB7CiAgICAgLyogSU4vT1VUICovCi0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby94ZW4tZGV2ZWw=