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.8 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,URIBL_BLOCKED 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 A4410C072B5 for ; Tue, 21 May 2019 21:26:13 +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 6BFEF2173E for ; Tue, 21 May 2019 21:26:13 +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="CTonHs/X" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6BFEF2173E 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 1hTCGn-0008Da-IK; Tue, 21 May 2019 21:26:01 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTCGm-0008DB-N2 for xen-devel@lists.xenproject.org; Tue, 21 May 2019 21:26:00 +0000 X-Inumbo-ID: 05fe37c6-7c0f-11e9-8b54-476a08d18266 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown [40.107.6.84]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 05fe37c6-7c0f-11e9-8b54-476a08d18266; Tue, 21 May 2019 21:25:58 +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=NfSTs40VbIC7VZV/MLKlx2qJ5cVSMchV+zk3M1uj+BY=; b=CTonHs/XoT5BGNTfGTsBQHaQdoMsx/lXmkDcypgtAGwxI7TbVc3vct4cuQQqtdblMNCIE/CpfDFf71RFhpS7ruvZZp9i4trlvN9KTL0WAMOsTKG4YuLLNQYD07GNNuziPIvX2jYLpc6YtVcPZLD6wES0TUVOUkzHW947MZqQbGyU4E9geNl14Kat9rYhPLImwHMAapBVNDF9BId/cjRErWKglFsWe1l6++sllLrmn52gZv1tvALqAD8Kf9FWGBKqGBH76l/JTuM9/60LpWJPyHwTc9Tai72muuecTCYXhNwUnv7o9+TkHPDOkk7MN684RfZBAlkUKvTjnIpIb46Tqg== Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.176.214.210) by AM0PR03MB5698.eurprd03.prod.outlook.com (20.179.254.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.16; Tue, 21 May 2019 21:25:56 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::55c5:599a:1f80:208a]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::55c5:599a:1f80:208a%3]) with mapi id 15.20.1900.020; Tue, 21 May 2019 21:25:56 +0000 From: Volodymyr Babchuk To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH v5 04/10] xen/arm: optee: add fast calls handling Thread-Index: AQHVEBvGPrXQFGAaGUmy4LWcqWGj5A== Date: Tue, 21 May 2019 21:25:56 +0000 Message-ID: <20190521212530.12706-5-volodymyr_babchuk@epam.com> References: <20190521212530.12706-1-volodymyr_babchuk@epam.com> In-Reply-To: <20190521212530.12706-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: 646cf3e3-27d7-4962-b4ad-08d6de32e960 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:AM0PR03MB5698; x-ms-traffictypediagnostic: AM0PR03MB5698: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0044C17179 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(366004)(346002)(396003)(39860400002)(189003)(199004)(6512007)(6486002)(5640700003)(6436002)(68736007)(3846002)(2616005)(476003)(11346002)(6916009)(486006)(6116002)(76116006)(14444005)(256004)(64756008)(66476007)(478600001)(305945005)(66946007)(54906003)(316002)(7736002)(73956011)(71190400001)(72206003)(2501003)(66556008)(80792005)(71200400001)(66446008)(26005)(4326008)(14454004)(25786009)(102836004)(2906002)(55236004)(8936002)(81166006)(5660300002)(99286004)(66066001)(1076003)(36756003)(86362001)(53936002)(6506007)(81156014)(446003)(2351001)(186003)(8676002)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB5698; 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: algqNDD+eHYpT5LJOUtKPjVuHkHC9eQm81jH2dwsEEU8nvz3IYS3Fpi1voprqLkP3jwqvUdgkKtgok2BB221xKppq1n6fi7+C2Q2D+czur1DCNFSudC+5XV+C/tMBrCsEpmBeaF9frnIL0G9f3VZClBS65oBiTaOS1nGCg1Y/K13e8MTlpcl6az6QY3n1wK7cx5AxlPt02ZNWKSvt+Yw/qdIxlqI7O347+1gnNzkWh3Lco2unx/xSkPVFFhd5lhwHx7AVU/VOJmZZ/WQa8Gaw0MyeGkxdERW3V1U/Lc5viCXz91GdVOmJ1SYWX/zZYvrq2Rj3cQm/yLeUjt+T7R4xjbtSuj8EbwGw7iAuIMEFvM4/dD1Af3uM8R3nJDAoZctROB6m9TY04kSjcCLi33ue4aTjY9aMSrEm0Ss3HhKD7A= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: 646cf3e3-27d7-4962-b4ad-08d6de32e960 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2019 21:25:56.3714 (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-Transport-CrossTenantHeadersStamped: AM0PR03MB5698 Subject: [Xen-devel] [PATCH v5 04/10] xen/arm: optee: add fast calls handling 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" Message-ID: <20190521212556.47tA1CENeBKgLNo8uP4N41TRSnSxd58H67y2VwhciRw@z> VGhpcyBwYXRjaCBhZGRzIGhhbmRsaW5nIGZvciB0aGUgZmFzdCBTTUNzLiBBcyBuYW1lIHN1Z2dl c3RzLCB0aG9zZQpjYWxscyBjYW4ndCBiZSBwcmVlbXB0ZWQgYW5kIGFyZSB1c2VkIGZvciBhdXhp bGlhcnkgdGFza3Mgc3VjaCBhcwppbmZvcm1hdGlvbiByZXRyaWV2YWwuIE1vc3QgaGFuZGxlcnMg YXJlIHF1aXRlIHRyaXZpYWwsIHdpdGggZXhjZXB0aW9uCmZvciBjYXBhYmlsaXRpZXMgaW5mb3Jt YXRpb24uCgpDYXBhYmlsaXRpZXMgZXhjaGFuZ2Ugc2hvdWxkIGJlIGZpbHRlcmVkIG91dCwgc28g b25seSBjYXBzCmtub3duIHRvIG1lZGlhdG9yIGFyZSB1c2VkLiBBbHNvIG1lZGlhdG9yIGRpc2Fi bGVzIHN0YXRpYyBTSE0KbWVtb3J5IGNhcGFiaWxpdHksIGJlY2F1c2UgaXQgY2FuJ3Qgc2hhcmUg T1AtVEVFIG1lbW9yeSB3aXRoIGEgZG9tYWluLgpPbmx5IGRvbWFpbiBjYW4gc2hhcmUgbWVtb3J5 IHdpdGggT1AtVEVFLCBzbyBpdCBlbnN1cmVzIHRoYXQgT1AtVEVFCnN1cHBvcnRzIGR5bmFtaWMg U0hNLgoKQmFzaWNhbGx5LCBzdGF0aWMgU0hNIGlzIGEgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbiB3 aGljaCBpcyBhbHdheXMKbWFwcGVkIGludG8gT1AtVEVFIGFkZHJlc3Mgc3BhY2UuIEl0IGJlbG9u Z3MgdG8gT1AtVEVFLiBOb3JtYWxseSwKTlcgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlcmUsIHNv IGl0IGNhbiBjb21tdW5pY2F0ZSB3aXRoIE9QLVRFRS4KCk9uIG90aGVyIGhhbmQsIGR5bmFtaWMg U0hNIGlzIE5XJ3Mgb3duIG1lbW9yeSwgd2hpY2ggaXQgY2FuIHNoYXJlCndpdGggT1AtVEVFLiBP UC1URUUgbWFwcyB0aGlzIG1lbW9yeSBkeW5hbWljYWxseSwgd2hlbiBpdCB3YW50cyB0bwphY2Nl c3MgaXQuCgpCZWNhdXNlIG1lZGlhdG9yIGNhbid0IHNoYXJlIG9uZSBzdGF0aWMgU0hNIHJlZ2lv biB3aXRoIGFsbCBndWVzdHMsIGl0Cmp1c3QgZGlzYWJsZXMgaXQgZm9yIGFsbCBvZiB0aGVtLiBJ dCBpcyBwb3NzaWJsZSB0byBtYWtlIGV4Y2VwdGlvbiBmb3IKRG9tMCwgYnV0IGl0IHJlcXVpcmVz IHNlcGFyYXRlIGhhbmRsaW5nIGZvciBidWZmZXJzIGFsbG9jYXRlZCBmcm9tCnRoYXQgcmVnaW9u LiBUaHVzLCBpdCBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LgoKU2lnbmVkLW9mZi1ieTogVm9sb2R5 bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPgotLS0KCiBBbGwgdGhlIHBh dGNoZXMgdG8gb3B0ZWUuYyBzaG91bGQgYmUgbWVyZ2VkIHRvZ2V0aGVyLiBUaGV5IHdlcmUKIHNw bGl0IHRvIGVhc2UgdXAgcmV2aWV3LiBCdXQgdGhleSBkZXBlbmQgaGVhdmlseSBvbiBlYWNoIG90 aGVyLgoKQ2hhbmdlcyBmcm9tIHY0OgogIC0gSGFuZGxlciBkb2VzIG5vdCB1c2UgZm9yd2FyZF9j YWxsKCkuIEluc3RlYWQgaXQgY2FsbHMgT1AtVEVFCiAgICBkaXJlY3RseSB3aXRoIGFybV9zbWNj Y19zbWMoKS4KICAtIEhhbmRsZXIgbW9kaWZpZXMgb25seSB0aG9zZSBndWVzdCByZWdpc3RlcnMg dGhhdCBhcmUgc2hvdWxkCiAgICBiZSB0b3VjaGVkIGFjY29yZGluZyB0byBPUC1URUUgcHJvdG9j b2wgc3BlY2lmaWNhdGlvbi4KICAtIEFkZGVkIE9QVEVFX01FRElBVE9SX1NNQ19DT1VOVCBkZWZp bml0aW9uLgoKQ2hhbmdlcyBmcm9tIHYyOgogIC0gRGVmaW5lZCBrbm93biBjYXBhYmlsaXRpZXMg ZXhwbGljaXRseQogIC0gRml4ZWQgY29kZSBzdHlsZQotLS0KIHhlbi9hcmNoL2FybS90ZWUvb3B0 ZWUuYyB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Rl ZS9vcHRlZS5jIGIveGVuL2FyY2gvYXJtL3RlZS9vcHRlZS5jCmluZGV4IGU5YjY5YmQyZDIuLjZj NTFjYWE0MWEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYworKysgYi94ZW4v YXJjaC9hcm0vdGVlL29wdGVlLmMKQEAgLTMyLDkgKzMyLDE3IEBACiAjaW5jbHVkZSA8YXNtL3Rl ZS9vcHRlZV9tc2cuaD4KICNpbmNsdWRlIDxhc20vdGVlL29wdGVlX3NtYy5oPgogCisvKiBOdW1i ZXIgb2YgU01DcyBrbm93biB0byB0aGUgbWVkaWF0b3IgKi8KKyNkZWZpbmUgT1BURUVfTUVESUFU T1JfU01DX0NPVU5UICAgMTEKKwogLyogQ2xpZW50IElEIDAgaXMgcmVzZXJ2ZWQgZm9yIHRoZSBo eXBlcnZpc29yIGl0c2VsZiAqLwogI2RlZmluZSBPUFRFRV9DTElFTlRfSUQoZG9tYWluKSAoKGRv bWFpbiktPmRvbWFpbl9pZCArIDEpCiAKKyNkZWZpbmUgT1BURUVfS05PV05fTlNFQ19DQVBTIE9Q VEVFX1NNQ19OU0VDX0NBUF9VTklQUk9DRVNTT1IKKyNkZWZpbmUgT1BURUVfS05PV05fU0VDX0NB UFMgKE9QVEVFX1NNQ19TRUNfQ0FQX0hBVkVfUkVTRVJWRURfU0hNIHwgXAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT1BURUVfU01DX1NFQ19DQVBfVU5SRUdJU1RFUkVEX1NITSB8IFwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QVEVFX1NNQ19TRUNfQ0FQX0RZTkFNSUNf U0hNKQorCiAvKiBEb21haW4gY29udGV4dCAqLwogc3RydWN0IG9wdGVlX2RvbWFpbiB7CiB9OwpA QCAtMTIwLDIyICsxMjgsMTExIEBAIHN0YXRpYyBpbnQgb3B0ZWVfcmVsaW5xdWlzaF9yZXNvdXJj ZXMoc3RydWN0IGRvbWFpbiAqZCkKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgaGFu ZGxlX2V4Y2hhbmdlX2NhcGFiaWxpdGllcyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sK KyAgICBzdHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXNwOworICAgIHVpbnQzMl90IGNhcHM7CisKKyAg ICAvKiBGaWx0ZXIgb3V0IHVua25vd24gZ3Vlc3QgY2FwcyAqLworICAgIGNhcHMgPSBnZXRfdXNl cl9yZWcocmVncywgMSk7CisgICAgY2FwcyAmPSBPUFRFRV9LTk9XTl9OU0VDX0NBUFM7CisKKyAg ICBhcm1fc21jY2Nfc21jKE9QVEVFX1NNQ19FWENIQU5HRV9DQVBBQklMSVRJRVMsIGNhcHMsIDAs IDAsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICBPUFRFRV9DTElFTlRfSUQoY3VycmVudC0+ ZG9tYWluKSwgJnJlc3ApOworICAgIGlmICggcmVzcC5hMCAhPSBPUFRFRV9TTUNfUkVUVVJOX09L ICkgeworICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMCwgcmVzcC5hMCk7CisgICAgICAgIHJl dHVybjsKKyAgICB9CisKKyAgICBjYXBzID0gcmVzcC5hMTsKKworICAgIC8qIEZpbHRlciBvdXQg dW5rbm93biBPUC1URUUgY2FwcyAqLworICAgIGNhcHMgJj0gT1BURUVfS05PV05fU0VDX0NBUFM7 CisKKyAgICAvKiBEcm9wIHN0YXRpYyBTSE1fUlBDIGNhcCAqLworICAgIGNhcHMgJj0gfk9QVEVF X1NNQ19TRUNfQ0FQX0hBVkVfUkVTRVJWRURfU0hNOworCisgICAgLyogRG9uJ3QgYWxsb3cgZ3Vl c3RzIHRvIHdvcmsgd2l0aG91dCBkeW5hbWljIFNITSAqLworICAgIGlmICggIShjYXBzICYgT1BU RUVfU01DX1NFQ19DQVBfRFlOQU1JQ19TSE0pICkKKyAgICB7CisgICAgICAgIHNldF91c2VyX3Jl ZyhyZWdzLCAwLCBPUFRFRV9TTUNfUkVUVVJOX0VOT1RBVkFJTCk7CisgICAgICAgIHJldHVybjsK KyAgICB9CisKKyAgICBzZXRfdXNlcl9yZWcocmVncywgMCwgT1BURUVfU01DX1JFVFVSTl9PSyk7 CisgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIDEsIGNhcHMpOworfQorCiBzdGF0aWMgYm9vbCBvcHRl ZV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKKyAgICBzdHJ1Y3Qg YXJtX3NtY2NjX3JlcyByZXNwOworCiAgICAgaWYgKCAhY3VycmVudC0+ZG9tYWluLT5hcmNoLnRl ZSApCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHN3aXRjaCAoIGdldF91c2VyX3JlZyhy ZWdzLCAwKSApCiAgICAgewogICAgIGNhc2UgT1BURUVfU01DX0NBTExTX0NPVU5UOgorICAgICAg ICBzZXRfdXNlcl9yZWcocmVncywgMCwgT1BURUVfTUVESUFUT1JfU01DX0NPVU5UKTsKKyAgICAg ICAgcmV0dXJuIHRydWU7CisKICAgICBjYXNlIE9QVEVFX1NNQ19DQUxMU19VSUQ6CisgICAgICAg IGFybV9zbWNjY19zbWMoT1BURUVfU01DX0NBTExTX1VJRCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAg ICAgICAgICAgICAgICAgICAgICBPUFRFRV9DTElFTlRfSUQoY3VycmVudC0+ZG9tYWluKSwgJnJl c3ApOworICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMCwgcmVzcC5hMCk7CisgICAgICAgIHNl dF91c2VyX3JlZyhyZWdzLCAxLCByZXNwLmExKTsKKyAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3Ms IDIsIHJlc3AuYTIpOworICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMywgcmVzcC5hMyk7Cisg ICAgICAgIHJldHVybiB0cnVlOworCiAgICAgY2FzZSBPUFRFRV9TTUNfQ0FMTFNfUkVWSVNJT046 CisgICAgICAgIGFybV9zbWNjY19zbWMoT1BURUVfU01DX0NBTExTX1JFVklTSU9OLCAwLCAwLCAw LCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgIE9QVEVFX0NMSUVOVF9JRChjdXJyZW50 LT5kb21haW4pLCAmcmVzcCk7CisgICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCAwLCByZXNwLmEw KTsKKyAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIDEsIHJlc3AuYTEpOworICAgICAgICByZXR1 cm4gdHJ1ZTsKKwogICAgIGNhc2UgT1BURUVfU01DX0NBTExfR0VUX09TX1VVSUQ6CisgICAgICAg IGFybV9zbWNjY19zbWMoT1BURUVfU01DX0NBTExfR0VUX09TX1VVSUQsIDAsIDAsIDAsIDAsIDAs IDAsCisgICAgICAgICAgICAgICAgICAgICAgT1BURUVfQ0xJRU5UX0lEKGN1cnJlbnQtPmRvbWFp biksJnJlc3ApOworICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMCwgcmVzcC5hMCk7CisgICAg ICAgIHNldF91c2VyX3JlZyhyZWdzLCAxLCByZXNwLmExKTsKKyAgICAgICAgc2V0X3VzZXJfcmVn KHJlZ3MsIDIsIHJlc3AuYTIpOworICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMywgcmVzcC5h Myk7CisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgY2FzZSBPUFRFRV9TTUNfQ0FMTF9HRVRf T1NfUkVWSVNJT046CisgICAgICAgIGFybV9zbWNjY19zbWMoT1BURUVfU01DX0NBTExfR0VUX09T X1JFVklTSU9OLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgIE9QVEVF X0NMSUVOVF9JRChjdXJyZW50LT5kb21haW4pLCAmcmVzcCk7CisgICAgICAgIHNldF91c2VyX3Jl ZyhyZWdzLCAwLCByZXNwLmEwKTsKKyAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIDEsIHJlc3Au YTEpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGNhc2UgT1BURUVfU01DX0VOQUJMRV9T SE1fQ0FDSEU6CisgICAgICAgIGFybV9zbWNjY19zbWMoT1BURUVfU01DX0VOQUJMRV9TSE1fQ0FD SEUsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgT1BURUVfQ0xJRU5U X0lEKGN1cnJlbnQtPmRvbWFpbiksICZyZXNwKTsKKyAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3Ms IDAsIHJlc3AuYTApOworICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGNhc2UgT1BURUVfU01D X0RJU0FCTEVfU0hNX0NBQ0hFOgorICAgICAgICBhcm1fc21jY2Nfc21jKE9QVEVFX1NNQ19FTkFC TEVfU0hNX0NBQ0hFLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgIE9Q VEVFX0NMSUVOVF9JRChjdXJyZW50LT5kb21haW4pLCAmcmVzcCk7CisgICAgICAgIHNldF91c2Vy X3JlZyhyZWdzLCAwLCByZXNwLmEwKTsKKyAgICAgICAgaWYgKCByZXNwLmEwID09IE9QVEVFX1NN Q19SRVRVUk5fT0sgKSB7CisgICAgICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMSwgcmVzcC5h MSk7CisgICAgICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMiwgcmVzcC5hMik7CisgICAgICAg IH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBjYXNlIE9QVEVFX1NNQ19HRVRfU0hNX0NP TkZJRzoKKyAgICAgICAgLyogTm8gc3RhdGljIFNITSBhdmFpbGFibGUgZm9yIGd1ZXN0cyAqLwor ICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgMCwgT1BURUVfU01DX1JFVFVSTl9FTk9UQVZBSUwp OworICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGNhc2UgT1BURUVfU01DX0VYQ0hBTkdFX0NB UEFCSUxJVElFUzoKKyAgICAgICAgaGFuZGxlX2V4Y2hhbmdlX2NhcGFiaWxpdGllcyhyZWdzKTsK KyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBjYXNlIE9QVEVFX1NNQ19DQUxMX1dJVEhfQVJH OgogICAgIGNhc2UgT1BURUVfU01DX0NBTExfUkVUVVJOX0ZST01fUlBDOgogICAgICAgICBzZXRf dXNlcl9yZWcocmVncywgMCwgT1BURUVfU01DX1JFVFVSTl9FTk9UQVZBSUwpOwotLSAKMi4yMS4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs